Lineaarialgebra
Lineaarialgebra: suora U aliavaruutena
|
{ Lineaarialgebra: suora U aliavaruutena }
#CODEBASE = "../jsp"
#ARCHIVE = "jsp4.jar"
#WIDTH = 500
#HEIGHT= 520
#ALIGN=Left
*MeasureInDegrees = 1
*DirectedAngles = 0
*BackRed =230
*BackGreen =255
*BackBlue =255
$RO FixedPoint(250,500)[black,label('0')];
$Ref Translation($RO,10,0)[hidden];
$Ray Ray($Ref,$RO)[hidden];
$Rykk FixedPoint(275,500)[white, label('1')];
$SRykk Segment($RO,$Rykk)[hidden];
$RL Line($Rykk,$RO)[black];
$Rnumc Point on object($RL,2)[red,label('c')];
$SRnumc Segment($RO,$Rnumc)[hidden];
$Rnumd Point on object($RL,-1.5)[color(12,171,3),label('d'),hidden];
$SRnumd Segment($RO,$Rnumd)[hidden];
$Rnumcd Dilation/3PtRatio($Rnumc,$RO,$RO,$Rykk,$Rnumd)[color(200,200,0),label('cd'),hidden];
$SRnumcd Segment($RO,$Rnumcd)[hidden];
$Rnumcpld VectorTranslation($Rnumc,$RO,$Rnumd)[color(30,160,225),label('c+d'),hidden];
$SRnumcpld Segment($RO,$Rnumcpld)[hidden];
$LUpp FixedPoint(0,490)[hidden];
$LLow FixedPoint(0,520)[hidden];
$RLow FixedPoint(500,520)[hidden];
$RUpp FixedPoint(500,490)[hidden];
$RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[color(200,200,0)];
$O FixedPoint(250,250)[black,label('0')];
$unitp UnitPoint($O,50)[hidden];
$ykk FixedPoint(300,250)[white,label('1')];
$kakk VectorTranslation($ykk,$O,$ykk)[white, label('2')];
$coord Origin&Unit($O,$unitp)[black];
$hor AxisX($coord)[black];
$vert AxisY($coord)[hidden];
$start FixedPoint(250,480)[hidden];
$vertsh Ray($O,$start)[black];
$UC Circle($O,$ykk)[green,hidden];
$Vykk Intersect2($vert,$UC)[white,label('1')];
$Vkakk VectorTranslation($Vykk,$O,$Vykk)[white, label('2')];
$a FixedPoint(300,200)[white,label('e')];
$Sa Segment($O,$a)[color(200,200,0),hidden];
${
Suora U
$}
$apu1 Point(100,0)[hidden];
$apu2 Point(500,400)[hidden];
$U Line($apu1,$apu2)[magenta,thick];
$x Point(200,175)[red,label('x')];
$Sx Segment($O,$x)[red,thick];
$y Point(375,225)[blue,label('y')];
$Sy Segment($O,$y)[blue,thick];
$Sax Segment($a,$x)[color(12,171,3),hidden];
$Say Segment($a,$y)[color(12,171,3),hidden];
$x_a VectorTranslation($x,$a,$O)[hidden];
$xply VectorTranslation($x,$O,$y)[hidden];
$Sx_a Segment($O,$x_a)[color(30,160,225),hidden];
$Sxx_a Segment($x,$x_a)[color(30,160,225),hidden];
$xoy VectorTranslation($xply,$a,$O)[magenta,label('x o y')];
$Sxoy Segment($O,$xoy)[magenta,thick];
$Syxply Segment($y,$xply)[color(30,160,225),hidden];
$Sxxply Segment($x,$xply)[color(30,160,225),hidden];
${
$CaSx Circle by radius($a,$Sx)[black,thick,hidden];
$CaSy Circle by radius($a,$Sy)[blue,hidden];
$}
$CaSx Segment($apu1,$apu2)[black,hidden];
$CaSy Segment($apu2,$apu1)[black,hidden];
$Sxplyxoy Segment($xply,$xoy)[color(30,160,225),hidden];
$Syxoy Segment($y,$xoy)[color(12,171,3),hidden];
$Sxxoy Segment($x,$xoy)[color(12,171,3),hidden];
$Saxoy Segment($a,$xoy)[color(12,171,3),hidden];
$ABMy AnimateButton( 0, 80,'Animate y')($y,$CaSx)(3)(0)(1)[black];
$ABMx AnimateButton( 0, 60,'Animate x')($x,$CaSy)(5)(0)(1)[black];
$SBxoy ShowButton( 0, 40,'Show x o y')($x,$y,$xoy,$Sx,$Sy,$Sxoy)[magenta];
$HBxoy HideButton( 0,100,'Hide x o y')( $y,$xoy,$Sx,$Sy,$Sxoy)[magenta];
$SBSxyy ShowButton( 0,200,'Show segments')($x,$Sx,$y,$Sy,$xoy,$Sxoy)[magenta];
$HBSxyy HideButton( 0,180,'Hide segments')( $Sx, $Sy, $Sxoy)[magenta];
$anim1 Point on object($RL,-4)[cyan];
$anim2 Point on object($RL, 4)[cyan];
$Sanim Segment($anim2,$anim1)[hidden];
$ABc AnimateButton(250,60,'Animate scalar c')($Rnumc,$Sanim)(2)(0)(0)[black];
$cx_a Dilation/3PtRatio($x_a,$O,$RO,$Rykk,$Rnumc)[hidden];
$Scx_a Segment($O,$cx_a)[color(30,160,225),hidden];
$cx VectorTranslation($cx_a,$O,$a)[red,label('c*x')];
$Scx Segment($O,$cx)[red,thick];
$Sx2 Segment($O,$x)[red,thick];
$SBSc ShowButton(400,200,'Show segments')($x,$Sx2,$cx,$Scx)[red];
$HBSc HideButton(400,180,'Hide segments')( $Sx2, $Scx)[red];
$Scxcx_a Segment($cx,$cx_a)[color(30,160,225),hidden];
$Sacx Segment($a,$cx)[blue,hidden];
${
$SBy ShowButton(400,60,'Show y')($y)[blue,hidden];
$HBy HideButton(400,20,'Hide y')($y,$Sy)[blue,hidden];
$}
$SBcx ShowButton(250, 40,'Show c*x')($x,$cx,$Sx2,$Scx)[red];
$HBcx HideButton(250, 80,'Hide c*x')( $cx,$Sx2,$Scx)[red];
$verta Parallel($vert,$a)[color(12,171,3),hidden];
$hora Parallel($hor, $a)[color(12,171,3),hidden];
$SBOC ShowButton( 0,330,'Show original construction')($x_a,$Sxx_a,$Sx_a,$cx_a,$Scx_a,$Scxcx_a,$xply,$Sxxply,$Syxply,$Sxplyxoy)[thick,color(30,160,225),hidden];
$HBOC HideButton( 0,350,'Hide original construction')($x_a,$Sxx_a,$Sx_a,$cx_a,$Scx_a,$Scxcx_a,$xply,$Sxxply,$Syxply,$Sxplyxoy)[color(30,160,225),hidden];
$SBO ShowButton( 0,310,'Show axis system in 0')($O,$ykk,$vertsh,$hor,$Sy,$Sx,$Sxoy,$Scx)[black,hidden];
$HBO HideButton( 0,250,'Hide axis system in 0')($ykk,$vertsh,$hor,$Sy,$Sx,$Sxoy,$Scx)[black,hidden];
$SBaxisa ShowButton( 0,270,'Show other axis system')($a,$Sa,$hora,$verta)[thick,color(12,171,3),hidden];
$HBaxisa HideButton(120,270,'Hide')($a,$Sa,$hora,$verta)[color(12,171,3),hidden];
$SBV ShowButton( 0,290,'Show virtual structure')($a,$Say,$Syxoy,$Saxoy,$Sxxoy,$Say,$Sacx)[thick,color(12,171,3),hidden];
$HBV HideButton(120,290,'Hide')($a,$Say,$Syxoy,$Saxoy,$Sxxoy,$Say,$Sacx)[color(12,171,3),hidden];
${
$SBOper ShowButton(100, 0,'SHOW OPERATIONS')($x,$y,$xoy,$cx)[black,thick,hidden];
$HBOper HideButton(250, 0,'Hide operations')($xoy,$Sxoy,$cx,$Scx)[black,hidden];
$}
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä (vektoreita)
x ja y sekä skalaaria c. Myös animointinappulat saavat aikaan liikettä.
Kun vektorit ovat suoralla, ovat myös tulokset siellä!
Martti.Pesonen@Joensuu.Fi 2003