Lineaarialgebra

Suorat ja PNS

Tällä dynaamisella työarkilla voit tutustua ylimäärättyjen kahden tuntemattoman lineaaristen yhtälöryhmien pienimmän neliösumman ratkaisuihin. Näemme konkreettisesti, kuinka PNS-ratkaisu riippuu suorien esityksistä!

Aluksi katsotaan tilannetta graafiselta kannalta. Seuraavissa kahdessa taulussa on kolmen ja neljän suoran

ai1x1 + ai2x2 = bi
kuvaajat ja vastaavaan yhtälöryhmään Ax = b liittyvän PNS-ratkaisun x.

1. Kolmen suoran leikkauspisteen sovitus

${ 1. Kolmen suoran leikkauspisteen sovitus $} #CODE = "GSP.class" #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 406 #HEIGHT = 420 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 230 *BackGreen = 255 *Backred = 255 $reset FixedText(385,15,'Reset = ''R''')[black,bold,justifyRight]; $Clear FixedText(370,413,'Puhdistus: x ->')[red,plain,font('Courier'),justifyRight]; $xText FixedText(385,195,'x1')[bold, black, justifyCenter]; $yText FixedText(192, 10,'x2')[bold, black, justifyCenter]; ${ for scaling $} $RO FixedPoint(200,400)[black,label('0'),hidden]; $Ref Translation($RO,40,0)[hidden]; $Ray Ray($Ref,$RO)[black, hidden]; $Rykk Point on object($Ray,1)[white, label('1'), hidden]; $R1 FixedPoint(240,400)[white,label('1'),hidden]; $RL Line($Rykk,$RO)[black,hidden]; $Rpta Point on object($RL,1)[label('a'), red, layer(10), hidden]; $Ra Ratio/Points($RO,$Rykk,$Rpta,320,35,'a = ')[red]; $Rptb Point on object($RL,2)[label('b'), color(0,150,0), layer(15), hidden]; $Rb Ratio/Points($RO,$Rykk,$Rptb,320,55,'b = ')[color(0,150,0)]; $Rptc Point on object($RL,3)[label('c'), blue, layer(20), hidden]; $Rc Ratio/Points($RO,$Rykk,$Rptc,320,75,'c = ')[blue]; $LUpp FixedPoint(0,386)[hidden]; $LLow FixedPoint(0,420)[hidden]; $RLow FixedPoint(406,420)[hidden]; $RUpp FixedPoint(406,386)[hidden]; $ULine Line($LUpp,$RUpp)[black]; $RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow,hidden]; $SBRL ShowButton( 0,365,'Scale eqs')($RO,$R1,$RL,$Rpta,$Rptb,$Rptc,$RectA)[black]; $HBRL HideButton(62,365,'Fix')( $RO,$R1,$RL,$Rpta,$Rptb,$Rptc,$RectA)[black]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 40) [white, label('1'),hidden]; $ykk FixedPoint(240,200)[white, label('1')]; $coord Origin&Unit($O, $unitp)[black]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $Sunit Segment($O,$unitp)[hidden]; $P1 Point(80,200)[red, label('P1')]; $Cir Circle by radius($P1,$Sunit)[red, hidden]; $P2 Point on object($Cir, 1)[red, label('P2')]; $LP1P2 Line($P1,$P2)[red,hidden]; $CoP1 Coordinates($P1,$coord,20,100,'P1 = ')[red,hidden]; $CoP2 Coordinates($P2,$coord,20, 60,'P2 = ')[red,hidden]; $a11pr Calculate( 0,35,'','#B2 #A2 -')($CoP1,$CoP2)[red,suffix('x'), hidden]; $a12pr Calculate( 57,35,'+(','#A1 #B1 -')($CoP1,$CoP2)[red,suffix(')y = '), hidden]; $b1pr Calculate(152,35,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoP1,$CoP2)[red, hidden]; $a11 Calculate(0,35,'','AB*')($a11pr,$Ra)[red, suffix('x'), hidden]; $a12 Calculate(57,35,'+(','AB*')($a12pr,$Ra)[red, suffix(')y = '), hidden]; $b1 Calculate(152,35,'','AB*')($b1pr,$Ra)[red, hidden]; $Q1 Point(200,320)[color(0,150,0), label('Q1')]; $Cir Circle by radius($Q1,$Sunit)[color(0,150,0), hidden]; $Q2 Point on object($Cir, 3)[color(0,150,0), label('Q2')]; $LQ1Q2 Line($Q1,$Q2)[color(0,150,0),hidden]; $CoQ1 Coordinates($Q1,$coord,20,100,'Q1 = ')[color(0,150,0),hidden]; $CoQ2 Coordinates($Q2,$coord,20, 60,'Q2 = ')[color(0,150,0),hidden]; $a21pr Calculate( 0,55,'','#B2 #A2 -')($CoQ1,$CoQ2)[color(0,150,0),suffix('x'), hidden]; $a22pr Calculate( 57,55,'+(','#A1 #B1 -')($CoQ1,$CoQ2)[color(0,150,0),suffix(')y = '), hidden]; $b2pr Calculate(152,55,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoQ1,$CoQ2)[color(0,150,0), hidden]; $a21 Calculate( 0,55,'','AB*')($a21pr,$Rb)[color(0,150,0), suffix('x'), hidden]; $a22 Calculate(57,55,'+(','AB*')($a22pr,$Rb)[color(0,150,0), suffix(')y = '), hidden]; $b2 Calculate(152,55,'','AB*')($b2pr,$Rb)[color(0,150,0), hidden]; $R1 Point(120,240)[blue, label('R1')]; $Cir Circle by radius($R1,$Sunit)[blue, hidden]; $R2 Point on object($Cir, 5)[blue, label('R2')]; $LR1R2 Line($R1,$R2)[blue,hidden]; $CoR1 Coordinates($R1,$coord,20,100,'R1 = ')[blue,hidden]; $CoR2 Coordinates($R2,$coord,20, 60,'R2 = ')[blue,hidden]; $a31pr Calculate( 0,75,'','#B2 #A2 -')($CoR1,$CoR2)[blue,suffix('x'), hidden]; $a32pr Calculate( 57,75,'+(','#A1 #B1 -')($CoR1,$CoR2)[blue,suffix(')y = '), hidden]; $b3pr Calculate(152,75,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoR1,$CoR2)[blue, hidden]; $a31 Calculate( 0,75,'','AB*')($a31pr,$Rc)[blue, suffix('x'), hidden]; $a32 Calculate(57,75,'+(','AB*')($a32pr,$Rc)[blue, suffix(')y = '), hidden]; $b3 Calculate(152,75,'','AB*')($b3pr,$Rc)[blue, hidden]; $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(205,100,'x1 = ','AD* BC* - E /')($D,$B,$E,$C,$det)[black,hidden]; $x2 Calculate(205,115,'x2 = ','AD* BC* - E /')($A,$D,$B,$E,$det)[black,hidden]; $x PlotXY($x2,$coord,$x1)[magenta, label('x'), layer(10)]; $xtr PlotXY($x2,$coord,$x1)[magenta, label('x'), layer(10), traced, hidden]; $Cx Coordinates($x,$coord,5,195,'x = ')[magenta, bold]; $SBxtr ShowButton( 0,160,'Trace x')($xtr)[magenta]; $HBxtr HideButton(57,160,'Stop')($xtr)[magenta]; $SBeq ShowButton(0,0,'Equations')($a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3)[black,bold]; $HBeq HideButton(70,0,'Hide')($a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3)[black,bold]; $YV FixedPoint(0,0)[hidden]; $YO FixedPoint(406,0)[hidden]; $AV FixedPoint(0,386)[hidden]; $AO FixedPoint(406,386)[hidden]; $LYVYO Segment($YV,$YO)[black,hidden]; $LAVAO Segment($AV,$AO)[black,hidden]; $LYVAV Segment($YV,$AV)[black,hidden]; $LYOAO Segment($YO,$AO)[black,hidden]; $IYLP1P2 Intersect($LYVYO,$LP1P2)[hidden]; $IALP1P2 Intersect($LAVAO,$LP1P2)[hidden]; $IVLP1P2 Intersect($LYVAV,$LP1P2)[hidden]; $IOLP1P2 Intersect($LYOAO,$LP1P2)[hidden]; Segment($IYLP1P2,$IALP1P2)[red]; Segment($IYLP1P2,$IVLP1P2)[red]; Segment($IYLP1P2,$IOLP1P2)[red]; Segment($IALP1P2,$IVLP1P2)[red]; Segment($IOLP1P2,$IVLP1P2)[red]; Segment($IALP1P2,$IOLP1P2)[red]; $IYLQ1Q2 Intersect($LYVYO,$LQ1Q2)[hidden]; $IALQ1Q2 Intersect($LAVAO,$LQ1Q2)[hidden]; $IVLQ1Q2 Intersect($LYVAV,$LQ1Q2)[hidden]; $IOLQ1Q2 Intersect($LYOAO,$LQ1Q2)[hidden]; Segment($IYLQ1Q2,$IALQ1Q2)[color(0,150,0)]; Segment($IYLQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IYLQ1Q2,$IOLQ1Q2)[color(0,150,0)]; Segment($IALQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IOLQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IALQ1Q2,$IOLQ1Q2)[color(0,150,0)]; $IYLR1R2 Intersect($LYVYO,$LR1R2)[hidden]; $IALR1R2 Intersect($LAVAO,$LR1R2)[hidden]; $IVLR1R2 Intersect($LYVAV,$LR1R2)[hidden]; $IOLR1R2 Intersect($LYOAO,$LR1R2)[hidden]; Segment($IYLR1R2,$IALR1R2)[blue]; Segment($IYLR1R2,$IVLR1R2)[blue]; Segment($IYLR1R2,$IOLR1R2)[blue]; Segment($IALR1R2,$IVLR1R2)[blue]; Segment($IOLR1R2,$IVLR1R2)[blue]; Segment($IALR1R2,$IOLR1R2)[blue]; Voit tehdä suorille yhdensuuntaissiirtoja tarttumalla hiirellä pisteisiin P1, Q1 ja R1. Edelleen, suoria voit pyöritellä pisteiden P2, Q2 ja R2 avulla.
Voit myös kertoa yhtälöitä luvuilla a,b tai c.

