Lineaarialgebra

Lineaarialgebra: Siirretyt operaatiot tasossa


This page requires a Java capable browser.
Oheisessa dynaamisessa kuviossa voi liikutella hiirellä pisteitä (vektoreita) x ja y sekä skalaaria c. Myös animointinappulat saavat aikaan liikettä.


{ Lineaarialgebra: Siirretyt operaatiot tasossa } #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,25,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]; $LUpp FixedPoint(0,480)[hidden]; $LLow FixedPoint(0,520)[hidden]; $RLow FixedPoint(500,520)[hidden]; $RUpp FixedPoint(500,480)[hidden]; $RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow]; $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]; {,arrowL} $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('a'),hidden]; $Sa Segment($O,$a)[color(200,200,0),hidden]; { SUORA U: y = -x+2 } $U Line($Vkakk,$kakk)[yellow]; $x Point(370,220)[red,label('x')]; $Sx Segment($O,$x)[red,thick]; {,arrowL} $y Point(240,320)[blue,label('y')]; {,LabelAlign(0,-10)} $Sy Segment($O,$y)[blue,thick]; {,arrowL} $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]; {,arrowL} $Syxply Segment($y,$xply)[color(30,160,225),hidden]; $Sxxply Segment($x,$xply)[color(30,160,225),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]; $SBxoy ShowButton( 0, 40,'Show x o y')($x,$y,$xoy,$Sx,$Sy,$Sxoy)[magenta]; $HBxoy HideButton( 0,120,'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]; { Circles of animation of x and y} $Ccentery Point(300,150)[blue]; $CLrefy Translation($Ccentery,25,0)[black,hidden]; $CRayy Ray($CLrefy,$Ccentery)[black,hidden]; $Crady Point on object($CRayy,2)[blue]; $Cfreey Circle($Ccentery,$Crady)[blue]; $Ccenterx Point(300,150)[red]; $CLrefx Translation($Ccenterx,25,0)[black,hidden]; $CRayx Ray($CLrefx,$Ccenterx)[black,hidden]; $Cradx Point on object($CRayx,2)[red]; $Cfreex Circle($Ccenterx,$Cradx)[red]; $ABMx AnimateButton( 0, 60,'Animate x on a circle')($x,$Cfreex)(5)(0)(1)[black]; $ABMy AnimateButton( 0, 80,'Animate y on a circle')($y,$Cfreey)(3)(0)(1)[black]; $Ua Point on object($U,-1)[color(12,171,3)]; $Ub Point on object($U, 1)[color(12,171,3)]; $SUaUb Segment($Ua,$Ub)[color(12,171,3)]; $ABxonU AnimateButton(0,100,'Animate x on U')($x,$SUaUb)(2)(0)(0)[black]; $anim1 Point on object($RL,-4)[cyan]; $anim2 Point on object($RL, 4)[cyan]; $Sanim Segment($anim1,$anim2)[cyan]; $ABc AnimateButton(250,60,'Animate scalar c')($Rnumc,$Sanim)(2)(0)(0)[black]; { Scaling by c } $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]; {,arrowL} $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]; $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)]; $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)]; $SBO ShowButton( 0,310,'Show axis system in 0')($O,$ykk,$vertsh,$hor,$Sy,$Sx,$Sxoy,$Scx)[black]; $HBO HideButton( 0,250,'Hide axis system in 0')($ykk,$vertsh,$hor,$Sy,$Sx,$Sx2,$Sxoy,$Scx)[black]; $SBaxisa ShowButton( 0,270,'Show other axis system')($a,$Sa,$hora,$verta)[thick,color(12,171,3)]; $HBaxisa HideButton(150,270,'Hide')($a,$Sa,$hora,$verta)[color(12,171,3)]; $SBV ShowButton( 0,290,'Show virtual structure')($a,$Say,$Syxoy,$Saxoy,$Sxxoy,$Say,$Sacx)[thick,color(12,171,3)]; $HBV HideButton(150,290,'Hide')($a,$Say,$Syxoy,$Saxoy,$Sxxoy,$Say,$Sacx)[color(12,171,3)];

Martti Pesonen 2003, 2018
martti.pesonen(cattail)uef.fi