FLASHやJavaアプレットで「びよよよ~~ん」と
バネやゴムが伸縮するような動きをするグラフィックや
じわじわとスピードを落としながら動きが止まるグラフィックがありますが、あーゆーものは物理の公式をプログラムにおきかえているのですか?
もしそうだとしたらプログラムの為の物理公式集とかあるのでしょうか?
おすすめの本、HP等あったら教えて下さい。
ちなみに物理関係のHPいろいろ見ましたが、どうプログラムに置き換えて
よいやらさっぱりわかりませんでした。
以前「サンプルコードをコピペすればよい」とか言われたことがあるの
ですが、理屈がわからないとどうしても気持ちが悪いので・・・
どなたかアドバイスお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>あーゆーものは物理の公式をプログラムにおきかえているのですか?
まぁその通りですが、そのまんま置き換えているわけではなく、プログラム用に簡略化して置き換えている場合も多いです。そのまんま書いたら、いかに高速なCPUであっても、処理が重くなったりしますからね。
物理法則をプログラムに置き換えることについては、案外簡単です。
あれこれ考えるよりも「習うより慣れろ」で身に付けたほうがいいでしょう。
等加速度運動などの簡単な動きについては、プログラムを勉強して「アルゴリズム」の作り方を身に付ければ、いちいち参考資料などを見ずともプログラムすることができます。
それ以上のバネや振り子の動きや重力、などについても、高校物理の教科書さえあれば、初級プログラマでも何とかプログラムできるでしょう。
要は「対象となる物理法則に関する知識」「プログラムの書き方」と「方程式をプログラムに置き換えるコツ」、そして肝心の「方程式」さえあれば、たいがいの物理現象は記述することができるのです。
コツさえ分かってしまえば、そして、速度を求めさえしなければ、プログラムの記述自体はさほど難しくはないでしょう。
>プログラムの為の物理公式集とかあるのでしょうか
うーん、探せばありますが、ほとんどは上記のような事柄をマスターした人向けの情報です。
「このような動きを作るにはどのようにすればいいか」ではなく「この方程式を高速に計算するには」といった視点で書かれていますね。
「この動きを作るには・・・」については、殆どが「以下のコードをコピペして下さい。」といった内容ばっかりです。
・・・・・・つまり、物理シムの作り方を言葉で人に理解させるのは、すっごく難しいんですよ。
それより、簡単なサンプルを渡して、それに応用を加えさせ、体で理解してもらうほうがずっと簡単。
ってことでまずは本当に単純な動きのサンプルを見つけてきてそれをコピペしてください(^^;
そして、そのサンプルをよく読んで理解してください。
そして、そのサンプルに手を加えて、徐々に複雑にしていってください。
たとえば、まずは「X軸上を等速直線運動するボール」あたりから始めてみればいいんじゃないでしょうかねぇ。
次にそれをY軸方向にも運動させて斜めの動きを作ってみて・・・ それを等加速度運動に変えてみて・・・ とやっているうちにコツは身に付くと思いますよ。
少なくとも私のこれまでの経験においては、理屈+実践を身に付けるには、これ以外の方法はありませんです。
すばやいレスありがとうございます。
暗闇の4カ月間にようやく光が差し込んできたような思いです。
まわりにある程度以上詳しい人皆無の為、どこから手をつけていいかわからず、ご指摘のような
”上記のような事柄をマスターした人向け”の情報しか見つからず、正直あきらめかけていたところでした。
それにしてもARCさんの文章の段落ごとが僕にとっては福音です。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript プルダウンから1個選んで、豆知識を出すプログラム。 2 2022/06/21 17:27
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- システム CPUの問題について 2 2022/07/09 12:04
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- au(KDDI) ■AU「 スマホトクするプログラム」について 4 2023/08/09 08:54
- BTOパソコン ゲーミングPCを購入するにあたり、沢山質問をさせていただき皆様の回答をもとに色々思考しながらそろそろ 2 2022/11/15 13:37
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- その他(スマートフォン・携帯電話・VR) “スマホ” は、何が出来るんだ? 4 2022/04/13 20:12
- その他(ビジネス・キャリア) グーグルの障害者訓練プログラム募集あるがどうだろ?6時間勤務で月収22万!! 1 2023/02/17 20:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
c言語のサイコロを100回振って...
-
COBOLのS9タイプからXタイプへ...
-
バックグラウンドで動作させる。
-
VBA
-
シリアル通信に関するプログラ...
-
DirectShowでのカメラ画像
-
三次元のグラフを書きたいので...
-
デジタルフィルタ
-
C言語でのソケット通信のclose
-
processingで雪が積もるような...
-
プロダクションコードとは?
-
オブジェクト指向によるポケモ...
-
signalハンドラに引数を渡したい
-
R言語の逆行列計算について
-
四択のクイズを作っているので...
-
VBAプログラミング
-
XPathの関数「text()="value"」...
-
gccでスタックオーバーフローの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webプログラムってネイティブア...
-
vba listviewにおけるtextのAli...
-
初級者の質問――time_tについて
-
VBA
-
COBOLのS9タイプからXタイプへ...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
2値化した画像の黒い部分のピク...
-
プロダクションコードとは?
-
Arduino nano(アルドゥイーノ ...
-
URLの最初の「h」を略す
-
VBコンソールアプリ(.NET Frame...
-
XPathの関数「text()="value"」...
-
世界一美しいソースコード
-
Excel VBA で、データベースフ...
-
三次元のグラフを書きたいので...
-
Visual Studio .NET C# でDLLを...
-
SH2を使いたいです
-
壁紙の変更
-
gccでスタックオーバーフローの...
おすすめ情報