${
2. Suora kahden pisteen kautta
$}
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT= 520
#ALIGN=Left
*TextFont = "Helvetica"
*TextBold = 1
*TextSize = 18
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed =250
*BackGreen =250
*BackBlue =250
FixedText(400,15,'Reset = ''R''')[red,bold,justifyLeft];
$RO FixedPoint(250,500)[black,label('0')];
$Ref Translation($RO,25,0)[hidden];
$Ray Ray($Ref,$RO)[black, hidden];
$Rykk Translation($Ref,0,0)[white, label('1')];
$RL Line($Rykk,$RO)[black];
$Rnums Point on object($RL,1.5)[label('s'), layer(50)];
$Rs Ratio/Points($RO,$Rykk,$Rnums,10,10,'s = ')[red,hidden];
$Rnumt Point on object($RL,2)[label('t'), hidden];
$LUpp FixedPoint(0,485)[hidden];
$LLow FixedPoint(0,520)[hidden];
$RLow FixedPoint(500,520)[hidden];
$RUpp FixedPoint(500,485)[hidden];
$RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow];
${
$ShowRs ShowButton(400, 0,'Dum')($RO, $Rykk, $RL, $Rnums, $RectA)[hidden];
$HideRs HideButton(400, 0,'Dum')($RO, $Rykk, $RL, $Rnums, $RectA)[hidden];
$ShowRt ShowButton(400, 0,'Dum')($RO, $Rykk, $RL, $Rnumt, $RectA)[hidden];
$HideRt HideButton(400, 0,'Dum')($RO, $Rykk, $RL, $Rnumt, $RectA)[hidden];
FixedPoint(240,200)[white,label('1'),hidden];
$i FixedPoint(250,200)[white,label('1'),hidden];
$}
$O FixedPoint(250,250)[black,label('0')];
$unitp UnitPoint($O,40)[white,label('1'),hidden];
$unitpvisible Translation($unitp,0,0)[white,label('1')];
$coord Origin&Unit($O,$unitp)[black, hidden];
$hor AxisX($coord)[black];
$vert AxisY($coord)[black,hidden];
$start FixedPoint(250,483)[hidden];
$vertsh Ray($O,$start)[black];
$a Point(300,200)[label('a'),red, layer(50)];
$Sa Segment($O,$a)[red, thick];
$b Point(370,280)[label('b'),blue, layer(50)];
$Sb Segment($O,$b)[blue, thick];
$u VectorTranslation($O,$a,$b)[magenta,label('u = b - a')];
$Su Segment($O,$u)[magenta, thick];
$aplusu VectorTranslation($a,$O,$u)[magenta,label('b = a + u')];
$Saplusu Segment($a,$aplusu)[magenta, thick];
$su Dilation/3PtRatio($u,$O,$RO,$Rykk,$Rnums)[blue,label('su')];
$Ssu Segment($O,$su)[blue];
$aplussu VectorTranslation($a,$O,$su)[magenta,label('r = a + s(b-a)')];
$Laaplussu Line($aplusu,$a)[magenta];
$SOaplussu Segment($O,$aplussu)[black,thick];
${
$v Point(210,200)[blue, label('v'),hidden];
$Sv Segment($O,$v)[blue, thick, hidden];
$tv Dilation/3PtRatio($v,$O,$RO,$Rykk,$Rnumt)[blue, label('tv'), hidden];
$Stv Segment($O,$tv)[blue, hidden];
$aplussuRay Ray($aplussu,$a)[magenta];
$uplusu VectorTranslation($u,$O,$u)[blue,label('u + u = 2u'),hidden];
$Suplusu Segment($O,$uplusu)[blue,hidden];
$uplus2u VectorTranslation($uplusu,$O,$u)[blue,label('u + 2u = 3u'),hidden];
$Suplus2u Segment($O,$uplus2u)[blue,hidden];
$uplus3u VectorTranslation($uplus2u,$O,$u)[blue,label('u + 3u = 4u'),hidden];
$Suplus3u Segment($O,$uplus3u)[blue,hidden];
$uplus4u VectorTranslation($uplus3u,$O,$u)[blue,label('u + 4u = 5u'),hidden];
$Suplus4u Segment($O,$uplus4u)[blue,hidden];
$uplus5u VectorTranslation($uplus4u,$O,$u)[blue,label('u + 5u = 6u'),hidden];
$Suplus5u Segment($O,$uplus5u)[blue,hidden];
$uplus6u VectorTranslation($uplus5u,$O,$u)[blue,label('u + 6u = 7u'),hidden];
$Suplus6u Segment($O,$uplus6u)[blue,hidden];
$uplus7u VectorTranslation($uplus6u,$O,$u)[blue,hidden];
$Suplus7u Segment($O,$uplus7u)[blue,hidden];
$uplus8u VectorTranslation($uplus7u,$O,$u)[blue,hidden];
$Suplus8u Segment($O,$uplus8u)[blue,hidden];
$}
${
$SBnu ShowButton( 0, 0,'{k u | k in N}')($uplusu,$Suplusu,$uplus2u,$Suplus2u,$uplus3u,$Suplus3u,$uplus4u,$Suplus4u,$uplus5u,$Suplus5u,$uplus6u,$Suplus6u,$uplus7u,$Suplus7u,$uplus8u,$Suplus8u,$uRay)[blue, bold];
$HBnu HideButton( 95, 0,'Hide')($uplusu,$Suplusu,$uplus2u,$Suplus2u,$uplus3u,$Suplus3u,$uplus4u,$Suplus4u,$uplus5u,$Suplus5u,$uplus6u,$Suplus6u,$uplus7u,$Suplus7u,$uplus8u,$Suplus8u,$uRay)[blue];
$SBnu ShowButton( 0, 50,'n u')($uplus3u,$Suplus3u,$uplus4u,$Suplus4u,$uplus5u,$Suplus5u,$uplus6u,$Suplus6u,$uplus7u,$Suplus7u,$uplus8u,$Suplus8u,$Ray)[blue, bold,hidden];
$HBnu HideButton( 50, 50,'Hide')($uplus3u,$Suplus3u,$uplus4u,$Suplus4u,$uplus5u,$Suplus5u,$uplus6u,$Suplus6u,$uplus7u,$Suplus7u,$uplus8u,$Suplus8u,$Ray)[blue,hidden];
$SB3u ShowButton( 0, 25,'u + 2u')($uplus2u,$Suplus2u,$SBnu,$HBnu)[blue, bold,hidden];
$HB3u HideButton( 50, 25,'Hide')($uplus2u,$Suplus2u,$SBnu,$HBnu)[blue,hidden];
$SB2u ShowButton( 0, 0,'u + u')($uplusu,$Suplusu,$SB3u,$HB3u)[blue, bold];
$HB2u HideButton( 50, 0,'Hide')($uplusu,$Suplusu,$SB3u,$HB3u)[blue];
$}
|
Ensinnäkin, vakiopaikkavektorin kärki eli piste a määrää
yhden pisteen suoralta, sitä voidaan sanoa vaikka vakiopaikkavektoriksi.
Vektorit a ja b määräävät suoran suunnan, suuntavektoriksi on loogista ottaa u = b - a.
Toki valinnat voidaan tehdä toisinkin, vaihtaa vakiovektorien a ja b roolit ja ottaa näiden erotus suuntavektoriksi kummin päin tahansa.
Kuitenkin kannattaa sopia valinnat yhdenmukaisiksi, jotta vastauksia on helpompi vertailla!
Reaalikerroin s skaalaa suuntavektoria, siitä roolinimi skalaari (erotuksena vektoreista).
Kerrointa sanotaan toisaalta parametriksi, koska se antaa suoralle parametriesityksen tason ulkopuolisen reaaliapumuuttujan avulla.
|