0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Codeの準備

Posted at

✅ 手順1:VS Codeの準備

① Pythonをインストール

まだの方は、公式サイトからPythonをインストールしてください。
👉 https://www.python.org/downloads/

インストール時に必ず
✅「Add Python to PATH」にチェックを入れてください。


② VS Codeをインストール

👉 https://code.visualstudio.com/


③ Python拡張機能を入れる

VS Codeを開いて、
左の「拡張機能(四角いアイコン)」 → 検索バーに Python「Python(Microsoft)」 をインストール。


✅ 手順2:作業フォルダを作る

デスクトップなどに新しいフォルダを作成します。
例:

C:\Users\あなたの名前\Desktop\vpython_collision

このフォルダを VS Codeで開く
(→ [ファイル] → [フォルダを開く])


✅ 手順3:Pythonファイルを作成

  1. VS Codeで右クリック → 「新しいファイル」
  2. 名前をつける → collision_vpython.py
  3. 下のコードを貼り付ける
# Program Name: collision_vpython.py
# Creation Date: 20251015
# Overview: Simulate 1D elastic collision between two balls using VPython
# Usage: Run in VS Code terminal → python collision_vpython.py

from vpython import sphere, vector, rate, color, scene

# --- Parameters ---
m1, m2 = 2.0, 1.0
v1, v2 = 2.0, -1.0
r1, r2 = 0.5, 0.5
dt = 0.005
x1_init, x2_init = -4.0, 4.0

# --- Scene setup ---
scene.background = color.white
scene.width = 800
scene.height = 400
scene.center = vector(0, 0, 0)
scene.title = "1D Elastic Collision Simulation"

ball1 = sphere(pos=vector(x1_init, 0, 0), radius=r1, color=color.blue, make_trail=True)
ball2 = sphere(pos=vector(x2_init, 0, 0), radius=r2, color=color.red, make_trail=True)

v1_vec = vector(v1, 0, 0)
v2_vec = vector(v2, 0, 0)

# --- Simulation loop ---
while True:
    rate(200)
    ball1.pos += v1_vec * dt
    ball2.pos += v2_vec * dt

    # 衝突判定
    if abs(ball1.pos.x - ball2.pos.x) <= (r1 + r2):
        v1_new = ((m1 - m2) / (m1 + m2)) * v1_vec.x + (2 * m2 / (m1 + m2)) * v2_vec.x
        v2_new = ((2 * m1) / (m1 + m2)) * v1_vec.x + ((m2 - m1) / (m1 + m2)) * v2_vec.x
        v1_vec.x, v2_vec.x = v1_new, v2_new

    # 壁反射
    if abs(ball1.pos.x) > 6:
        v1_vec.x *= -1
    if abs(ball2.pos.x) > 6:
        v2_vec.x *= -1

✅ 手順4:VPythonをインストール

VS Codeの下のターミナルを開きます(Ctrl + @キーで開く)。
次を入力して実行:

pip install vpython

(※ 一度だけでOK)


✅ 手順5:実行する

ターミナルで次を入力:

python collision_vpython.py

✅ 手順6:動作確認

  • 自動的にブラウザ(またはVS Code内の表示ウィンドウ)が開く
  • 白い背景の上で青と赤のボールがぶつかって跳ね返る

これで成功です!


💡補足

  • もし「ブラウザが開かない」場合は、http://localhost:port番号 をターミナルに表示されるURLから開いてください。
  • VPythonはリアルタイム3D描画を行うため、ブラウザが開いて表示されるのが正しい動作です。
  • Ctrl + C でシミュレーションを停止できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?