ShapesJ

print

シェイプ


 直線や多角形、円などの基本的な描画に加えて CindyScript によってこれらを結合した図形ーシェイプーを描くことができます。シェイプは直接は目に見えませんが、充填材やアウトラインの描画、クリッピングとして使えるでしょう。シェイプは和集合、積集合、補集合といった集合の論理演算によって作られます。ここでは、まず基本的な演算について説明し、そのあと、より精巧な例を示してこの機能について説明します。



シェイプの初歩



円形のシェイプ: circle(<point>,<radius>)



説明: この関数は円形のシェイプを作ります。




多角形シェイプ: polygon(<list>)



説明: この関数は、 <list> に頂点のリストを渡して多角形のシェイプを作ります。




半平面シェイプ: halfplane(<line>,<point>)



説明: この関数は半平面のシェイプを作ります。半平面は境界線 -+<line> と、点 <point> によって定義されます。境界線のどちら側であるかがその点で決まり、点が含まれる方がその半平面です。-+<line> は3次元の同次座標か直線オブジェクトです。



スクリーンのシェイプ: screen()



説明: この関数は、すべてのアクティブな描画要素を覆うのに十分に大きい長方形を作ります。



シェイプの結合


 それぞれのシェイプは、論理演算によって結合することができます。それには3つの演算があります。

<shape1>++<shape2> 2つのシェイプの併合
<shape1>~~<shape2> 2つのシェイプの共通部分
<shape1>--<shape2> 2つのシェイプの差





シェイプの使い方


 シェイプは次に述べる3つの方法で使われます。充填と境界線描画、クリッピングです。




シェイプによる充填: fill(<shape>)



説明: この関数ではシェイプを与えられた色で塗りつぶします。

修飾子: つぎの修飾子が使えます。

修飾子: 値の型 効果:
color[<実数1>,<実数2>,<実数l3>] 塗りつぶす色をRGBで指定
alpha<実数l> により、透明度を設定





シェイプを描く: draw(<shape>)



説明: この関数はシェイプの輪郭線を描きます。

修飾子: この関数はよく使われるdraw()関数の拡張で、drawと同じ修飾子が使えます。




クリップパスの設定: clip(<shape>)



説明: この関数は、シェイプのクリップパスを設定します。これ以降に描画するものはすべてこのクリップバスで止められます。クリップパスは表現スタックに加えられますが、それは grestore() あるいは greset() で取り除くことができます。



例: 次の図はシェイプの使い方を示します。まず「点を加える」モードで点A〜Fをとっておきます。次のコードで3つの異なるシェイプが定義されます。1つの正方形と2つの円です。そして、それらが論理演算によって結合されています。充填とアウトラインです。小さなシェイプは、細い線でアウトラインが描かれています。

shape1=circle(E,4);
shape2=circle(F,4);
shape3=polygon([A,B,C,D]);
color((0,0,0));
shape=shape1++shape2++shape3;
fill(shape,color->(1,0.8,0));
draw(shape,size->3);
draw(shape1);
draw(shape2);
draw(shape3);


次の最初の図がこの結果です。ほかの3つの図は、それぞれ図の下に示した演算で作成したシェイプです。

shape1++shape2++shape3shape1~~shape2~~shape3
shape1++shape2--shape3shape1++shape2~~shape3


次のコードはクリップパスの使い方を示します。「点を加える」モードで5つの点A,B,C,D,Eをとっておきます。スクリプトでは、まず4つの円を合併したシェイプを定義します。すると、このシェイプが、点Eを中心とした同心円のクリッピングパスとして働きます。

r=3;
shape=circle(A,r)++circle(B,r)++circle(C,r)++circle(D,r);
clip(shape);
repeat(60,i,
  drawcircle(E,i/2,color->(0,.6,0),size->3);
);
greset();
draw(shape,color->(1,1,1),size->2);




シェイプは、次の例に示すような反復系のオブジェクトにもなります。ただし、あまり複雑にすると破綻をきたしますので注意しておきます。複雑な形はシンデレラの動作を遅くしてしまいます。

a=complex(A);
b=complex(B);
z=complex(C);
shape=circle((0,0),0);
repeat(50,
  shape=shape++circle(gauss(a),|a-b|);
  a=a*z;
  b=b*z;
);
fill(shape,color->(1,0.7,0));
draw(shape,color->(0,0,0),size->2);




Contributors to this page: Akira Iritani .
Page last modified on Tuesday 06 of March, 2012 [13:19:51 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