コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
アサガオ ◆vmJ8mv1ijcTk
2023/11/11 22:15
スプライトを円形に動かそうと試行錯誤してみました。数学で習った「cosθはx座標」「sinθはy座標」を利用すればいいということに気づくまで、円の方程式「x^2+y^2+ax+bx+c」を利用しようと沼にはまっていました。結果的に画像のように書いたら、スプーンのスプライトが円を描いてくれたので最適解か分からないけど、ひと安心。

コメント

アバター
Jun_ 2023/11/12 11:34 ◆kRVY2/y4UN74
高校数学の数IIIの媒介変数表示というものに似た考え方があります。
そのプログラムのSPOFSに少し応用を加えると面白い図形が沢山描けますよ!

(以下、プログラム例)
【楕円】
SPOFS 1,150+50*cos(Y),150+50*sin(Y)/2
円を潰したような形です。

【サイクロイド】
SPOFS 1,50+15*(Y-sin(Y)),150-15*(1-cos(Y))
転がる円の上にある点の軌跡です。
最も早く転がる坂の形状としても有名です。(最速降下曲線で調べてみて下さい)

【アステロイド】
SPOFS 1,150+50*POW(cos(Y),3),100+50*POW(sin(Y),3)
※POW(cos(Y),3) はcos(Y)の3乗という意味です。
星のような形をした曲線です。

【カージオイド】
SPOFS 1,150+50*(1+cos(Y))*cos(Y),100+50*(1+cos(Y))*sin(Y)
ハート型を描く曲線です。面白い形をしています。

「数III いろいろな曲線」で調べるともっとたくさん出てきます。
気になったら是非!
アバター
アサガオ 2023/11/12 21:46 ◆vmJ8mv1ijcTk
わあ!ありがとうございます!
媒介変数表示という言葉を初めて聞いたのですが、「曲線を表した式の中にある、x・yのそれぞれの関係を表した式」「x=〜、y=〜」という認識で大丈夫でしょうか?

教えていただいたプログラムを試してみてビックリしました!複雑な形がひとつの式でまとめられてしまうなんて…これを考え出した数学者たちはスゴイなぁと思いました。
アバター
Jun_ 2023/11/12 23:04 ◆kRVY2/y4UN74
そうです!だいたいそんな感じです
やはり数学は奥が深くて良いですよね…
アバター
こういち 2023/11/12 23:14 ◆ou0jbJnEJ0Kb
円形に動かす方法。色々ありますね。
その中でも三角関数は直感的で並列化にも強いのが魅力

他にはフックの法則、複素数の累乗など
ブレゼンハムのアルゴリズムなんてのもあったっけ…
アバター
アサガオ 2023/11/13 21:48 ◆vmJ8mv1ijcTk
フックの法則って物理で出てくる「F=kx」”バネの伸び”が”バネに加わる力”に比例するやつのことですか?そのようなものでも、円状にものを動かすことができるのですね…!
ブレゼンハムのアルゴリズム…「与えられた始点と終点の間に連続した点を置き、近似的な直線を引くためのアルゴリズム。」(wiki引用)初めて知りました、アルゴリズムもなんだか奥が深そう…
アバター
ツララ 2023/11/21 19:27 ◆ArUdBYOYME1V
円を構成する成分って中心点の座標とその点からの距離だから
件の方程式も三平方の定理から(x-a)^2+(y-b)^2=r^2って形から変形すれば
x^2+y^2+2a*x+2b*y+(a^2+b^2-r^2)=0だけど
ここからX=とY=の式を導き出すなら展開しない方が楽ですな
( X=a±√r^2-(y-b)^2 と Y=b±√r^2-(x-a)^2 )
んでFOR文使って4つの象限毎に走査する軸をXとYを切り替えて
FOR X=0 TO R STEP 1
Y=b+√r^2-(x-a)^2
SPOFS
NEXT
FOR Y=0 TO -R STEP -1
X=a-√r^2-(y-b)^2


みたくやれば
直線を描く要領で座標を求めれて別に三角関数使わなくてもよかったり

・・・そもそも”=”を使わないと方程式じゃないんじゃないんです?

沼った原因はどうでもよくて結果だけ欲しいなら関連書籍漁った方が近道ですよ
アバター
アサガオ 2023/12/26 0:35 ◆vmJ8mv1ijcTk
「円を構成する成分→中心点の座標とその点からの距離」このことを理解していなかったのが、多分原因の一つだと、最近分かってきました。勉強し直すキッカケをくださり、ありがとうございます。

あぁ「四つの象限ごとに描く」。そのように考えれば、どこでx.y座標がどのように変化するかが三角関数を使わなくても、頭の中でイメージしやすいですね!

そうですね。確かに、情報ゼロの状態で手をつけるよりも書籍とか文献から探ってみた方が、自分に何の知識が無かったのかも分かるし、時短にもなるので、時と場に応じて情報・書籍は漁っていこうと思います。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -