No.4ベストアンサー
- 回答日時:
> このようなものを作りたかったのですが、
実際にどういう方法で実現しているかは、作成した本人でなければ分かりませんが、
> 「小円上の固定点は実は固定点ではなくハイポサイクロイドのパラメータ表示で動かす。
> そして小円は小円で別の命令で動かす」
> ということになるのでしょうか?
少なくとも、この方法で実現可能ですね。
ハイポサイクロイドのパラメータとして必要な、
大円の半径、小円の半径、回転角度の内、
大円の半径、小円の半径はスクロールバーで指定。
回転角度はマウスポインタの位置と大円の中心との位置関係で計算。
とすれば、できますから・・・
#掲示されている式は、やはり私の式とちょっと違いますね・・・
No.3
- 回答日時:
> そして江戸時代の日本人はハイポサイクロイドのパラメータ表示を知
らなかったとします。
前にも書きましたが、
> 知っている、知らないは関係なく、結果として「ハイポサイクロイドの式」になる
のでは?
#ちなみに私は「ハイポサイクロイドの式」は知りません。
#先ほど「考え方」で作った式が「ハイポサイクロイドの式」と同じかどうかも確認していません。
#「円を転がすという動作をシミュレートするには、どういう式が必要か?」を考えてみただけです。
> そしてVBはあったと仮定します。
これも前に書きましたが、VBにできるのは、
> 「数学的に座標を計算して、その座標点に点を打つ」
だけです。
#点だけじゃなく、線や、円も描けますが、いずれにせよ描くだけです。
#描いた図形同士の関連性はありません。
プログラマ(つまり貴方が)数学的な計算を行って、
どこに点を打てばよいか(どこに点が打たれるはずか)を決めない限り、
VBは何もできません。
VBでできるのは、「現実を模式的(数学的)に表す」事だけですので。
要するにVB(の図形処理)でできるのは、
「(パソコン無しで)紙と鉛筆と消しゴム、おまけで、定規とコンパスと分度器と、電卓でできること」ぐらいです。(鋏で紙を切り抜いたりもできない前提で)
> そういうプログラムが作りたいのです。
「作る人(プログラマ)」としての立場と「使う人」としての立場は別だと考えたほうが良いですよ・・・
「使う人」にとって、
> そこで先生が「じゃあVBで実際やってみよう」と言って円を転がすわけです。
こういう風に見えているからといって、プログラムが「実際に円を転がしている」様に作られているわけじゃないですよ。
プログラムは、「円を転がしているのと同じ見栄えをする式を計算している」のが普通だと思います。
#まあ、もちろん、「実際に円を転がしている」ようなライブラリがどこかにあるかもしれません。(VBに付属はしていませんね)
#でも、それだって、そのライブラリの作者が数学的な計算式を書いているだけでしょうから・・・
・・・ひょっとして
> 「先生、円の中で円を転がしたらどういう軌跡になるんですか?」
の他に、
> 「先生、円の外で円を転がしたらどういう軌跡になるんですか?」
とか、そういうマクロな設定をパラメータ化したいんでしょうか・・・
だとすると・・・図形間の相互関係処理用のライブラリを自作するとかしないと・・・
うーん。年単位で頑張れば何とかなるかな・・・
詳しい解説ありがとうございます。
僕はまだVBというかプログラミング自体、始めたばかりです。
ところで
http://www.nakamura-sanyo.ed.jp/sanyo/yanase/mat …
このようなものを作りたかったのですが、
これは
「小円が動くことにより小円上の固定点が軌跡を作る」
のではなく
「小円上の固定点は実は固定点ではなくハイポサイクロイドのパラメータ表示で動かす。
そして小円は小円で別の命令で動かす」
ということになるのでしょうか?
No.2
- 回答日時:
> 円をころがしたら面白い図形ができた的なプログラム
「的」??意味が分かりません・・・
パラメータを色々指定できる様にするとか???
#所詮「絵を描くだけ」(紙にコンパスで円を描くのと同じ)で、
#実体が作られるわけじゃないですから、
#「接している」とか「転がっている」とかは数学的に表すしかありませんので。
ちなみにご自分でも言っておられますが、提示された条件で円を転がしたら、
必ず「ハイポサイクロイド」になると思いますが・・・
つまり貴方の希望をかなえる方法は、貴方が否定した、
「ハイポサイクロイドのパラメータ表示」では?
例えば、江戸時代の塾で
「先生、円の中で円を転がしたらどういう軌跡になるんですか?」
とか質問がでたとします。
そして江戸時代の日本人はハイポサイクロイドのパラメータ表示を知らなかったとします。
そしてVBはあったと仮定します。
そこで先生が「じゃあVBで実際やってみよう」と言って円を転がすわけです。
そういうプログラムが作りたいのです。
なぜかといいますと、ハイポサイクロイドのパラメーター表示を使ってしまったら
Psetで書けますので、わざわざ円を転がすアニメーションを作る必要がなくなってしまうからです。
円を転がすアニメーションを作ってみたらこういう図形になったというようなプログラムが作りたいのです。
No.1
- 回答日時:
> 小さい円に固定点を打つ方法はどうしたらいいのでしょうか?
「数学的に座標を計算して、その座標点に点を打つ」しかないですね。
> ハイポサイクロイドのパラメータ表示があるのは知っているのですが
> それは知らないものとして、
知っている、知らないは関係なく、結果として「ハイポサイクロイドの式」なるのでは?
考え方:
大きい円(大円)の半径R1、中心(0,0)、小さい円(小円)の半径R2
角度0で大円と小円が接しているとし、その点を「固定点」とする。
そうすると、角度A(ラジアン単位)の分だけ転がしたとき、
大円に注目すると、
接点は(R1*Cos(A),R1*Sin(A))になり、
小円の中心は((R1-R2)*Cos(A),(R1-R2)*Sin(A))になる。
また、円周上を転がった距離はR1*Aになる。
逆に、小円に注目すると、
小円の転がった角度-B(逆回転になるので)とすると、その転がった距離R2*Bは、大円上の転がった距離に等しいはずなので、
B=(R1/R2)*A
そうすると、固定点の座標は
((R1-R2)*Cos(A)+R2*Cos(-B),(R1-R2)*Sin(A)+R2*Sin(-B))
なので・・・
くわしい解説ありがとうございます。
その方法ですと確かに
Pset((R1-R2)*Cos(A)+R2*Cos(-B),(R1-R2)*Sin(A)+R2*Sin(-B))
のような方法で軌跡を作れるのですが、
そうではなくて、円をころがしたら面白い図形ができた的なプログラムを作りたいのですが、どうしたらいいのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 相続・譲渡・売却 固定資産税・都市計画税 先日、夫の義実家は固定資産税380万円以上払っていると聞き驚きました 義両親 1 2022/05/20 13:46
- 数学 数学教えてください!!軌跡、極線、反転 円C:x^2+y^2=1にCの外部の点P(a.b)から引いた 5 2022/07/08 01:55
- 物理学 図のように、内半径aの中空の円筒が、その中心軸が水平になるように固定されており、その中で、 質量 M 7 2023/02/15 09:23
- 固定資産税・不動産取得税 固定資産税が毎年400万円って、高額な部類ですか?? 兼業農家で、固定資産税を毎年400万円払ってま 2 2022/05/23 23:37
- 物理学 どうして放物線ですか? 15 2023/06/11 09:53
- 数学 第4問 座標平面上に3点 A(1, 1),B(1, 5), C(7, 3) を頂点とするABCがある 2 2022/10/01 14:53
- 所得・給料・お小遣い 自分は毎月7万お小遣いがあるのですが、みんなは多いと思う額なのに、固定費がかかって少なく感じます。 8 2022/11/26 13:01
- 物理学 画像のような感じで固定された状態の円柱に糸(質量は無視)をN回巻き付ける。 この糸の一端におもりPを 3 2023/02/19 13:05
- 数学 この問題は「円の中心の軌跡を求めよ」と書いてありますが、答えは放物線を表す方程式になりますが、 なぜ 1 2022/08/16 19:10
- 所得・給料・お小遣い 内定通知書の給与について教えてください 2 2022/07/12 21:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルで回転する座標の出し方
-
閉図形の座標の配列が右回りか...
-
エクセルである点からの距離で...
-
エクセルシート上のマウスポイ...
-
ダイアログ内コントロールの位...
-
以下のプログラムは重心を求め...
-
visualbasic でform上に正三角...
-
ワード上Shapeの位置情報を統一...
-
Excel VBA で自在に図形を変化...
-
碁盤目の経路数
-
6点からの楕円の近似計算(最...
-
空間上の二点を結ぶ直線上に任...
-
c言語でキーボードから2点の座...
-
始点、終点の二つの座標と半径...
-
(C言語)スキャンライン法によ...
-
座標を持った平面範囲に座標を...
-
VB6のPrinter.ScaleWidth に対...
-
円弧の描画について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マインクラフト(pc版)で座標...
-
グラフの交点の求め方(Excel)
-
エクセルで回転する座標の出し方
-
閉図形の座標の配列が右回りか...
-
3次元空間上の2つの座標から...
-
エクセルである点からの距離で...
-
求積表の計算方法
-
ダイアログ内コントロールの位...
-
空間上の二点を結ぶ直線上に任...
-
始点、終点の二つの座標と半径...
-
図形が重なりあっているかどうか
-
ワード上Shapeの位置情報を統一...
-
以下のプログラムは重心を求め...
-
シーケンサー(PLC?)で制...
-
ピクチャボックスの座標取得
-
多角形の内部かどうか判定する方法
-
Excel VBA で自在に図形を変化...
-
選択範囲の座標値の抽出
-
座標を持った平面範囲に座標を...
-
VBで、開いているExcelシートの...
おすすめ情報