シーン言語
更新日 2026年8月5日
SimuLab のシーンはグラフィックエディターで描くのではなく、テキストで記述します。つまり、どの図形を表示するか、どのように動かすか、どの視点から見るかを、科学の問題向けに設計されたシンプルな言語で正確に定義できます。
シーンの編集場所
問題を手動で作成または編集する際、エディターの 問題文 セクションまでスクロールしてください。問題文テキストの下に シミュレーションコード というプレースホルダーのある等幅テキストフィールドがあります。そこにコードを書きます。プレビュー ボタンを押すとプレビューボックスでシーンが実行され、保存前に確認できます。
全体構造
シーンには 2 つの主要な部分があります:
sceneブロック。シーンのタイプ(2dまたは3d)、表示エリア、すべての図形を定義します。- 1 つ以上の
animブロック。anim start..endの形式を使って、図形が時間の経過とともにどのように動いたり変化したりするかを定義します。
anim ブロック内では、各アニメーション行に @start..end を前置して特定のアニメーションが発生する時間区間を指定できます。
使用可能な要素ファミリー
2D シーン
| 要素 | 機能 |
|---|---|
point |
点と任意のラベルで位置をマーク |
vector |
方向と大きさを持つ矢印 |
segment |
2 点間の線分 |
line |
2 点を通る無限直線 |
circle |
円(塗りつぶしまたはアウトラインのみ) |
rect |
矩形 |
polygon |
必要な数の頂点を持つポリゴン |
curve |
数学関数で定義された曲線 |
label |
シーン内に配置されたテキスト |
emitter |
粒子エミッター(流体、場) |
axis |
ラベル付き直交座標軸 |
3D シーン
| 要素 | 機能 |
|---|---|
sphere |
空間内の球 |
box |
直方体 |
cylinder |
円柱 |
plane |
平面 |
arrow3 |
3D 矢印 |
molecule |
SMILES 式による分子 |
camera |
初期カメラビューの設定 |
使用可能なアニメーション
アニメーションは anim ブロック内に記述し、適用する図形の名前を指定します。主なものは次の通りです:
| アニメーション | 動作 |
|---|---|
move |
図形を別の位置に移動 |
rotate |
回転させる |
scale |
サイズを変更 |
fade |
透明度を変更 |
oscillate |
点の周りで振動させる |
orbit |
別の要素の周りを周回させる |
follow |
曲線に沿って移動させる |
trace |
移動した軌跡を描く |
spin |
軸周りで連続回転 |
pulse |
サイズを脈動させる |
flow |
図形上に粒子フローを生成 |
show / hide |
図形を表示または非表示にする |
set |
特定の時点でプロパティを変更 |
最小限の例
次のコードは、右方向に動く点を持つ 2D シーンを定義します:
scene 2d
space x=-5..5 y=-5..5
point A at (0, 0) color=blue label="A"
anim 0..3
move A to (4, 0)
この例では 2 次元のシーンを作成し、両軸で −5〜5 の表示エリアを設定し、青色で原点に A という名前の点を配置し、0〜3 秒のアニメーションで位置 (4, 0) まで移動させます。
問題を作成する際にシーンは任意です。コードを追加しなくても問題は正常に機能しますが、アニメーションによる視覚化はなくなります。
よくある質問
シーンを書くのにプログラミングの知識は必要ですか? いいえ。この言語は読みやすさを重視して設計されています。各行は図形や動きを、その動作に似た言葉で説明します。例を参考にしながら数分練習するだけで十分です。
どんな色が使えますか?
使用できる色の名前は:red、blue、green、yellow、orange、purple、cyan、magenta、white、black、gray です。
値に数式を使えますか?
はい。式フィールドでは sin、cos、sqrt、exp、abs、ln、log、pow などの演算が使えます。定数 pi、e、t(アニメーション時間)も使用できます。
次のステップ
- インタラクティブなシーン — シーン付き問題を解くときに学習者が見るもの。
- 問題を作成する — ゼロから問題を作成するための完全ガイド。
- 問題を解く — 解答画面の仕組み。