Scripting Physical EnvironmentsJ

print

物理的環境のプログラム


 CindyScriptCindyLab の可能性を広げる多くの方法があります。ここで、2,3の例を示します。まず、 CindyScript は、物理的量を見るオシロスコープや力の場をプロットするための命令文のような、いくつかの特殊演算を提供します。一方、CindyScriptは、物理的シミュレーション に関連するほとんどのパラメータに直接アクセスします。さらに、CindyScriptは、 CindyLabの要素の物理的機能を使用可能にしたり不可能にしたりできます。このように、 CindyLabで機械のような振舞いを実行することができます。 ここに、CindyLabとともに使うCindyScriptのいくつかの例を示します。


オシロスコープ


drawcurves(position,list_of_values) 命令は幾何学表示で曲線を描きます。ここで position は、オシロスコープが描かれる位置で、 list_of_values は、視覚的に見せるためのいくつかの大きさを含むCindyScriptのリストです。この命令の最も簡単な使用法は次のプログラムで示されます。

drawcurves((0,0),[B.x,B.y])


ここで x と y は、点Bが表示される座標です。Bが恒星の周りを回る点であれば、次のような図になります。

惑星の動きの曲線


初期状態では、曲線の描かれる範囲は値の範囲によって自動的に決まります。 drawcurves(...) 命令では、背景色や、曲線の色、文字の表示など描画のための多くのパラメータが設定できます。詳しくは CindyScript のリファレンスマニュアルをご覧ください。次の図は、連結された調和的発振子の動きに drawcurves 命令を使った例を示します。

連結された発振子の動き


ここでは、望ましい色と文字の表示のために多くの修飾子が使われました。 この例は、以下の CindyScript プログラムを使って作りました。

linecolor((1,1,1));
drawcurves((-7,-3),
textcolor((1,1,1));  (A.x,B.x,A.ke,B.ke,a.pe+b.pe+c.pe),
  height->50,
  color->(1,1,1),
  back->(0,0,0),
  backalpha->1,showranges->true,
  range->"peek",width->400,
  colors->[
    [1,0.5,0.5],
    [0.5,1,0.5],     
    [1,0.5,0.5], 
    [0.5,1,0.5],
    [0.5,0.5,1]],
  texts->[
    "PosA = "+ A.x,
    "PosB = "+B.x,
    "EnergyA = "+A.ke,
    "EnergyB = "+B.ke,
    "PostentialEnergy = "+(a.pe+b.pe+c.pe)
]);


力の場


CindyLab をサポートするためにデザインされた CindyScriptt のもうひとつの命令文はdrawforces 命令です。この命令文により、描画領域内のいたるところで方向と強さを視覚化できます。このためには、仮想的な探索粒子を画面上を横切らせ、異なる点で力を計測します。 簡単に CindyScript の命令文

drawforces()


を書くならば、すべての重力、クーロン力、物体の相互作用などが計測され、流れとして描かれます。探索粒子は、質量 = 1, 電荷 = 1, 半径 = 1 として標準化されています。たとえば、正反対の電荷をもつ2つの荷電粒子は drawforces() 命令で、次のような流れの図を描き出します。

単純な静電場


drawcurves() 命令と同様、 drawforces() 命令にも多くの修飾子があります。それらは、 CindyScript リファレンスで詳しく説明されています。ここで、少し高度な例を示します。

もう一つの単純な静電場


この流れの図を作ったプログラムの一部では、いくつかの修飾子を使っています。

drawforces(stream->true,
              color->(1,1,1),
              factor->3,
              resolution->5)


特に, stream->true 文は、通常の力の場の表示を、より精密な流れの図を与える小さな針の流れの図で置き換えます。


CindyLab の筋書きのプログラム


