サイクロイド

サイクロイドの媒介変数表示を導くために使う図をつくる.

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (title=)

cycloid.zip

Putpoint("O",[0,0]);
// 原点Oを[0,0]に固定する.
Putpoint("A",[0,1],[0,A.y]);
// 点Aをy軸上で動くように指定する.
Defvar("a=A.y");
// 変数aを点Aのy座標とする.
Putpoint("PA",[1,1],[PA.x,A.y]);
// 点PA(画面上A')を点Aと同じ高さ(y座標が同じ)の自由点とする.
Putpoint("PQ",[1,0],[PA.x,0]);
// 点PAのx軸への垂線の足を点PQ(画面上Q)とする.
Deffun("Cycx(t)",["regional(x)","x=t-a*sin(t/a)","x"]);
// サイクロイドのx座標の計算(パラメータt,t/aは回転角)する関数
Deffun("Cycy(t)",["regional(y)","y=a*(1-cos(t/a))","y"]);
// サイクロイドのy座標の計算(パラメータt)する関数
Putpoint("P",[0,0],[Cycx(PA.x),Cycy(PA.x)]);
// 円の中心が点PAに移動したときのサイクロイド上の点Pをとる.
Putpoint("H",[0,0],[PA.x,P.y]);
// 点Pの直線A'Qへの垂線の足をHとする.
Circledata("1",[A,O],["dr,0.5"]);
// 点Aを中心とし,原点を通る円(cr1)を描く.
Setcolor([1,0,0,0]);
// カラーをシアンに設定
Circledata("2",[PA,[PA.x,0]],["dr"]);
// 中心を点A',半径を円cr1と同じに円を描く.
Setcolor([0,0,0,1]);
// カラーを黒に設定する.
Setpen(1.5);
Circledata("3",[PA,[PA.x,0]],["Rng=[3*pi/2-"+Text(PA.x/a)+",3*pi/2]"]);
// 円が回転した範囲の円弧を太く描く.
Listplot("1",[O,PQ]);
// 円が回転したx軸の範囲を太く描く.
Setpen(1);
// ペンの太さを元に戻す.
Paramplot("1","[Cycx(t),Cycy(t)]","t=[0,"+Text(PA.x)+"]",["dr"]);
// 動いた範囲のサイクロイド曲線を描く.
Setpen(0.5);
// ペンの太さを0.5に設定する.
Bowdata([A,O],[1,0.5,"Expr=a","dr"]);
// AOのBowdata
Anglemark([P,PA,PQ],["E=1.5,t",0.6]);
// 角PA'QのAnglemark
Paramark([PA,H,P],0.2);
// 直角マーク
Listplot("2",[P,H,PA,P]);
// 折れ線PHA'Pを描く.
Listplot("3",[H,PQ]);
// 線分HQを描く.
// 各点の名前の表示する.
Letter(A,"nw1","A");
Letter(P,"w1","P");
Letter(PA,"ne1","A$^{\prime}$");
Letter(H,"e1","H");
Letter(PQ,"s1","Q");
最終更新:2016年10月30日 14:10
|新しいページ |検索 |ページ一覧 |RSS |@ウィキご利用ガイド |管理者にお問合せ
|ログイン|
添付ファイル