{ Taala-JSP CODE FOR JSX CONVERSION 28.11.2019 MEP } { Muista täpättää LaTeX points: } { Lineaarialgebra: PNS-ratkaisu 3x2 2D-3D visualisointi } { JSX board name: PNSratkaisu3x2 } { JSX element id: pnsratkaisu3x2 } #CODE = "GSP.class" #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 800 #HEIGHT = 430 #ALIGN = Center *Frame = 1 *TextFont = "Courier" *TextBold = 0 *TextSize = 14 *LabelFont = "Courier" *LabelBold = 0 *LabelSize = 14 *MeasureFont = "Courier" *MeasureSize = 12 *MeasureBold = 0 *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]; $} { Dividing vertical segment ib the middle } $UpperPt FixedPoint(400,50)[hidden]; $LowerPt FixedPoint(400,430)[hidden]; $VLine Segment($UpperPt,$LowerPt)[black,thick]; $AText FixedText(65, 34, 'A')[black,bold,justifyCenter]; {,text('\\( A \\)')} $xText FixedText(165, 40, 'x')[black,bold,justifyCenter]; {,text('\\( \\mathbf{x}\\)')} $AxText FixedText(260, 34, 'Ax = b''')[black,bold,justifyCenter,hidden]; {,text('\\( A\\mathbf{x} = \\mathbf{b}'' \\)')} $x1Text FixedText(160, 60, 'x1')[black,bold,justifyCenter]; {,text('\\( xSUB{1} \\)')} $x2Text FixedText(160, 80, 'x2')[black,bold,justifyCenter]; {,text('\\( xSUB{2} \\)')} $eqsign FixedText(135, 65, '=')[black,bold,justifyCenter]; $bText FixedText(270, 34, 'b')[black,bold,justifyCenter]; {,text('\\( \\mathbf{b}\\)')} { 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]; {,arrowL} $UEy FixedPoint(200,85)[hidden]; $LEy FixedPoint(200,370)[hidden]; $YaxVis Segment($LEy,$UEy)[black]; {,arrowL} $yykkR2 Translation($OrigoR2,0,50)[plain, white, bold, label('1')]; $x1x2 Point(300,100)[red,label('x')]; {,label('\\mathbf{x}'),LabelAlign(5,5),highlight} $SOx1x2 Segment($OrigoR2,$x1x2)[magenta]; {,arrowL} $x1Parx2 Parallel($YaxR2,$x1x2)[blue,hidden]; $Rptx1 Intersect($XaxR2,$x1Parx2)[black, label('x1')]; {,label('xSUB{1}'),LabelAlign(5,5)} $Sx1x2x1 Segment($x1x2,$Rptx1)[blue]; {,dash(2)} $x1 Ratio/Points($OrigoR2,$xykkR2,$Rptx1,45,120,'')[black]; $x1text FixedText(80,125, 'x1 = ')[black]; {,text('\\( xSUB{1} \\ = \\)' )} $x2Parx2 Parallel($XaxR2,$x1x2)[red,hidden]; $Rptx2 Intersect($YaxR2,$x2Parx2)[black, label('x2')]; {,label('xSUB{2}'),LabelAlign(5,5)} $Sx1x2x2 Segment($x1x2,$Rptx2)[red]; {,dash(2)} $x2 Ratio/Points($OrigoR2,$yykkR2,$Rptx2,45,140,'')[black]; $x2text FixedText(80,145, 'x2 = ')[black]; {,text('\\( xSUB{2} \\ = \\)' )} { The real lines for A columns } $LUpp FixedPoint(0,370)[hidden]; $LLow FixedPoint(0,430)[hidden]; $RLow FixedPoint(400,430)[hidden]; $RUpp FixedPoint(400,370)[hidden]; $ULine Line($LUpp,$RUpp)[black, hidden]; $RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow, hidden]; $ROa1 FixedPoint(200,390)[black,label('0'), hidden]; {,labelAlign(-3,6)} $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]; {,labelAlign(-3,6)} $RLa1 Line($Rykka1,$ROa1)[black, hidden]; $LE1 FixedPoint(0,390)[hidden]; $RE1 FixedPoint(400,390)[hidden]; $SRLa1 Segment($LE1,$RE1)[black,hidden]; {,arrowL} $ROa2 FixedPoint(200,415)[black,label('0'), hidden]; {,labelAlign(-4,-12)} $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,415)[white,label('1'), hidden]; {,labelAlign(-4,-12)} $RLa2 Line($Rykka2,$ROa2)[black, hidden]; $LE2 FixedPoint(0,415)[hidden]; $RE2 FixedPoint(400,415)[hidden]; $SRLa2 Segment($LE2,$RE2)[black,hidden]; {,arrowL} ${ 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]; {,label('bSUB{1}'),LabelAlign(5,5),highlight} $b1 Ratio/Points($ROb,$Rykkb,$Rptb1,205,50,'')[red]; $Rptb2 Point on object($RLb,4)[label('b2'), blue, layer(10), hidden]; {,label('bSUB{2}'),LabelAlign(5,5),highlight} $b2 Ratio/Points($ROb,$Rykkb,$Rptb2,205,65,'')[blue]; $Rptb3 Point on object($RLb,2)[label('b3'), color(0,150,0), layer(10), hidden]; {,label('bSUB{3}'),LabelAlign(5,5),highlight} $b3 Ratio/Points($ROb,$Rykkb,$Rptb3,205,80,'')[color(0,150,0)]; $} { The virtual 3-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,-8)[red,hidden]; $xP Point on object($xRL, 8)[red,hidden]; $xRLvis Segment($xM,$xP)[red]; {,arrowL} $yM Point on object($yRL,-7)[blue,hidden]; $yP Point on object($yRL, 7)[blue,hidden]; $yRLvis Segment($yM,$yP)[blue]; {,arrowL} $zM Point on object($zRL,-10)[color(0,150,0),hidden]; $zP Point on object($zRL, 10)[color(0,150,0),hidden]; $zRLvis Segment($zM,$zP)[color(0,150,0)]; {,arrowL} $xb1 Point on object($xRL,-3)[label('b1'), red, layer(10)]; {,label('bSUB{1}'),LabelAlign(5,5),highlight} $b1 Ratio/Points($OrigoR3,$xykk,$xb1,205,50,'')[red]; $yb2 Point on object($yRL,3)[label('b2'), blue, layer(10)]; {,label('bSUB{2}'),LabelAlign(5,5),highlight} $b2 Ratio/Points($OrigoR3,$yykk,$yb2,205,65,'')[blue]; $zb3 Point on object($zRL,2)[label('b3'), color(0,150,0), layer(10)]; {,label('bSUB{3}'),LabelAlign(5,5),highlight} $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,0)')]; {,label('( bSUB{1},,bSUB{2},,0)'),LabelAlign(5,5)} $Sb1b2x Segment($xb1,$b1b2)[blue]; $Sb1b2y Segment($yb2,$b1b2)[red]; $SOb1b2 Segment($OrigoR3,$b1b2)[magenta]; $b VectorTranslation($b1b2,$OrigoR3,$zb3)[black, label('b')]; {,label('\\mathbf{b}'),LabelAlign(5,5)} $Sbb1b2 Segment($b1b2,$b)[color(0,150,0)]; $Sbb3 Segment($zb3,$b)[black]; $SOb Segment($OrigoR3,$b)[black,thick]; {,arrowL} $Rpta11 Point on object($RLa1,4)[label('a11'), red, layer(10),hidden]; {,label('aSUB{11}'), LabelAlign(-5,3), highlight} $a11 Ratio/Points($ROa1,$Rykka1,$Rpta11,5,50,'')[red]; $Rpta21 Point on object($RLa1,0)[label('a21'), blue, layer(10),hidden]; {,label('aSUB{21}'), LabelAlign(-5,7), highlight} $a21 Ratio/Points($ROa1,$Rykka1,$Rpta21,5,65,'')[blue]; $Rpta31 Point on object($RLa1,0)[label('a31'),color(0,150,0), layer(10),hidden]; {,label('aSUB{31}'), LabelAlign(-5,10), highlight} $a31 Ratio/Points($ROa1,$Rykka1,$Rpta31,5,80,'')[color(0,150,0)]; $Rpta12 Point on object($RLa2,0)[label('a12'), red, layer(10),hidden]; {,label('aSUB{12}'), LabelAlign(-5,3), highlight} $a12 Ratio/Points($ROa2,$Rykka2,$Rpta12,52,50,'')[red]; $Rpta22 Point on object($RLa2,4)[label('a22'),blue, layer(10),hidden]; {,label('aSUB{22}'), LabelAlign(-5,7), highlight} $a22 Ratio/Points($ROa2,$Rykka2,$Rpta22,52,65,'')[blue]; $Rpta32 Point on object($RLa2,0)[label('a32'),color(0,150,0), layer(10),hidden]; {,label('aSUB{32}'), LabelAlign(-5,10), highlight} $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')]; {,label('\\mathbf{a}SUB{1}'), LabelAlign(-5,7)} $SUu1u2 Segment($u1u2,$U)[color(0,150,0),hidden]; $SOU Segment($OrigoR3,$U)[color(255,168,17),thick]; {,arrowL} $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')]; {,label('\\mathbf{a}SUB{2}'), LabelAlign(-5,7)} $SVv1v2 Segment($v1v2,$V)[color(0,150,0),hidden]; $SOV Segment($OrigoR3,$V)[color(255,168,17),thick]; {,arrowL} $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]; {,label('( bSUB{1}'',bSUB{2}'',0)'),LabelAlign(5,5)} $Sb1b2pr1 Segment($RptAx1,$b1b2pr)[blue,hidden]; {,dash(1)} $Sb1b2pr2 Segment($RptAx2,$b1b2pr)[red,hidden]; {,dash(1)} $SOb1b2pr Segment($OrigoR3,$b1b2pr)[magenta,hidden]; $bpr VectorTranslation($b1b2pr,$OrigoR3,$RptAx3)[color(120,60,0), label('b'''),hidden]; {,label('\\mathbf{b}'''),LabelAlign(5,10)} $Sbb1b2pr Segment($b1b2pr,$bpr)[color(0,150,0),hidden]; {,dash(1)} $SObpr Segment($OrigoR3,$bpr)[color(120,60,0),thick,hidden]; {,arrowL} $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(140,120,'','AD* BC* - E /')($D,$B,$E,$C,$det)[black, hidden]; $X1text FixedText(195,120, '')[black, hidden]; {,text('\\( \\hat xSUB{1} \\ = \\)' )} $X2 Calculate(140,140,'','AD* BC* - E /')($A,$D,$B,$E,$det)[black, hidden]; $X2text FixedText(195,140, '')[black hidden]; {,text('\\( \\hat xSUB{2} \\ = \\)' )} $RptX1 Dilation/MarkedRatio($xykkR2,$OrigoR2,$X1)[black, label('X1'),hidden]; {,label('\\hat xSUB{1}')} $RptX2 Dilation/MarkedRatio($yykkR2,$OrigoR2,$X2)[black,label('X2'),hidden]; {,label('\\hat xSUB{2}')} $X VectorTranslation($RptX1,$OrigoR2,$RptX2)[magenta, label('X'),hidden]; {,label('\\hat{ \\mathbf{x}}')} $Xtr VectorTranslation($RptX1,$OrigoR2,$RptX2)[magenta, label('X'),hidden,traced]; {,label('\\hat{ \\mathbf{x}}')} $SXX1 Segment($RptX1,$X)[blue,hidden]; $SXX2 Segment($RptX2,$X)[red,hidden]; $SOX Segment($OrigoR2,$X)[magenta,hidden]; $ALeUp FixedPoint(0,42)[hidden]; $ARiUp FixedPoint(90,42)[hidden]; $ARiLo FixedPoint(90,90)[hidden]; $ALeLo FixedPoint( 0,90)[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,150)[hidden]; $xLeLo2 FixedPoint( 0,150)[hidden]; $xPol2 Polygon($xLeUp2,$xRiUp2,$xRiLo2,$xLeLo2)[color(220,220,220)]; $bprLeUp FixedPoint(140,42)[hidden]; $bprRiUp FixedPoint(190,42)[hidden]; $bprRiLo FixedPoint(190,90)[hidden]; $bprLeLo FixedPoint(140,90)[hidden]; $bprPol Polygon($bprLeUp,$bprRiUp,$bprRiLo,$bprLeLo)[color(240,200,200),hidden]; $bLeUp FixedPoint(202,42)[hidden]; $bRiUp FixedPoint(245,42)[hidden]; $bRiLo FixedPoint(245,90)[hidden]; $bLeLo FixedPoint(202,90)[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]; $SBXtr ShowButton( 0,160,'Trace X')($Xtr)[blue,hidden]; {,text('Trace \\( \\hat{ \\mathbf{x}}\\)')} $HBXtr HideButton(60,160,'Stop')($Xtr)[blue,hidden]; $SBX ShowButton(100,83,'LSQR X')($X1,$X2,$RptX1,$RptX2,$X1text,$X2text,$X,$SXX1,$SXX2,$SOX,$SBXtr,$HBXtr)[magenta,bold]; {,text('LSQR \\( \\hat{ \\mathbf{x}}\\)')} $HBX HideButton(163,83,'Hide')( $X1,$X2,$RptX1,$RptX2,$X1text,$X2text,$X,$SXX1,$SXX2,$SOX,$SBXtr,$HBXtr)[magenta]; $SBRL ShowButton( 0,345,'Change A')($ROa1,$ROa2,$R1a1,$R1a2,$SRLa1,$SRLa2,$Rpta11,$Rpta12,$Rpta21,$Rpta22,$Rpta31,$Rpta32,$RectA)[black,bold]; {,text('Change \\( A\\)')} $HBRL HideButton(70,345,'Fix')( $ROa1,$ROa2,$R1a1,$R1a2,$SRLa1,$SRLa2,$Rpta11,$Rpta12,$Rpta21,$Rpta22,$Rpta31,$Rpta32,$RectA)[black]; $SRes Segment($b,$bpr)[blue,thick,hidden]; $Res Calculate(350, 80,'','AB- 2^ CD- 2^ + EF- 2^ + @sqrt')($b1,$a1x,$b2,$a2x,$b3,$a3x)[blue,hidden]; $ResText FixedText(480,80, '')[blue, hidden]; {,text('\\( \\left| \\, A \\mathbf{x} - \\mathbf{b} \\, \\right| \\ = \\)')} $SBRes ShowButton(260,40,'Residual')($Res,$SRes,$ResText,$AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$bpr,$SObpr)[blue,bold]; $HBRes HideButton(320,40,'Hide')( $Res,$SRes,$ResText)[blue]; $SBAx ShowButton(125,0,'b'' = Ax')($AxText,$a1x,$a2x,$a3x,$eqsign,$bprPol,$bpr,$SObpr)[color(230,140,140),bold]; {,text('\\( \\mathbf{b}'' = A \\mathbf{x}\\)')} $HBAx HideButton(190,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(240,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]; {,text('\\( \\mathbf{b}'' = A \\mathbf{x}\\) in space')} $HBAxInSpace HideButton(350,0,'Hide')( $b1b2pr,$Sb1b2pr1,$Sb1b2pr2,$SOb1b2pr,$Sbb1b2pr,$ObPolpr,$SOR3RptAx1,$SOR3RptAx2)[color(230,140,140)]; $SBAxInPlane ShowButton(390,0,'b'' = Ax in plane')($xa1,$SOxa1,$Sxa1bpr,$xa2,$SOxa2,$bpr,$SObpr,$Sxa2bpr,$ObPolprPlane)[color(120,60,0),bold]; {,text('\\( \\mathbf{b}'' = A \\mathbf{x}\\) in plane')} $HBAxInPlane HideButton(500,0,'Hide')( $xa1,$SOxa1,$Sxa1bpr,$xa2,$SOxa2,$Sxa2bpr,$ObPolprPlane)[color(120,60,0)]; $SBeq ShowButton( 5,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];