Skip to content

MayaAbe/sim-in-IDE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

物理シミュレーションIDE プロトタイプ

このプロジェクトは、ブラウザベースの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              # 実行方法などの説明書

開発環境のセットアップ(仮想環境利用)

  1. Pythonのインストール Python 3.x がインストールされていることを確認してください。

  2. リポジトリのクローン Gitを用いてリポジトリをクローンしてください。

git clone https://your-repository-url.git
cd spring_mass_damper_ide
  1. 仮想環境の作成 プロジェクトルートで以下のコマンドを実行して、Pythonの仮想環境を作成します。
python3 -m venv venv

※ Windows の場合は python -m venv venv としてください。

  1. 仮想環境の有効化
  • Unix/MacOS:
    source venv/bin/activate
    
  • Windows:
    venv\Scripts\activate
    
  1. 必要なパッケージのインストール 仮想環境が有効な状態で、Flaskなど必要なパッケージをインストールします。
pip install flask

サーバの起動方法

  1. サーバ起動 server ディレクトリに移動し、以下のコマンドでFlaskサーバを起動します。
cd server python app.py

サーバ起動後、ブラウザで http://localhost:5000/ にアクセスしてください。

  1. IDEの使用 表示された画面では、左側にコードエディタ、右側にシミュレーション結果(グラフ)が表示されます。 エディタにサンプルコードが記載されているので、そのまま「実行」ボタンをクリックして動作を確認してください。

仮想環境を利用するメリット

  • 環境の統一 プロジェクトごとに依存パッケージを隔離できるため、複数人での開発や異なる開発環境でも同一の環境を再現できます。

  • 依存管理の容易さ 必要なパッケージを requirements.txt にまとめることで、環境の再構築が簡単になります。 例:

pip freeze > requirements.txt

他のメンバーは以下のコマンドで同じ環境を構築できます。

pip install -r requirements.txt

補足

  • 本プロトタイプでは、ユーザが記述したPythonコードを exec を用いて実行しています。 実運用時は、セキュリティ強化のためにサンドボックス環境の導入や実行制限を検討してください。

  • プロジェクトは、クライアント側(HTML/CSS/JavaScript)、サーバ側(Flask)、およびシミュレーションロジックに分かれており、機能拡張やメンテナンスがしやすい構成となっています。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published