• ベストアンサー

円の自転のさせ方

For i = 0 To 6 Step 0.1 Picture1.Circle (10 * Cos(i), 10 * Sin(i)), 5 Next i 円を地球に見立てて自転もさせたいのですが これだとこの円は公転しかしません。 円を自転させるにはどうしたらいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> どうやったらいいのでしょうか? 先ほどの投稿で言ったように、 > 円の中心を通る線を引いておくとか・・・ 「円だけじゃ自転しても分からないので、円以外に別の印をつければどうでしょう」と言うことです。 で、その印をを回転する・・・ 例えば・・・・ ---------------------------------------------------- Dim i As Double Dim x1 As Double, y1 As Double Dim x2 As Double, y2 As Double For i = 0 To 6 Step 0.5 x1 = 10 * Cos(i) y1 = 10 * Sin(i) Picture1.Circle (x1, y1), 5 x2 = 5 * Cos(i * 2) y2 = 5 * Sin(i * 2) Picture1.Line (x1 - x2, y1 - y2)-(x1 + x2, y1 + y2) ' Picture1.Circle (x1 + x2, y1 + y2), 0.5 Next i ---------------------------------------------------- #Step細かいと分かりにくくなるので大きめにしています。

karasu4649
質問者

お礼

ありがとうございます。 できました。 ところで円が転がってるように見えるために、過去の円は消したいのですが どうしたらいいのでしょうか?

その他の回答 (3)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.4

> 円が転がってるように見えるために、過去の円は消したいのですが > どうしたらいいのでしょうか? 方法1:「Clsメソッド」で毎回クリア 方法2:前の円を「背景色」で描着なおしてから、新しい円を描く。 それから・・・描画は一瞬で終わりますから、WAIT処理を入れないと肉眼じゃ描かれているのが分からないですね。

karasu4649
質問者

お礼

ありがとうございました。 大変ためになりました。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 円を自転させるにはどうしたらいいのでしょうか? 素朴な疑問なんですが・・・ 円は、自転しても円のままなので、見かけは全く変わらないと思うんですけど・・・ 印をつけてその印を回転させるとかする必要があるのでは? 例えば・・・円の中心を通る線を引いておくとか・・・

karasu4649
質問者

補足

たしかにそうですね。 どうやったらいいのでしょうか?

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

円の自転だと 横回転の自転なら Circleのaspect引数に1以上の値を与えてみましょう Picture1.Circle(10*cos(i),10*Sin(i)),5,,,, 1.25^i といった具合です Y軸(またはX軸)で自転させるなら上記の方法で出来ますが 実際の地球のように自転軸が傾いている場合は自前で計算しないといけないでしょう

karasu4649
質問者

補足

すごいです。 立体的に自転しました。 ありがとうございました。 ところで、平面的な自転はどうやればいいのでしょうか?

関連するQ&A

専門家に質問してみよう