${
PNS 3x2-matriisille
#CODEBASE = "http://www.joensuu.fi/matematiikka/java/javasketchpad"
$}
#CODE = "GSP.class"
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 806
#HEIGHT = 420
#ALIGN = Center
*Frame = 1
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*LabelFont = "Courier"
*LabelBold = 1
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*Backblue = 255
*BackGreen = 255
*Backred = 255
${
$x1T FixedText(410, 360,'x1')[ plain, font('Helvetica'), bold, red, justifyCenter];
$x2T FixedText(765, 300,'x2')[ plain, font('Helvetica'), bold, blue, justifyCenter];
$x3T FixedText(588, 10,'x3')[ plain, font('Helvetica'), bold, color(0,150,0), justifyCenter];
$}
${
Dividing vertical segment
$UpperPt2 FixedPoint(750, 20)[hidden];
$LowerPt2 FixedPoint(750,520)[hidden];
$VLine2 Segment($UpperPt2,$LowerPt2)[black,thick];
$}
$UpperPt FixedPoint(400,100)[hidden];
$LowerPt FixedPoint(400,420)[hidden];
$VLine Segment($UpperPt,$LowerPt)[black,thick];
$reset FixedText(720, 15, 'Reset=''R''')[red,bold,justifyLeft];
$AText FixedText(50, 35, 'A')[black,bold,justifyCenter];
$xText FixedText(113, 35, 'x')[black,bold,justifyCenter];
$AxText FixedText(170, 35, 'Ax = b''')[black,bold,justifyCenter,hidden];
$x1Text FixedText(115, 57, 'x1')[black,bold,justifyCenter];
$x2Text FixedText(115, 75, 'x2')[black,bold,justifyCenter];
$eqsign FixedText(133, 65, '=')[black,bold,justifyCenter];
$bText FixedText(220, 35, 'b')[black,bold,justifyCenter];
${
Lähtötaso R2
$}
$OrigoR2 FixedPoint(200,200)[black, bold, label('0')];
$xykkR2 UnitPoint($OrigoR2, 50)[white, bold, label('1'),hidden];
$xykkR2seen Translation($xykkR2, 0,0)[plain, white, bold, label('1')];
$coord Origin&Unit($OrigoR2,$xykkR2)[hidden];
$XaxR2 AxisX($coord)[black,hidden];
$YaxR2 AxisY($coord)[black,hidden];
$LEx FixedPoint( 5,200)[hidden];
$REx FixedPoint(395,200)[hidden];
$XaxVis Segment($LEx,$REx)[black];
$UEy FixedPoint(200,85)[hidden];
$LEy FixedPoint(200,380)[hidden];
$YaxVis Segment($UEy,$LEy)[black];
$yykkR2 Translation($OrigoR2,0,-50)[plain, white, bold, label('1')];
$x1x2 Point(300,300)[red,label('x')];
$SOx1x2 Segment($OrigoR2,$x1x2)[black];
$x1Parx2 Parallel($YaxR2,$x1x2)[blue,hidden];
$Rptx1 Intersect($XaxR2,$x1Parx2)[black, label('x1')];
$Sx1x2x1 Segment($x1x2,$Rptx1)[blue];
$x1 Ratio/Points($OrigoR2,$xykkR2,$Rptx1,0,120,'x1 = ')[black];
$x2Parx2 Parallel($XaxR2,$x1x2)[red,hidden];
$Rptx2 Intersect($YaxR2,$x2Parx2)[black, label('x2')];
$Sx1x2x2 Segment($x1x2,$Rptx2)[red];
$x2 Ratio/Points($OrigoR2,$yykkR2,$Rptx2,0,140,'x2 = ')[black];
${
The real lines for A columns
$}
$LUpp FixedPoint(0,380)[hidden];
$LLow FixedPoint(0,420)[hidden];
$RLow FixedPoint(400,420)[hidden];
$RUpp FixedPoint(400,380)[hidden];
$ULine Line($LUpp,$RUpp)[black, hidden];
$RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow, hidden];
$ROa1 FixedPoint(200,390)[black,label('0'), hidden];
$Refa1 Translation($ROa1,25,0)[hidden];
$Raya1 Ray($Refa1,$ROa1)[black, hidden];
$Rykka1 Point on object($Raya1,1)[white, label('1'), hidden];
$R1a1 FixedPoint(225,390)[white,label('1'), hidden];
$RLa1 Line($Rykka1,$ROa1)[black, hidden];
$LE1 FixedPoint(0,390)[hidden];
$RE1 FixedPoint(400,390)[hidden];
$SRLa1 Segment($LE1,$RE1)[black,hidden];
$ROa2 FixedPoint(200,405)[black,label('0'), hidden];
$Refa2 Translation($ROa2,25,0)[hidden];
$Raya2 Ray($Refa2,$ROa2)[black, hidden];
$Rykka2 Point on object($Raya2,1)[white, label('1'), hidden];
$R1a2 FixedPoint(225,405)[white,label('1'), hidden];
$RLa2 Line($Rykka2,$ROa2)[black, hidden];
$LE2 FixedPoint(0,405)[hidden];
$RE2 FixedPoint(400,405)[hidden];
$SRLa2 Segment($LE2,$RE2)[black,hidden];
${
The real b line
$LbUpp FixedPoint(772,0)[hidden];
$LbLow FixedPoint(772,386)[hidden];
$RbLow FixedPoint(806,386)[hidden];
$RbUpp FixedPoint(806,0)[hidden];
$UbLine Line($LUpp,$RUpp)[black, hidden];
$Rectb Polygon($LbUpp,$LbLow,$RbLow,$RbUpp,$LbUpp)[color(200,240,200), hidden];
$ROb FixedPoint(780,200)[black,label('0'), hidden];
$Refb Translation($ROb,0,25)[hidden];
$Rayb Ray($Refb,$ROb)[black, hidden];
$Rykkb Point on object($Rayb,1)[white, label('1'), hidden];
$R1b FixedPoint(780,175)[white,label('1'), hidden];
$RLb Line($Rykkb,$ROb)[black, hidden];
$bUp FixedPoint(780,0)[hidden];
$bLo FixedPoint(780,385)[hidden];
$SLb Segment($bUp,$bLo)[black,hidden];
$Rptb1 Point on object($RLb,-4)[label('b1'), red, layer(10), hidden];
$b1 Ratio/Points($ROb,$Rykkb,$Rptb1,205,50,'')[red];
$Rptb2 Point on object($RLb,4)[label('b2'), blue, layer(10), hidden];
$b2 Ratio/Points($ROb,$Rykkb,$Rptb2,205,65,'')[blue];
$Rptb3 Point on object($RLb,2)[label('b3'), color(0,150,0), layer(10), hidden];
$b3 Ratio/Points($ROb,$Rykkb,$Rptb3,205,80,'')[color(0,150,0)];
$}
${
The virtual space
$}
$OrigoR3 FixedPoint(600,210)[black, label('0')];
$xykkRef Point(580,220)[red, hidden];
$yykkRef Point(625,215)[blue, hidden];
$zykkRef Point(600,190)[green,hidden];
$xRay Ray($xykkRef,$OrigoR3)[ hidden];
$xykk Point on object( $xRay,1)[ white, label('1')];
$xRL Line($xykk,$OrigoR3)[ red,hidden];
$yRay Ray($yykkRef,$OrigoR3)[ hidden];
$yykk Point on object( $yRay,1)[ white, label('1')];
$yRL Line($yykk,$OrigoR3)[ blue,hidden];
$zRay Ray($zykkRef,$OrigoR3)[ hidden];
$zykk Point on object( $zRay,1)[ white, label('1')];
$zRL Line($zykk,$OrigoR3)[color(0,150,0),hidden];
$zUp FixedPoint(600,0)[hidden];
$zLo FixedPoint(600,385)[hidden];
$zvisib Segment($zUp,$zLo)[color(0,150,0),hidden];
$xM Point on object($xRL,-7)[red];
$xP Point on object($xRL, 7)[red];
$Imx1 ImageOnPoint($xP, '../Projektiot/images/x1.gif');
$xRLvis Segment($xM,$xP)[red];
$yM Point on object($yRL,-7)[blue];
$yP Point on object($yRL, 7)[blue];
$Imx2 ImageOnPoint($yP, '../Projektiot/images/x2.gif');
$yRLvis Segment($yM,$yP)[blue];
$zM Point on object($zRL,-10)[color(0,150,0)];
$zP Point on object($zRL, 10)[color(0,150,0)];
$Imx3 ImageOnPoint($zP, '../Projektiot/images/x3.gif');
$zRLvis Segment($zM,$zP)[color(0,150,0)];
$xb1 Point on object($xRL,-3)[label('b1'), red, layer(10)];
$b1 Ratio/Points($OrigoR3,$xykk,$xb1,205,50,'')[red];
$yb2 Point on object($yRL,3)[label('b2'), blue, layer(10)];
$b2 Ratio/Points($OrigoR3,$yykk,$yb2,205,65,'')[blue];
$zb3 Point on object($zRL,2)[label('b3'), color(0,150,0), layer(10)];
$b3 Ratio/Points($OrigoR3,$zykk,$zb3,205,80,'')[color(0,150,0)];
${
$xb1 Dilation/3PtRatio($xykk,$OrigoR3,$ROb,$Rykkb,$Rptb1)[red, label('b1')];
$yb2 Dilation/3PtRatio($yykk,$OrigoR3,$ROb,$Rykkb,$Rptb2)[blue, label('b2')];
$zb3 Dilation/3PtRatio($zykk,$OrigoR3,$ROb,$Rykkb,$Rptb3)[color(0,150,0), label('b3')];
$}
$b1b2 VectorTranslation($xb1,$OrigoR3,$yb2)[magenta, label('(b1,b2)')];
$Sb1b2x Segment($xb1,$b1b2)[blue];
$Sb1b2y Segment($yb2,$b1b2)[red];
$SOb1b2 Segment($OrigoR3,$b1b2)[magenta];
$b VectorTranslation($b1b2,$OrigoR3,$zb3)[black, label('b')];
$Sbb1b2 Segment($b1b2,$b)[color(0,150,0)];
$Sbb3 Segment($zb3,$b)[black];
$SOb Segment($OrigoR3,$b)[black,thick];
$Rpta11 Point on object($RLa1,4)[label('a11'), red, layer(10),hidden];
$a11 Ratio/Points($ROa1,$Rykka1,$Rpta11,0,50,'')[red];
$Rpta21 Point on object($RLa1,0)[label('a21'), blue, layer(10),hidden];
$a21 Ratio/Points($ROa1,$Rykka1,$Rpta21,0,65,'')[blue];
$Rpta31 Point on object($RLa1,0)[label('a31'),color(0,150,0), layer(10),hidden];
$a31 Ratio/Points($ROa1,$Rykka1,$Rpta31,0,80,'')[color(0,150,0)];
$Rpta12 Point on object($RLa2,0)[label('a12'), red, layer(10),hidden];
$a12 Ratio/Points($ROa2,$Rykka2,$Rpta12,52,50,'')[red];
$Rpta22 Point on object($RLa2,4)[label('a22'),blue, layer(10),hidden];
$a22 Ratio/Points($ROa2,$Rykka2,$Rpta22,52,65,'')[blue];
$Rpta32 Point on object($RLa2,0)[label('a32'),color(0,150,0), layer(10),hidden];
$a32 Ratio/Points($ROa2,$Rykka2,$Rpta32,52,80,'')[color(0,150,0)];
${
the space vectors ALKAA UUSI
$}
$u1 Dilation/3PtRatio($xykk,$OrigoR3,$ROa1,$Rykka1,$Rpta11)[red, label('a11'),hidden];
$u2 Dilation/3PtRatio($yykk,$OrigoR3,$ROa1,$Rykka1,$Rpta21)[blue, label('a21'),hidden];
$u3 Dilation/3PtRatio($zykk,$OrigoR3,$ROa1,$Rykka1,$Rpta31)[color(0,150,0), label('a31'),hidden];
$u1u2 VectorTranslation($u1,$OrigoR3,$u2)[magenta, label('(a11,a21)'),hidden];
$Su1u2x Segment($u1,$u1u2)[blue,hidden];
$Su1u2y Segment($u2,$u1u2)[red,hidden];
$SOu1u2 Segment($OrigoR3,$u1u2)[magenta,hidden];
$U VectorTranslation($u1u2,$OrigoR3,$u3)[color(255,168,17), label('a1')];
$SUu1u2 Segment($u1u2,$U)[color(0,150,0),hidden];
$SOU Segment($OrigoR3,$U)[color(255,168,17),thick];
$SUu3 Segment($u3,$U)[magenta,hidden];
$v1 Dilation/3PtRatio($xykk,$OrigoR3,$ROa2,$Rykka2,$Rpta12)[red, label('a12'),hidden];
$v2 Dilation/3PtRatio($yykk,$OrigoR3,$ROa2,$Rykka2,$Rpta22)[blue, label('a22'),hidden];
$v3 Dilation/3PtRatio($zykk,$OrigoR3,$ROa2,$Rykka2,$Rpta32)[color(0,150,0), label('a32'),hidden];
$v1v2 VectorTranslation($v1,$OrigoR3,$v2)[magenta, label('(a12,a22)'),hidden];
$Sv1v2x Segment($v1,$v1v2)[blue,hidden];
$Sv1v2y Segment($v2,$v1v2)[red,hidden];
$SOv1v2 Segment($OrigoR3,$v1v2)[magenta,hidden];
$V VectorTranslation($v1v2,$OrigoR3,$v3)[color(255,168,17), label('a2')];
$SVv1v2 Segment($v1v2,$V)[color(0,150,0),hidden];
$SOV Segment($OrigoR3,$V)[color(255,168,17),thick];
$SVv3 Segment($v3,$V)[magenta,hidden];
${
The UV-plane
$}
$UplusV VectorTranslation($U,$OrigoR3,$V)[hidden];
$PlPol Polygon($OrigoR3,$U,$UplusV,$V)[yellow,layer(14)];
$UminusV VectorTranslation($U,$V,$OrigoR3)[hidden];
$UminusV VectorTranslation($U,$V,$OrigoR3)[hidden];
$VminusU VectorTranslation($V,$U,$OrigoR3)[hidden];
$minusUplusV VectorTranslation($VminusU,$UplusV,$UminusV)[hidden];
$PUV Polygon($UplusV,$VminusU,$minusUplusV,$UminusV)[color(236,245,175),layer(5)];
${
The scalar products
$}
$a1x Calculate(145, 50,'','AB* CD* +')($a11,$x1,$a12,$x2)[red,hidden];
$a2x Calculate(145, 65,'','AB* CD* +')($a21,$x1,$a22,$x2)[blue,hidden];
$a3x Calculate(145, 80,'','AB* CD* +')($a31,$x1,$a32,$x2)[color(0,150,0),hidden];
$RptAx1 Dilation/MarkedRatio($xykk,$OrigoR3,$a1x)[red,label('b1'''),hidden];
$RptAx2 Dilation/MarkedRatio($yykk,$OrigoR3,$a2x)[blue,label('b2'''),hidden];
$RptAx3 Dilation/MarkedRatio($zykk,$OrigoR3,$a3x)[color(0,150,0),label('b3'''),hidden];
$SOR3RptAx1 Segment($RptAx1,$OrigoR3)[red,hidden];
$SOR3RptAx2 Segment($RptAx2,$OrigoR3)[blue,hidden];
$b1b2pr VectorTranslation($RptAx1,$OrigoR3,$RptAx2)[magenta, label('(b1'',b2'')'),hidden];
$Sb1b2pr1 Segment($RptAx1,$b1b2pr)[blue,hidden];
$Sb1b2pr2 Segment($RptAx2,$b1b2pr)[red,hidden];
$SOb1b2pr Segment($OrigoR3,$b1b2pr)[magenta,hidden];
$bpr VectorTranslation($b1b2pr,$OrigoR3,$RptAx3)[color(120,60,0), label('b'''),hidden];
$Sbb1b2pr Segment($b1b2pr,$bpr)[color(0,150,0),hidden];
$SObpr Segment($OrigoR3,$bpr)[color(120,60,0),thick,hidden];
$xa1 Dilation/MarkedRatio($U,$OrigoR3,$x1)[color(120,60,0),hidden];
$SOxa1 Segment($OrigoR3,$xa1)[color(120,60,0),layer(30),hidden];
$Sxa1bpr Segment($xa1,$bpr)[color(120,60,0),hidden];
$xa2 Dilation/MarkedRatio($V,$OrigoR3,$x2)[color(120,60,0),hidden];
$SOxa2 Segment($OrigoR3,$xa2)[color(120,60,0),layer(30),hidden];
$Sxa2bpr Segment($xa2,$bpr)[color(120,60,0),hidden];
${
The least squares solution X
$}
$A Calculate(205, 10,'A = ','A2^ B2^ + C2^ +')($a11,$a21,$a31)[black,hidden];
$B Calculate(205, 25,'B = ','AD* BE* + CF* +')($a11,$a21,$a31,$a12,$a22,$a32)[black,hidden];
$C Calculate(205, 40,'C = ','A2^ B2^ + C2^ +')($a12,$a22,$a32)[black,hidden];
$D Calculate(205, 55,'D = ','AD* BE* + CF* +')($a11,$a21,$a31,$b1,$b2,$b3)[black,hidden];
$E Calculate(205, 70,'E = ','AD* BE* + CF* +')($a12,$a22,$a32,$b1,$b2,$b3)[black,hidden];
$det Calculate(205, 85,'det = ','AC* BB* -')($A,$B,$C)[black,hidden];
$X1 Calculate(100,120,'X1 = ','AD* BC* - E /')($D,$B,$E,$C,$det)[black,hidden];
$X2 Calculate(100,140,'X2 = ','AD* BC* - E /')($A,$D,$B,$E,$det)[black,hidden];
$RptX1 Dilation/MarkedRatio($xykkR2,$OrigoR2,$X1)[black, label('X1'),hidden];
$RptX2 Dilation/MarkedRatio($yykkR2,$OrigoR2,$X2)[black,label('X2'),hidden];
$X VectorTranslation($RptX1,$OrigoR2,$RptX2)[magenta, label('X'),hidden];
$Xtr VectorTranslation($RptX1,$OrigoR2,$RptX2)[magenta, label('X'),hidden,traced];
$SXX1 Segment($RptX1,$X)[blue,hidden];
$SXX2 Segment($RptX2,$X)[red,hidden];
$SOX Segment($OrigoR2,$X)[magenta,hidden];
$ALeUp FixedPoint(0,38)[hidden];
$ARiUp FixedPoint(100,38)[hidden];
$ARiLo FixedPoint(100,85)[hidden];
$ALeLo FixedPoint( 0,85)[hidden];
$APol Polygon($ALeUp,$ARiUp,$ARiLo,$ALeLo)[yellow];
$xLeUp FixedPoint(103,45)[hidden];
$xRiUp FixedPoint(125,45)[hidden];
$xRiLo FixedPoint(125,78)[hidden];
$xLeLo FixedPoint(103,78)[hidden];
$xPol Polygon($xLeUp,$xRiUp,$xRiLo,$xLeLo)[color(220,220,220)];
$xLeUp2 FixedPoint( 0,110)[hidden];
$xRiUp2 FixedPoint(87,110)[hidden];
$xRiLo2 FixedPoint(87,142)[hidden];
$xLeLo2 FixedPoint( 0,142)[hidden];
$xPol2 Polygon($xLeUp2,$xRiUp2,$xRiLo2,$xLeLo2)[color(220,220,220)];
$bprLeUp FixedPoint(140,38)[hidden];
$bprRiUp FixedPoint(198,38)[hidden];
$bprRiLo FixedPoint(198,85)[hidden];
$bprLeLo FixedPoint(140,85)[hidden];
$bprPol Polygon($bprLeUp,$bprRiUp,$bprRiLo,$bprLeLo)[color(240,200,200),hidden];
$bLeUp FixedPoint(202,38)[hidden];
$bRiUp FixedPoint(250,38)[hidden];
$bRiLo FixedPoint(250,85)[hidden];
$bLeLo FixedPoint(202,85)[hidden];
$bPol Polygon($bLeUp,$bRiUp,$bRiLo,$bLeLo)[color(200,240,200)];
$ObPolprPlane Polygon($OrigoR3,$xa1,$bpr,$xa2,$OrigoR3)[color(200,150,100),layer(15),hidden];
$ObPol Polygon($OrigoR3,$b, $b1b2, $OrigoR3)[color(200,240,200),layer(20)];
$ObPolpr Polygon($OrigoR3,$bpr,$b1b2pr,$OrigoR3)[color(240,200,200),layer(19),hidden];
${
$SBx ShowButton( 0,87,'Try x')($x1x2,$SOx1x2,$Rptx1,$Sx1x2x1,$x1,$Rptx2,$Sx1x2x2,$x2,$xPol2)[red,bold];
$HBx HideButton(42,88,'Hide')( $x1x2,$SOx1x2,$Rptx1,$Sx1x2x1,$x1,$Rptx2,$Sx1x2x2,$x2,$xPol2)[red];
$}
$SBXtr ShowButton( 0,160,'Trace X')($Xtr)[blue,hidden];
$HBXtr HideButton(60,160,'Stop')($Xtr)[blue,hidden];
$SBX ShowButton(100,87,'LSQR X')($X1,$X2,$RptX1,$RptX2,$X,$SXX1,$SXX2,$SOX,$SBXtr,$HBXtr)[magenta,bold];
$SBX HideButton(163,88,'Hide')( $X1,$X2,$RptX1,$RptX2,$X,$SXX1,$SXX2,$SOX,$SBXtr,$HBXtr)[magenta];
$SBRL ShowButton( 0,365,'Change A')($ROa1,$ROa2,$R1a1,$R1a2,$SRLa1,$SRLa2,$Rpta11,$Rpta12,$Rpta21,$Rpta22,$Rpta31,$Rpta32,$RectA)[black,bold];
$HBRL HideButton(72,366,'Fix')( $ROa1,$ROa2,$R1a1,$R1a2,$SRLa1,$SRLa2,$Rpta11,$Rpta12,$Rpta21,$Rpta22,$Rpta31,$Rpta32,$RectA)[black];
${
$SBRLb ShowButton(278,364,'Change b')($ROb,$R1b,$SLb,$Rptb1,$Rptb2,$Rptb3,$Rectb)[black,bold];
$HBRLb HideButton(346,365,'Fix')( $ROb,$R1b,$SLb,$Rptb1,$Rptb2,$Rptb3,$Rectb)[black];
$}
$SRes Segment($b,$bpr)[blue,thick,hidden];
$Res Calculate(270, 80,'|Ax-b| = ','AB- 2^ CD- 2^ + EF- 2^ + @sqrt')($b1,$a1x,$b2,$a2x,$b3,$a3x)[blue,hidden];
$SBRes ShowButton(270,40,'Residual')($Res,$SRes,$AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$bpr,$SObpr)[blue,bold];
$HBRes HideButton(335,40,'Hide')( $Res,$SRes)[blue];
$SBAx ShowButton(125,0,'b'' = Ax')($AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$bpr,$SObpr)[color(230,140,140),bold];
$HBAx HideButton(180,0,'Hide')( $AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$bpr,$SObpr,$b1b2pr,$Sb1b2pr1,$Sb1b2pr2,$SOb1b2pr,$Sbb1b2pr,$ObPolpr,$xa1,$SOxa1,$Sxa1bpr,$xa2,$SOxa2,$bpr,$SObpr,$Sxa2bpr,$SRes,$Res)[color(230,140,140)];
$SBAxInSpace ShowButton(220,0,'b'' = Ax in space')($AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$b1b2pr,$Sb1b2pr1,$Sb1b2pr2,$SOb1b2pr,$bpr,$SObpr,$Sbb1b2pr,$ObPolpr,$SOR3RptAx1,$SOR3RptAx2)[color(230,140,140),bold];
$HBAx HideButton(328,0,'Hide')( $b1b2pr,$Sb1b2pr1,$Sb1b2pr2,$SOb1b2pr,$Sbb1b2pr,$ObPolpr,$SOR3RptAx1,$SOR3RptAx2)[color(230,140,140)];
$SBAxInPlane ShowButton(365,0,'b'' = Ax in plane')($xa1,$SOxa1,$Sxa1bpr,$xa2,$SOxa2,$bpr,$SObpr,$Sxa2bpr,$ObPolprPlane)[color(120,60,0),bold];
$HBAxInPlane HideButton(472,0,'Hide')( $xa1,$SOxa1,$Sxa1bpr,$xa2,$SOxa2,$Sxa2bpr,$ObPolprPlane)[color(120,60,0)];
$SBeq ShowButton( 0,0,'Equation')($a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3,$AText,$xText,$x1Text,$x2Text,$eqsign,$bText,$APol,$xPol,$bPol)[black,bold];
$HBeq HideButton(65,0,'Hide')( $a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3,$AText,$xText,$x1Text,$x2Text,$eqsign,$bText,$APol,$xPol,$bPol)[black,bold];
|
Painonappuloiden avulla voi tuoda esiin ja piilottaa eräitä PNS-menetelmään
liittyviä asioita. Vektoria b' = Ax voidaan havainnollistaa
kahdessa ominaisuudessa: toisaalta kuva-avaruustasossa ja toisaalta
maaliavaruuden vektorina (nappulat ylärivissä).
|