[StarLogo/fujim2]
[ トップ ]   [ 差分 | バックアップ | リロード ]   [ 一覧 | 単語検索 | 最終更新 | ヘルプ ]

CONTENTS

  • FrontPage
  • StarLogoについて
  • こんな人におすすめ
  • StarLogoのインストール
  • StarLogoの簡単な入門
  • StarLogo TIPS
  • StarLogoのサンプル解説
  • StarLogo関連リンク集
  • OpenStarLogo
  • StarLogoTNG
  • StarLogoNova
  • 実験・研究
  • Petit-Hack
  • 文献
  • ご意見ご感想など
  • このページについて

最新の10件
2019-12-28
  • タートルグラフィックス
2019-01-27
  • FrontPage
  • StarLogo日本語化
  • Petit-Hack
  • このページについて
  • コメント/ご意見ご感想など
  • ご意見ご感想など
  • 文献
  • 実験・研究
  • こんな人におすすめ

加速度運動

Last-modified: 2019-01-27 (日) 03:14:59 (1518d)

StarLogo TIPS

Tips-gravity.PNG

--> Go Web Version

ボールが壁を跳ね返る様な絵を作ることはできるようになり ました。さて、次は地球上の実際のボールの様に重力の 影響で、奇跡が放物線を描くようにするにはどうしたらいいでしょうか。


  • 運動方程式
  • 2つの方法
  • パッチへの加速度の割り当て
  • 運動のための手続き
  • 例

運動方程式 †

もちろん、基本的には加速度から速度を求め、その速度から 新しい位置を求める、といった計算は行います。

その基礎は、Newtonの運動方程式

力 = 質量 × 加速度

という方程式を解くというものです。

それほど難しい話でもないのですが、ここでは簡単に済ませておきます。

↑

2つの方法 †

その上で、この方法には大きく分けると2つのやり方があります。

1つは、グローバルな加速度 (ax, ay)をシミュレーション全体に 定義して、タートルの軌道計算を行う場合にそれを使うというもの。

そして、もう1つは、パッチそれぞれに対して加速度を持たせると いう方法です。

全者の方持たなければならない情報少なく、簡単なのですが、空間内の 加速度が全て同じという状況のシミュレーションしかできないため、 多少柔軟性にかけます。

そこで、このTIPSでは後者のやり方について説明します。 このやり方では、適当な場 を定義して、それに従った物体の運動をシミュレーションしたり、 物体が場の変化を引き起こすような状況を表すモデルが 作成できます。

↑

パッチへの加速度の割り当て †

まず、加速度のための変数をパッチに持たせます。

patches-own [ax ay]

そして、初期設定として、全てのパッチに加速度を設定します。

ask-patches [
     set ax 0
     set ay -9.8
]

この場合、地球上の重力加速度 9.8 を下向きにかけた状態を 表したことになります。

↑

運動のための手続き †

加速度(ax, ay)をパッチから取得し、適当な時間刻みdtが与えられたとき、 次の様なタートル手続きで、新しい速度、位置の計算ができます。

to tmove 
 let [:dt dt100 * 0.001]
 let [:ax ax-at xcor ycor]
 let [:ay ay-at xcor ycor]
 let [:vx ((dx * v) + (:ax * :dt))]
 let [:vy ((dy * v) + (:ay * :dt))]
 let [:angle (atan :vx :vy)]
 let [:dx v * :dt]
 set v (sqrt((:vx * :vx) + (:vy * :vy)))
 seth :angle
 fd (v * :dx)
 check-boundary
end

check-boundary手続きは、設定してある壁にぶつかった 事を判定して跳ね返る処理をしています。

↑

例 †

左端から右に向かって平行にタートルがスタートし、放物線 を描きながら運動し、壁にぶつかったら跳ね返る、という プログラムを載せておきます。

initした後や、tmoveを押したあとに pendownすると、奇跡がえらる ので、pdのボタンも用意しておきました。


Counter: 309, today: 1, yesterday: 0

Link: StarLogo TIPS(1518d)

添付ファイル: fileTips-gravity.PNG 217件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-01-27 (日) 03:14:59 (1518d)
Link: StarLogo TIPS(1518d)
Site admin: anonymous

PukiWiki 1.5.0 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.6.40. HTML convert time: 0.012 sec.