O D Tason kierto ja venytys (maksimi 4 pistettä)
${
O D Rotation by angle a (and dilation)
$}
#CODE = "GSP.class"
#CODEBASE="jsp"
#ARCHIVE="jsp4.jar"
#WIDTH = 406
#HEIGHT= 420
#ALIGN=Left
*LabelSize = 12
*MeasureFont = "Courier"
*MeasureSize = 14
*MeasureBold = 1
*MeasureInDegrees = 0
*DirectedAngles = 1
*BackRed =220
*BackGreen =255
*BackBlue =220
${
Real line
$}
$RO FixedPoint(200,400)[black,label('0'), hidden];
$Ref Translation($RO,10,0)[hidden];
$Ray Ray($Ref,$RO)[black, hidden];
$Rykk Point on object($Ray,2.5)[white, label('1'), hidden];
$R1 FixedPoint(225,400)[white,label('1'),hidden];
$RL Line($Rykk,$RO)[black, hidden];
$Piper2 Dilation($Rykk,$RO,1.571)[green,label('Pi/2'), hidden];
$Pi Dilation($Rykk,$RO,3.14159)[green,label('Pi'), hidden];
$PTPi Dilation($Rykk,$RO,4.7124)[green,label('3Pi/2'), hidden];
$kaksPi Dilation($Rykk,$RO,6.283)[green,label('2Pi'), hidden];
$SO2Pi Segment($RO,$kaksPi)[green, thick, layer(1),hidden];
$Rpta Point on object($RL,0.5)[label('a'), red, hidden, layer(10)];
$Ra Ratio/Points($RO,$Rykk,$Rpta,30,362,'a = ')[red];
$Rptd Point on object($RL,2.5)[label('d'), red, hidden, layer(10)];
$Rd Ratio/Points($RO,$Rykk,$Rptd,330,362,'d = ')[red];
$LUpp FixedPoint(0,386)[hidden];
$LLow FixedPoint(0,420)[hidden];
$RLow FixedPoint(406,420)[hidden];
$RUpp FixedPoint(406,386)[hidden];
$RectA Polygon($LUpp,$LLow,$RLow,$RUpp,$LUpp)[yellow,hidden];
${
The Plane Coordinate System
$}
$O FixedPoint(200,200)[black,label('0')];
$Ogh FixedPoint(200,200)[hidden];
$ykk FixedPoint(225,200)[white,label('1')];
$unitp UnitPoint($O,25)[hidden];
$coord Origin&Unit($O,$unitp)[black];
$hor AxisX($coord)[black];
$vert AxisY($coord)[black];
$start FixedPoint(200,385)[hidden];
$vertsh Ray($O,$start)[black];
$u Point(250,175)[red, label('u'),layer(10)];
$utr VectorTranslation($u,$O,$Ogh)[red, label('u'), hidden, traced];
$SOu Segment($O,$u)[red, hidden];
${
Rotation by a
$}
$uRot Rotation/MeasuredAngle($u, $O, $Ra) [blue,label('R(u)')];
$uRottr Rotation/MeasuredAngle($u, $O, $Ra) [blue,label('R(u)'),hidden,traced];
$SOuRot Segment($O,$uRot)[blue, hidden];
$SuuRot Segment($u,$uRot)[magenta, thick, hidden];
$CRot Circle($O,$u)[cyan,hidden];
${
Dilations by d
$}
$uy2Dil Dilation/3PtRatio($u,$O,$RO,$Rykk,$Rptd)[blue, label('D(u)'),hidden];
$uy2Diltr Dilation/3PtRatio($u,$O,$RO,$Rykk,$Rptd)[blue, label('D(u)'), hidden, traced];
$SOuy2Dil Segment($O,$uy2Dil)[blue, hidden];
$Suuy2Dil Segment($u,$uy2Dil)[magenta, thick, hidden];
$Cuy2Dil Dilation/3PtRatio($uRot,$O,$RO,$Rykk,$Rptd)[magenta, label('(DoR)(u)'),hidden];
$Cuy2Diltr Dilation/3PtRatio($uRot,$O,$RO,$Rykk,$Rptd)[magenta, label('(DoR)(u)'), hidden, traced];
$SOCuy2Dil Segment($O,$Cuy2Dil)[magenta, hidden];
$SuCuy2Dil Segment($uRot,$Cuy2Dil)[magenta, hidden];
$SuDCu2Dil Segment($u,$Cuy2Dil)[magenta, hidden];
${
Coordinates of the points,hidden
$}
$xyu Coordinates( $u,$coord,0,290, 'u = ')[red];
$xyuRot Coordinates( $uRot,$coord,0,315, 'R(u) = ')[blue,hidden];
$xyCuy2Dil Coordinates($Cuy2Dil,$coord,0,340, '(DoR)(u) = ')[magenta,hidden];
${
Animation circle and segment
$}
$Ccentr Point(230,180)[red,label('O'),hidden, layer(5)];
$PonCir Point(250,180)[red,label('P'),hidden, layer(5)];
$AnC Circle($Ccentr,$PonCir)[red,hidden];
$LDiam Line($PonCir,$Ccentr)[red,hidden];
$QonCir Intersect1($LDiam,$AnC)[white,hidden];
$SDiam Segment($QonCir,$PonCir)[red,hidden];
$AstS Point(180,220)[red,label('A'),hidden, layer(5)];
$endS Point(250,230)[red,label('B'),hidden, layer(5)];
$Segm Segment($AstS,$endS)[red,hidden];
$SBRotS ShowButton( 0, 30,'Segments')($SOu,$SOuRot,$SuuRot,$CRot)[magenta,hidden];
$HBRotS HideButton( 65, 30,'Hide' )($SOu,$SOuRot,$SuuRot,$CRot)[magenta,hidden];
$SBRotTr ShowButton( 0, 50,'Trace')($utr,$uRottr)[blue,hidden];
$HBRotTr HideButton( 65, 50,'Stop' )($utr,$uRottr)[blue,hidden];
$SBDilTry ShowButton(200, 20,'Trace')($utr,$uy2Diltr)[blue,hidden];
$HBDilTry HideButton(265, 20,'Stop' )($utr,$uy2Diltr)[blue,hidden];
$ABRotSeg AnimateButton(0,100,'Animate on segment')($u,$Segm)(3)(0)(0)[red, hidden];
$LocSRot Locus($uRot,$u,$Segm,10)[blue,thick,hidden];
$LocSDily Locus($uy2Dil,$u,$Segm,10)[blue,thick,hidden];
$SBLocSRot ShowButton( 0,120,'Locus')($LocSRot)[blue,hidden];
$HBLocSRot HideButton(65,120,'Hide') ($LocSRot)[blue,hidden];
$SBLocSDily ShowButton(200,120,'Locus')($LocSDily)[blue,hidden];
$HBLocSDily HideButton(265,120,'Hide') ($LocSDily)[blue,hidden];
$ABRotCir AnimateButton(0,140,'Animate on circle')($u,$AnC)(3)(0)(0)[red,hidden];
$LocCRot Locus($uRot,$u,$AnC,40)[blue,thick,hidden];
$LocCDily Locus($uy2Dil,$u,$AnC,40)[blue,thick,hidden];
$SBLocCRot ShowButton( 0,160,'Locus')($LocCRot)[blue,hidden];
$HBLocCRot HideButton(65,160,'Hide') ($LocCRot)[blue,hidden];
$SBLocCDily ShowButton(200,40,'Loci')($LocCDily,$LocSDily,$AstS,$endS,$Segm,$AnC,$Ccentr,$PonCir,$QonCir,$SDiam)[blue,hidden];
$HBLocCDily HideButton(265,40,'Hide')($LocCDily,$LocSDily,$AstS,$endS,$Segm,$AnC,$Ccentr,$PonCir,$QonCir,$SDiam)[blue,hidden];
$SBSTRot ShowButton( 0, 80,'Animations')($AstS,$endS,$Segm,$ABRotSeg,$AnC,$Ccentr,$PonCir,$QonCir,$SDiam,$ABRotCir,$SBLocSRot,$HBLocSRot,$SBLocCRot,$HBLocCRot)[black,hidden];
$HBSTRot HideButton( 75, 80,'Hide' ) ($AstS,$endS,$Segm,$ABRotSeg,$AnC,$Ccentr,$PonCir,$QonCir,$SDiam,$ABRotCir,$SBLocSRot,$HBLocSRot,$SBLocCRot,$HBLocCRot,$LocSRot,$LocCRot)[black,hidden];
$SBRot ShowButton( 0, 0,'ROTATION by a')($uRot,$SuuRot,$xyuRot,$SBSTRot,$HBSTRot,$SBRotS,$HBRotS,$SBRotTr,$HBRotTr)[blue,bold];
$HBRot HideButton(110, 0,'Hide')( $uRot,$SuCuy2Dil,$SuuRot,$xyuRot,$SOu,$SOuRot,$CRot,$utr,$uRottr,$SBSTRot,$SBRotTr,$HBRotTr,$HBSTRot,$AstS,$endS,$Segm,$ABRotSeg,$AnC,$Ccentr,$PonCir,$QonCir,$SDiam,$ABRotCir,$SBLocSRot,$HBLocSRot,$SBLocCRot,$HBLocCRot,$LocSRot,$LocCRot)[blue];
${
$SBDilSx,$HBDilSx,$SBDilTrx,$HBDilTrx,
$}
ShowButton(200, 0,'DILATION by d')($uy2Dil,$Suuy2Dil, $SBDilTry,$HBDilTry,$SBLocCDily,$HBLocCDily)[blue,bold];
HideButton(309, 0,'Hide')( $uy2Dil,$Suuy2Dil,$SOu,$SOuy2Dil,$uy2Diltr,$SBDilTry,$HBDilTry,$SBLocCDily,$HBLocCDily)[blue];
$SBa ShowButton( 0,365,'Change a')($RO,$R1,$RL,$Rpta,$RectA,$Piper2,$Pi,$PTPi,$kaksPi,$SO2Pi)[red];
$HBa HideButton(62,365,'Fix a')( $RO,$R1,$RL,$Rpta,$Rptd,$RectA,$Piper2,$Pi,$PTPi,$kaksPi,$SO2Pi)[red];
$SBd ShowButton(300,365,'Change d')($RO,$R1,$RL,$Rptd,$RectA)[red];
$HBd HideButton(362,365,'Fix d')( $RO,$R1,$RL,$Rpta,$Rptd,$RectA,$SO2Pi,$Piper2,$Pi,$PTPi,$kaksPi,$SO2Pi)[red];
$SBComp ShowButton(170,345,'Trace')($utr,$Cuy2Diltr)[magenta,hidden];
$HBComp HideButton(210,345,'Stop' )($utr,$Cuy2Diltr)[magenta,hidden];
ShowButton(130,365,'Compose R and D')($Cuy2Dil,$xyCuy2Dil,$SuuRot,$xyuRot,$CRot,$SuCuy2Dil,$SBComp,$HBComp)[black];
HideButton(245,365,'Hide') ($Cuy2Dil,$xyCuy2Dil,$SuuRot,$CRot,$SuCuy2Dil,$SBComp,$HBComp,$Cuy2Diltr)[black];
|
Tehtävä O D.
Tutkitaan tason kiertoja (rotation) ja venytyksen ja kierron yhdistämistä funktioina R2 ® R2:
Käytä aluksi vain vasemman puolen valintoja taulussa.
Ota nyt mukaan myös oikeanpuoleiset nappulat.
Tutkitaan nyt yhdistettyä funktiota DoR (Compose R and D). Voit muutella näitä alaosan
"Change"-valinnoilla.
5. Resetoi (näppäimistön R:llä) kuvio ja valitse Compose R and D. Määritä yhdistetyn kuvauksen matriisi (likiarvot!):
|
|