CindyLab との連携
シミュレーション環境: simulation()
説明: この関数はシミュレーション環境へのハンドルを与えます。この関数で、たとえば、運動や位置エネルギーにアクセスできます。次のものがシミュレーションで重要なものです。
- friction: シミュレーション全体の摩擦力 (実数, 読み書き可)
- gravity: シミュレーション全体の重力 (実数, 読み書き可)
- kinetic: シミュレーション全体の運動エネルギー (実数, 読み出しのみ)
- ke: 同上 (実数, 読み出しのみ)
- potential: シミュレーション全体の位置エネルギー (実数, 読み出しのみ)
- pe: 同上 (実数, 読み出しのみ)
力の適用: addforce(<mass>,<vec>)
説明: 力
を存在する質点
に適用します。この演算子は、ユーザーの定義する力の場を実現するのに有用です。これは、
Integration Tick
スロットに置かなければなりません。
力の設定: setforce(<mass>,<vec>)
説明: 力
を存在する質点
に設定します。この演算子は、ユーザーの定義する力の場を実現するのに有用です。これは、
Integration Tick
スロットに置かなければなりません。
力の探索粒子: force(<vector>)
force
演算子は、CindyLab におけるシミュレーションと密接な関係があります。それは、特定の場所で粒子に及ぼす力をテストするのに使うことができます。ベクトル
は位置を表します。演算子はこの位置での力を2次元ベクトルで返します。修飾子が使われないならば、演算子は探針となる粒子は、質量が1,電荷が1,半径が1とみなされます。 (see 自由質点参照)。
次の図は、
drawforces
演算子と
force
演算子のカラープロットを使って描かれました。2つの電荷の力の場と、電磁場の強さを示しています。
A.charge=(|C,G|-3)*3;
B.charge=(|E,H|-3)*3;
f(x):=max((0,min([x,1])));
colorplot([0.1,0.1,0.1]+hue(f(abs(force(#)/3))),(-10,-10),(20,10));
drawforces(stream->true,move->0.2,color->[0,0,0],resolution->10);
修飾子: 質量と電荷、半径を明示することも可能です。これらはその名前の修飾子で設定されます。これらのうち少なくとも1つが設定されたならば、残りのものは0に設定されます。 したがって、
force((0,0),charge->2)
は、電荷2,質量0,半径0の粒子で、点
point [0,0]
の力をテストします。