鏡映と回転

鏡映と回転の関係を見る図を描く.


Setax([7,"se"]);
// 原点名 O の表示位置を変える.
// 点A を適当なところに置く.
Putpoint("O",[0,0]);
Lineplot("1",[O,A]);
// 原点を O とし,直線 OA を描く.
Putpoint("C",Reflectpoint(B,ln1));
// 点B を適当なところに置く.
// 直線 OA に関して B と対称な点を C とする.
Plotdata("1","0","x");
Putpoint("D",Reflectpoint(B,gr1));
// x 軸に関して B と対称な点を D とする.
Putpoint("E",(B+C)/2);
Putpoint("F",(B+D)/2);
// BC の中点を E, BD の中点を F とする.
Listplot("1",[B,C],["do"]);
Listplot("3",[O,C],["dr,0.5"]);
Listplot("4",[O,B],["dr,0.5"]);
Listplot("5",[O,D],["dr,0.5"]);
// 線分を描く.
Anglemark("1",[F,O,E],["E=1.2,\theta",1.7,"nodisp"]);
// 角のマークは後で青く描きたいので,"nodisp" としておき,\theta だけ書く.
Ptsize(5);
Drawpoint([B,C,D]);
// 大きめの点を打つ.
Defvar("r",Findlength("sg4"));
// 線分OBの長さを r とする.
Defvar("t1",arcsin(C.y/r));
Defvar("t2",arcsin(B.y/r));
Defvar("t3",(t1-t2)/4);
// 使う角度をt1,t2,t3 とする.
Defvar("r1",0.5);Defvar("r2",0.6);
Ptsize(4);
Drawpoint([r1*[cos(t1-t3),sin(t1-t3)],0]);
Drawpoint([r1*[cos(t2+t3),sin(t2+t3)],0]);
Ptsize(2);
Drawpoint([r2*[cos(t2/2),sin(t2/2)]]);
Drawpoint([r2*[cos(-t2/2),sin(-t2/2)]]);
// 大きさの同じ角度がわかるように印をつける.
Arrowhead(C,C-E);
// 矢じりを描く.
Letter([B,"ne","P"]);
Letter([C,"n1w-2","P$``$"]);
Letter([D,"s1","P$`$"]);
Expr([A,"nw","\ell"]);
Expr([E,"nw3","h"]);
Expr([F,"sw","g"]);
Expr([G,"s2","f"]);
// 点の名前などを書く.
Setcolor([0,0,1]);
Listplot("2",[B,D]);
Arrowhead(D,D-F);
Paramplot("1","[r*cos(t),r*sin(t)]","t=[-arcsin(B.y/r),arcsin(C.y/r)]");
Arrowhead(C,C-G);
Paramark([O,E,B],[0.3]);
Paramark([O,F,B],[0.3]);
// 青色で描く.
AddGraph("1",ag1);
// "nodisp" としておいた角のマークをここで表示する.
Setcolor([0,0,0]);
// 黒色に戻しておく.
最終更新:2016年10月30日 15:33
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|
添付ファイル