CindyScriptCindyLab のすべてのパラメータに関与できるので、複雑な動作を実行することも可能です。例として、簡単な卓球のゲームを示しましょう。まず、反射壁で卓球台の縁を描きます。別の反射壁を、ラケットのように、球を打つものとして、幾何学的に自由に動けるようにつくります。最後に、球を速度を持つ粒子として加えます。ここまでは、CindyLab とシンデレラだけで作ります。設定はすでにできていて、これだけでゲームができます。ただし、球が画面から出てしまうと永久に戻ってきません。



卓球ゲームを作る 球が飛んでいってしまう



そこで CindyScript が登場します。CindyScript によって、球が画面から出ていってしまったかどうかを検出し、それに対応することができます。次のプログラムでは、 if(H.x>D.x+9,....の行で、球が出ていってしまったかどうかを検出します。もし、そうであれば、新しい球をランダムな位置と速度、色で出します。さらに、カウンターが何個の球が失われたかを数えるのに使われます。


if(H.x>D.x+9,
  H.x=F.x;
  r=random();
  H.y=(r*D.y+(1-r)*G.y);
  w=random()*pi/2+3*pi/4;
  H.vx=-cos(w)*.4;
  H.vy=sin(w)*.4;
  H.color=(hue(random()));
  count=count+1;
);
drawtext((-1,-3),"Missed balls: "+count,size->20);


カウンターを初期化するために、simulation start タグにカウンターをゼロにする行を1行付け加えなければなりません。

count=0;


つぎの図は、ゲームの間に撮られたスナップショットを表します。どんなふうに黄色の球が飛んでいき、青の球が出てくるかを見てください。

卓球ゲームのプログラム



Contributors to this page: Akira Iritani .
Page last modified on Wednesday 03 of August, 2011 [00:18:50 UTC] by Akira Iritani.

The content on this page is licensed under the terms of the License.


Menu
free viagra samplehentai girlsmature pussymilfseeker cialis samplescam clip movie nude webcammother incest order viagra online cialis ukanime rapeparis hilton phone numbers viagra alternatives cialis forum cialis free samplehot girls in pantiesmonster of cocks discount cialis cilias free viagra samplesfree chat rooms cilia structurefree cartoon sex comics buy cialis order viagrafree adult videosplump girl gallerypantyhose gallerycum on her face cheapest cialisbisexual moviestampa bukakehuge black cock thumbnails buy cialis onlineporn star cialis drugwomen having sex cheap generic viagra alternative to viagra natural viagra cheap viagraoral sexteen webcam strip videosnude spanish girlserotic sex cams movies viagra side effectscartoon adultdisney sex animenude blonde hairygang bang swinger cialis viagrabisexual free moviesgay twinkswebcam chat live xxxyoung teens order cialislatina girls thongscum loversjapanese girl viagra cheapyoung japanese girlsmr chews asian beavergangbang squadshoshone indiansmature wiveslive webcam chat girlsfree ebony viagra on lineasian ladyboysteen boys viagra pillsself bondage techniques cailisincest familyfree ebony cheap cialisgay amateur cialis genericbusty asian viagra onlinemature breasts viagra for women free viagrabig boobies cialis generic viagragloryhole gaylatinas in thongs female viagraindian tits viagra 6 free samplesamateur upskirt viagra alternativefree xxx video cialis online discountgalleries of teen girls cialis dosage cheap generic cialisparis hilton pornopussy cat dollsbrutal sexgay peopleblack milfsno tits discount viagrablonde hairy pussyshemale animefree hardcore moviesmom strips for sonfat titscelebrity legsdouble anal levitra vs cialis cialis tadalafil cialis cheapgay bdsmcelebrities exposed viagra generic alternatives to viagra viagra canadabestialitypink porn stars viagra jokesclips of teen sexchicks suck horse cock online viagrasex with horsespainful analglory holes floridafree american bukkake cialis online buy viagrabig cock cum free cialisteen gay porn cialis side effects herbal viagra best price viagra purchase cialis cialis soft tabs cialis vs viagrafree fat girl webcamfree porn movie clipsoral penis suckingebony hardcore viagra pricepantyhose crossed legs cialis and levitralesbiennesblonde boobs buy viagra online