このプロジェクトは、ブラウザベースのIDEで物理シミュレーション(ばね‐マス‐ダンパ系)を実行するプロトタイプです。 ユーザはコードエディタにPythonコードを記述し、シミュレーション結果をビューアで確認できます。
spring_mass_damper_ide/
├── client/
│ ├── index.html # エディタとビューアを含むメイン画面
│ ├── style.css # クライアント側のスタイルシート
│ └── main.js # エディタの動作およびシミュレーション結果描画用JavaScript
├── server/
│ └── app.py # Flaskサーバ(ユーザコード実行と結果返却)
├── simulation/
│ └── spring_mass_damper.py # ばね‐マス‐ダンパシミュレーションのロジック
└── README.md # 実行方法などの説明書
-
Pythonのインストール Python 3.x がインストールされていることを確認してください。
-
リポジトリのクローン Gitを用いてリポジトリをクローンしてください。
git clone https://your-repository-url.git
cd spring_mass_damper_ide
- 仮想環境の作成 プロジェクトルートで以下のコマンドを実行して、Pythonの仮想環境を作成します。
python3 -m venv venv
※ Windows の場合は python -m venv venv
としてください。
- 仮想環境の有効化
- Unix/MacOS:
source venv/bin/activate
- Windows:
venv\Scripts\activate
- 必要なパッケージのインストール 仮想環境が有効な状態で、Flaskなど必要なパッケージをインストールします。
pip install flask
- サーバ起動
server
ディレクトリに移動し、以下のコマンドでFlaskサーバを起動します。
cd server python app.py
サーバ起動後、ブラウザで http://localhost:5000/
にアクセスしてください。
- IDEの使用 表示された画面では、左側にコードエディタ、右側にシミュレーション結果(グラフ)が表示されます。 エディタにサンプルコードが記載されているので、そのまま「実行」ボタンをクリックして動作を確認してください。
-
環境の統一 プロジェクトごとに依存パッケージを隔離できるため、複数人での開発や異なる開発環境でも同一の環境を再現できます。
-
依存管理の容易さ 必要なパッケージを
requirements.txt
にまとめることで、環境の再構築が簡単になります。 例:
pip freeze > requirements.txt
他のメンバーは以下のコマンドで同じ環境を構築できます。
pip install -r requirements.txt
-
本プロトタイプでは、ユーザが記述したPythonコードを
exec
を用いて実行しています。 実運用時は、セキュリティ強化のためにサンドボックス環境の導入や実行制限を検討してください。 -
プロジェクトは、クライアント側(HTML/CSS/JavaScript)、サーバ側(Flask)、およびシミュレーションロジックに分かれており、機能拡張やメンテナンスがしやすい構成となっています。