内サイクロイド2 ミミコ 2003/09/11 17:31:32 └何をやりたいのか明確にしてください。 白石和夫 2003/09/11 18:17:57 └optionangledegrees ミミコ 2003/09/12 19:22:54 └サイクロイドの式を作りたいというときは,... 白石和夫 2003/09/12 20:18:06 └弧度法のままで考えて見ました。 ミミコ 2003/09/17 21:49:45 └プログラミングの問題というより,数学の問... 白石和夫 2003/09/17 22:01:28 └R=2rとする。 ミミコ 2003/09/19 17:20:20 └ベクトルCPを考えるとき,考えるべきことは... 白石和夫 2003/09/19 18:28:37
内サイクロイド2 ミミコ 2003/09/11 17:31:32 ツリーへ
内サイクロイド2 |
返事を書く |
ミミコ 2003/09/11 17:31:32 | |
こんにちは、この前は教えていただきありがとうございました。 今前の発言に、お返事をかく形で書かせて頂きましたが 新しい発言の形の方がいいかな、と思ったのでコピー してこちらに書きます。 考えたのですが、よくわかりません。 媒介変数で円をかき、その中に接するように同様に 媒介変数で円をかくことまでしかできません・・・。 白石さんのおっしゃることは理解できるのですが、 どのように円を動かして、軌跡をかかせたらいいでしょうか。 また教えていただけたらうれしいです。 |
└何をやりたいのか明確にしてください。 白石和夫 2003/09/11 18:17:57 ツリーへ
Re: 内サイクロイド2 |
返事を書く |
白石和夫 2003/09/11 18:17:57 | |
何をやりたいのか明確にしてください。 軌跡を描けばよいのか,それだけでは満足できずに円を描いて円を動かしたいのか? 円を動かすのは,特殊なテクニックが必要になります。 軌跡の方程式の作り方が分からないのであれば,分かったこと(どこまで分かったか)をここに書き込んでください。要するに,両円の位置関係を単一の媒介変数で記述するのがポイントです。たとえば,抽象的な存在として時刻を想定してもいいです。どの部分の運動に注目しても式は作れそうですが,注目点を確立するのが2番目のポイントでしょう。 |
└optionangledegrees ミミコ 2003/09/12 19:22:54 ツリーへ
Re: 何をやりたいのか明確にしてください。 |
返事を書く |
ミミコ 2003/09/12 19:22:54 | |
option angle degrees set window -6,6,-6,6 draw grid for t=0 to 360 plot lines:4*cos(t),4*sin(t); next t for a=o to 360 plot lines:2*cos(a),2*sin(a); next a set window -6,6,-6,6 draw grid draw circle with scale(4)*shift(0,0) draw circle with scale(2)*shift(2,0) for x=2 to -2 set line color 3 next x この二つを作ってみました。 1つ目は外円と内円のあいだ(X軸)に線がひかれるだけでした。 2つ目は、このかたちの状態で動かしたい、という円なのですが、媒介変数表示ではありません。 内円も原点中心になってしまうからです。 何がしたいのか、ということについて書きます。 軌跡が描きたいです。 本当は円を動かしたいのですが、私の知識では今は大変だと思うので・・・。 わからないことだらけのまったくの初心者ですが、 勉強していきますのでよろしくおねがいします。 |
└サイクロイドの式を作りたいというときは,... 白石和夫 2003/09/12 20:18:06 ツリーへ
Re: optionangledegrees |
返事を書く |
白石和夫 2003/09/12 20:18:06 | |
サイクロイドの式を作りたいというときは,弧度法が便利です。 半径rの円上を点Pが中心角でθラジアン動くと動いた弧の長さはrθです。角度の単位が度のままでもできないことはないけれど,面倒です。 次の設定で考えるのが楽です。 半径Rの円の内側を半径rの小円が転がる。小円上の動点Pの軌跡の方程式を作る。大円は原点が中心で,Pの最初の位置は点(R,0)だとしておく。そして,小円の中心と原点とを結ぶ動径がx軸の正の向きとなす角をθとして点Pの位置をθで表す。 なお,ベクトルで考えないと,面倒です。 |
└弧度法のままで考えて見ました。 ミミコ 2003/09/17 21:49:45 ツリーへ
Re: サイクロイドの式を作りたいというときは,... |
返事を書く |
ミミコ 2003/09/17 21:49:45 | |
弧度法のままで考えて見ました。 set window -5,5,-5,5 draw grid for t=0 to 7 step 0.01 plot lines:cos(t),sin(t); next t end が、原点中心ですが半径1の円になってしまいます。 白石さんのおっしゃることはだいたい理解できるのですが、「そして〜」以下がよくわかりません。 小円上の動点Pの軌跡はどのように考えたらよいでしょうか・・・。 紙に図は描けても、どのようなプラグラムをくんだらよいのか が思いつかないです。 |
└プログラミングの問題というより,数学の問... 白石和夫 2003/09/17 22:01:28 ツリーへ
Re: 弧度法のままで考えて見ました。 |
返事を書く |
白石和夫 2003/09/17 22:01:28 | |
プログラミングの問題というより,数学の問題です。 大円の半径をR,小円の半径をrとします。 大円の中心が原点Oで,小円の中心がC,小円上の動点をPとして, 角xOCが0のとき動点Pが円Oとx軸上の点A(R,0)で接していたとします。 そして,角xOCがθのとき,動径CPがx軸の正の向きとなす角を考えてください。(ここで,2円の接点をQとすると,弧AQの長さと弧PQの長さは一致することを使います。ここがポイント) それがわかれば,ベクトルCPをθを用いて表せます。そして,ベクトルOP=ベクトルOC+ベクトルCPと考えれば,点Pの媒介変数表示がでてきます。 |
└R=2rとする。 ミミコ 2003/09/19 17:20:20 ツリーへ
Re: プログラミングの問題というより,数学の問... |
返事を書く |
ミミコ 2003/09/19 17:20:20 | |
R=2rとする。 弧AQ=Rθ、弧PQ=r×角QCP つまりRθ=r×角QCP 角QCP=Rθ/r 角OCP=π+θ+Rθ/r=π+(r+R)θ/r ベクトルOC=(rcosθ,rsinθ) ベクトルCP=(−rcos(r+R)/r,−rsin(r+R)/r) よって、x=rcosθ−rcos(r+R)/r y=rsinθ−rsin(r+R)/r に、なりました。 ですが、3行目の『角OCP=π+θ+Rθ/r=π+(r+R)θ/r』が違うような気もします。 また、2行目の『角QCP=Rθ/r』は『角QCP=Rθ/r=2rθ/r=2θ』と、なるのではないかとも思います。 いかがでしょうか・・・。 |
└ベクトルCPを考えるとき,考えるべきことは... 白石和夫 2003/09/19 18:28:37 ツリーへ
Re: R=2rとする。 |
返事を書く |
白石和夫 2003/09/19 18:28:37 | |
ベクトルCPを考えるとき,考えるべきことは,動径CPがx軸の正の向きとなす角です。動径CQがx軸の正の向きとなす角はθ,動径CPがx軸の正の向きとなす角は,動径CQがx軸の正の向きとなす角から角QCPを引いたものです。 なお,R=2rの場合を最初に描くのは避けたほうが無難です。(答えが特殊です) また,BASICではrとRを区別しないので,プログラムに直すときは,たとえば,rとKのように一方を別の文字に変えてください。 |