2. Neljän suoran leikkauspisteen sovitus

${ 2. Neljän suoran leikkauspisteen sovitus $} #CODE = "GSP.class" #CODEBASE = "../jsp" #ARCHIVE = "jsp4.jar" #WIDTH = 406 #HEIGHT = 420 #ALIGN = Center *Frame = 1 *LabelFont = "Courier" *LabelBold = 1 *MeasureFont = "Courier" *MeasureSize = 14 *MeasureBold = 1 *MeasureInDegrees = 1 *DirectedAngles = 0 *Backblue = 255 *BackGreen = 230 *Backred = 255 $reset FixedText(385,15,'Reset = ''R''')[red,bold,justifyRight]; $Clear FixedText(370,412,'Puhdistus: x ->')[red,plain,font('Courier'),justifyRight]; $xText FixedText(385,195,'x1')[bold, black, justifyCenter]; $yText FixedText(192, 10,'x2')[bold, black, justifyCenter]; ${ for scaling $} $RO FixedPoint(200,400)[black,label('0'),hidden]; $Ref Translation($RO,40,0)[hidden]; $Ray Ray($Ref,$RO)[black, hidden]; $Rykk Point on object($Ray,1)[white, label('1'), hidden]; $R1 FixedPoint(240,400)[white,label('1'),hidden]; $RL Line($Rykk,$RO)[black,hidden]; $Rpta Point on object($RL,1)[label('a'), red, layer(10), hidden]; $Ra Ratio/Points($RO,$Rykk,$Rpta,320,35,'a = ')[red]; $Rptb Point on object($RL,2)[label('b'), color(0,150,0), layer(15), hidden]; $Rb Ratio/Points($RO,$Rykk,$Rptb,320,55,'b = ')[color(0,150,0)]; $Rptc Point on object($RL,3)[label('c'), blue, layer(20), hidden]; $Rc Ratio/Points($RO,$Rykk,$Rptc,320,75,'c = ')[blue]; $Rptd Point on object($RL,4)[label('d'), color(128,128,128), layer(25), hidden]; $Rd Ratio/Points($RO,$Rykk,$Rptd,320,95,'d = ')[color(128,128,128)]; $LUpp FixedPoint(0,386)[hidden]; $LLow FixedPoint(0,420)[hidden]; $RLow FixedPoint(406,420)[hidden]; $RUpp FixedPoint(406,386)[hidden]; $ULine Line($LUpp,$RUpp)[black]; $RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow,hidden]; $SBRL ShowButton( 0,365,'Scale eqs')($RO,$R1,$RL,$Rpta,$Rptb,$Rptc,$Rptd,$RectA)[black]; $HBRL HideButton(62,365,'Fix')( $RO,$R1,$RL,$Rpta,$Rptb,$Rptc,$Rptd,$RectA)[black]; ${ The Plane Coordinate System $} $O FixedPoint(200, 200) [black, label('0')]; $unitp UnitPoint($O, 40) [white, label('1'), hidden]; $ykk FixedPoint(240,200)[white, label('1')]; $coord Origin&Unit($O, $unitp)[black]; $Xax AxisX($coord)[black]; $Yax AxisY($coord)[black]; $Sunit Segment($O,$unitp)[hidden]; $P1 Point(80,200)[red, label('P1')]; $Cir Circle by radius($P1,$Sunit)[red, hidden]; $P2 Point on object($Cir, 1)[red, label('P2')]; $LP1P2 Line($P1,$P2)[red,hidden]; $CoP1 Coordinates($P1,$coord,20,100,'P1 = ')[red,hidden]; $CoP2 Coordinates($P2,$coord,20, 60,'P2 = ')[red,hidden]; $a11pr Calculate( 0,35,'','#B2 #A2 -')($CoP1,$CoP2)[red,suffix('x'), hidden]; $a12pr Calculate( 57,35,'+(','#A1 #B1 -')($CoP1,$CoP2)[red,suffix(')y = '), hidden]; $b1pr Calculate(152,35,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoP1,$CoP2)[red, hidden]; $a11 Calculate(0,35,'','AB*')($a11pr,$Ra)[red, suffix('x'), hidden]; $a12 Calculate(57,35,'+(','AB*')($a12pr,$Ra)[red, suffix(')y = '), hidden]; $b1 Calculate(152,35,'','AB*')($b1pr,$Ra)[red, hidden]; $Q1 Point(200,320)[color(0,150,0), label('Q1')]; $Cir Circle by radius($Q1,$Sunit)[color(0,150,0), hidden]; $Q2 Point on object($Cir, 3)[color(0,150,0), label('Q2')]; $LQ1Q2 Line($Q1,$Q2)[color(0,150,0),hidden]; $CoQ1 Coordinates($Q1,$coord,20,100,'Q1 = ')[color(0,150,0),hidden]; $CoQ2 Coordinates($Q2,$coord,20, 60,'Q2 = ')[color(0,150,0),hidden]; $a21pr Calculate( 0,55,'','#B2 #A2 -')($CoQ1,$CoQ2)[color(0,150,0),suffix('x'), hidden]; $a22pr Calculate( 57,55,'+(','#A1 #B1 -')($CoQ1,$CoQ2)[color(0,150,0),suffix(')y = '), hidden]; $b2pr Calculate(152,55,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoQ1,$CoQ2)[color(0,150,0), hidden]; $a21 Calculate( 0,55,'','AB*')($a21pr,$Rb)[color(0,150,0), suffix('x'), hidden]; $a22 Calculate(57,55,'+(','AB*')($a22pr,$Rb)[color(0,150,0), suffix(')y = '), hidden]; $b2 Calculate(152,55,'','AB*')($b2pr,$Rb)[color(0,150,0), hidden]; $R1 Point(120,240)[blue, label('R1')]; $Cir Circle by radius($R1,$Sunit)[blue, hidden]; $R2 Point on object($Cir, 5)[blue, label('R2')]; $LR1R2 Line($R1,$R2)[blue,hidden]; $CoR1 Coordinates($R1,$coord,20,100,'R1 = ')[blue,hidden]; $CoR2 Coordinates($R2,$coord,20, 60,'R2 = ')[blue,hidden]; $a31pr Calculate( 0,75,'','#B2 #A2 -')($CoR1,$CoR2)[blue,suffix('x'), hidden]; $a32pr Calculate( 57,75,'+(','#A1 #B1 -')($CoR1,$CoR2)[blue,suffix(')y = '), hidden]; $b3pr Calculate(152,75,'','#B2 #A2- #A1* #B1 #A1- #A2* -')($CoR1,$CoR2)[blue, hidden]; $a31 Calculate( 0,75,'','AB*')($a31pr,$Rc)[blue, suffix('x'), hidden]; $a32 Calculate(57,75,'+(','AB*')($a32pr,$Rc)[blue, suffix(')y = '), hidden]; $b3 Calculate(152,75,'','AB*')($b3pr,$Rc)[blue, hidden]; $S1 Point(190,320)[color(128,128,128), label('S1')]; $Cir Circle by radius($S1,$Sunit)[color(128,128,128), hidden]; $S2 Point on object($Cir, 7)[color(128,128,128), label('S2')]; $LS1S2 Line($S1,$S2)[color(128,128,128),hidden]; $CoS1 Coordinates($S1,$coord,20,100,'S1 = ')[color(128,128,128),hidden]; $CoS2 Coordinates($S2,$coord,20,60,'S2 = ')[color(128,128,128),hidden]; $a41pr Calculate( 0,95,'','#B2 #A2 -')($CoS1,$CoS2)[color(128,128,128),suffix('x'), hidden]; $a42pr Calculate( 57,95,'+(','#A1 #B1 -')($CoS1,$CoS2)[color(128,128,128),suffix(')y = '), hidden]; $b4pr Calculate(152,95,'','#B2#A2- #A1* #B1#A1- #A2* -')($CoS1,$CoS2)[color(128,128,128), hidden]; $a41 Calculate( 0,95,'','AB*')($a41pr,$Rd)[color(128,128,128), suffix('x'), hidden]; $a42 Calculate(57,95,'+(','AB*')($a42pr,$Rd)[color(128,128,128), suffix(')y = '), hidden]; $b4 Calculate(152,95,'','AB*')($b4pr,$Rd)[color(128,128,128), hidden]; $A Calculate(205, 10,'A = ','A2^ B2^ + C2^ + D2^ +')($a11,$a21,$a31,$a41)[black,hidden]; $B Calculate(205, 25,'B = ','AE* BF* + CG* + DH* +')($a11,$a21,$a31,$a41,$a12,$a22,$a32,$a42)[black,hidden]; $C Calculate(205, 40,'C = ','A2^ B2^ + C2^ + D2^ +')($a12,$a22,$a32,$a42)[black,hidden]; $D Calculate(205, 55,'D = ','AE* BF* + CG* + DH* +')($a11,$a21,$a31,$a41,$b1,$b2,$b3,$b4)[black,hidden]; $E Calculate(205, 70,'E = ','AE* BF* + CG* + DH* +')($a12,$a22,$a32,$a42,$b1,$b2,$b3,$b4)[black,hidden]; $det Calculate(205, 85,'det = ','AC* BB* -')($A,$B,$C)[black,hidden]; $x1 Calculate(205,100,'x1 = ','AD* BC* - E /')($D,$B,$E,$C,$det)[black,hidden]; $x2 Calculate(205,115,'x2 = ','AD* BC* - E /')($A,$D,$B,$E,$det)[black,hidden]; $x PlotXY($x2,$coord,$x1)[magenta, label('x'), layer(10)]; $xtr PlotXY($x2,$coord,$x1)[magenta, label('x'),traced, hidden]; $Cx Coordinates($x,$coord,5,195,'x = ')[magenta,bold]; $SBxtr ShowButton( 0,160,'Trace x')($xtr)[blue]; $HBxtr HideButton(60,160,'Stop')($xtr)[blue]; $SBeq ShowButton(0,0,'Equations')($a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3,$a41,$a42,$b4)[black,bold]; $HBeq HideButton(70,0,'Hide')($a11,$a12,$b1,$a21,$a22,$b2,$a31,$a32,$b3,$a41,$a42,$b4)[black,bold]; $YV FixedPoint(0,0)[hidden]; $YO FixedPoint(406,0)[hidden]; $AV FixedPoint(0,386)[hidden]; $AO FixedPoint(406,386)[hidden]; $LYVYO Segment($YV,$YO)[black,hidden]; $LAVAO Segment($AV,$AO)[black,hidden]; $LYVAV Segment($YV,$AV)[black,hidden]; $LYOAO Segment($YO,$AO)[black,hidden]; $IYLP1P2 Intersect($LYVYO,$LP1P2)[hidden]; $IALP1P2 Intersect($LAVAO,$LP1P2)[hidden]; $IVLP1P2 Intersect($LYVAV,$LP1P2)[hidden]; $IOLP1P2 Intersect($LYOAO,$LP1P2)[hidden]; Segment($IYLP1P2,$IALP1P2)[red]; Segment($IYLP1P2,$IVLP1P2)[red]; Segment($IYLP1P2,$IOLP1P2)[red]; Segment($IALP1P2,$IVLP1P2)[red]; Segment($IOLP1P2,$IVLP1P2)[red]; Segment($IALP1P2,$IOLP1P2)[red]; $IYLQ1Q2 Intersect($LYVYO,$LQ1Q2)[hidden]; $IALQ1Q2 Intersect($LAVAO,$LQ1Q2)[hidden]; $IVLQ1Q2 Intersect($LYVAV,$LQ1Q2)[hidden]; $IOLQ1Q2 Intersect($LYOAO,$LQ1Q2)[hidden]; Segment($IYLQ1Q2,$IALQ1Q2)[color(0,150,0)]; Segment($IYLQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IYLQ1Q2,$IOLQ1Q2)[color(0,150,0)]; Segment($IALQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IOLQ1Q2,$IVLQ1Q2)[color(0,150,0)]; Segment($IALQ1Q2,$IOLQ1Q2)[color(0,150,0)]; $IYLR1R2 Intersect($LYVYO,$LR1R2)[hidden]; $IALR1R2 Intersect($LAVAO,$LR1R2)[hidden]; $IVLR1R2 Intersect($LYVAV,$LR1R2)[hidden]; $IOLR1R2 Intersect($LYOAO,$LR1R2)[hidden]; Segment($IYLR1R2,$IALR1R2)[blue]; Segment($IYLR1R2,$IVLR1R2)[blue]; Segment($IYLR1R2,$IOLR1R2)[blue]; Segment($IALR1R2,$IVLR1R2)[blue]; Segment($IOLR1R2,$IVLR1R2)[blue]; Segment($IALR1R2,$IOLR1R2)[blue]; $IYLS1S2 Intersect($LYVYO,$LS1S2)[hidden]; $IALS1S2 Intersect($LAVAO,$LS1S2)[hidden]; $IVLS1S2 Intersect($LYVAV,$LS1S2)[hidden]; $IOLS1S2 Intersect($LYOAO,$LS1S2)[hidden]; Segment($IYLS1S2,$IALS1S2)[color(128,128,128)]; Segment($IYLS1S2,$IVLS1S2)[color(128,128,128)]; Segment($IYLS1S2,$IOLS1S2)[color(128,128,128)]; Segment($IALS1S2,$IVLS1S2)[color(128,128,128)]; Segment($IOLS1S2,$IVLS1S2)[color(128,128,128)]; Segment($IALS1S2,$IOLS1S2)[color(128,128,128)]; Voit tehdä suorille yhdensuuntaissiirtoja tarttumalla hiirellä pisteisiin P1, Q1, R1 ja S1. Edelleen, suoria voit pyöritellä pisteiden P2, Q2, R2 ja S2 avulla.

Millaiset esitykset sitten tulisi suorille valita, jotta saataisiin yksikäsitteisyys jollain järkevällä tavalla?
Tätä selvitellään dokumentissa Tason suorat ja PNS - yksikäsitteisyysongelma


Martti.Pesonen@Joensuu.Fi 2003