Processing/2.ちょっと発展/10.図形の再利用
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#navi(Processing/2.ちょっと発展)
* 2-10. 図形の再利用 [#w1212a53]
Processingでは図形を再利用する仕組みが用意されている。
「繰り返し」のところで五角形を描いたが、それを少し変更す...
int i, th=0;
size( 200, 200 );
beginShape();
for( i=0; i<5; i++ ){
vertex(50 + 20 * sin(radians(th)), 130 - 20 * cos(rad...
th = th + 144;
}
endShape(CLOSE);
これは点(50,130)を中心とする星形を描くスケッチであるが、...
同じことを3回書くこともできるが、Shapeを用いれば、次のス...
PShape star;で、starという名前のShapeを使うことを宣言する...
createShape()でShapeを用意する。
その下の6行の内容は、star.を加えることで、画面ではなくSha...
shape(star, 100, 100)でShapeを画面の点100,100に描く。
int i, th=0;
PShape star;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
shape(star, 100, 100);
shape(star, 150, 30);
shape(star, 50, 130);
図形を拡大、縮小、回転したり、色を変えたりすることもでき...
以下の例では、2番目の星を36度回転し、3番目の星を線を赤で...
int i, th=0;
PShape star;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
shape(star, 100, 100);
star.rotate(radians(36));
shape(star, 150, 30);
star.resetMatrix();
star.setStroke(color(255,0,0));
star.setFill(color(255,255,0));
shape(star, 50, 130);
いくつかの図形を組み合わせて一つのShapeを作ることもできる...
次の例では、星(star)と三角形(tri)を組み合わせた図形(star_...
tri = createShape(TRIANGLE, 20, 0, 40, 7, 42, -5);
は、3点(20,0), (40,7), (42,-5)を頂点とする三角形のShapeを...
star_tri=createShape(GROUP);
でいくつかのShapeを組み合わせて新しいShapeを作る「入れ物...
star_tri.addChild(...);
でstar_triに( )内のShapeを追加する。
int i, th=0;
PShape star, tri, star_tri;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
tri = createShape(TRIANGLE, 20, 0, 40, 7, 42, -5);
star_tri=createShape(GROUP);
star_tri.addChild(star);
star_tri.addChild(tri);
shape(star_tri, 100, 100);
star.rotate(radians(36));
shape(star, 150, 30);
star.setStroke(color(255,0,0));
star.setFill(color(255,255,0));
shape(star, 50, 130);
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/proce...
createShapeでは[[いろいろな図形>Processing/1.はじめに/5....
|createShape(POINT,x,y);|点(x,y)|
|createShape(LINE,x1,y1,x2,y2);|2点(x1,y1), (x2,y2)を結ぶ...
|createShape(TRIANGLE,x1,y1,x2,y2,x3,y3);|3点(x1,y1), (x2...
|createShape(QUAD,x1,y1,x2,y2,x3,y3,x4,y4);|4点(x1,y1), (...
|createShape(RECT,x1,y1,x2,y2);|2点(x1,y1), (x2,y2)を対角...
|createShape(ELLIPSE,x,y,dx,dy);|中心(x,y)、x方向の直径dx...
|createShape(ARC,x,y,dx,dy,a1,a2,mode);|中心(x,y)、x方向...
|createShape(BOX, w, h, d);|直方体|
|createShape(SPHERE, r);|球|
終了行:
#navi(Processing/2.ちょっと発展)
* 2-10. 図形の再利用 [#w1212a53]
Processingでは図形を再利用する仕組みが用意されている。
「繰り返し」のところで五角形を描いたが、それを少し変更す...
int i, th=0;
size( 200, 200 );
beginShape();
for( i=0; i<5; i++ ){
vertex(50 + 20 * sin(radians(th)), 130 - 20 * cos(rad...
th = th + 144;
}
endShape(CLOSE);
これは点(50,130)を中心とする星形を描くスケッチであるが、...
同じことを3回書くこともできるが、Shapeを用いれば、次のス...
PShape star;で、starという名前のShapeを使うことを宣言する...
createShape()でShapeを用意する。
その下の6行の内容は、star.を加えることで、画面ではなくSha...
shape(star, 100, 100)でShapeを画面の点100,100に描く。
int i, th=0;
PShape star;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
shape(star, 100, 100);
shape(star, 150, 30);
shape(star, 50, 130);
図形を拡大、縮小、回転したり、色を変えたりすることもでき...
以下の例では、2番目の星を36度回転し、3番目の星を線を赤で...
int i, th=0;
PShape star;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
shape(star, 100, 100);
star.rotate(radians(36));
shape(star, 150, 30);
star.resetMatrix();
star.setStroke(color(255,0,0));
star.setFill(color(255,255,0));
shape(star, 50, 130);
いくつかの図形を組み合わせて一つのShapeを作ることもできる...
次の例では、星(star)と三角形(tri)を組み合わせた図形(star_...
tri = createShape(TRIANGLE, 20, 0, 40, 7, 42, -5);
は、3点(20,0), (40,7), (42,-5)を頂点とする三角形のShapeを...
star_tri=createShape(GROUP);
でいくつかのShapeを組み合わせて新しいShapeを作る「入れ物...
star_tri.addChild(...);
でstar_triに( )内のShapeを追加する。
int i, th=0;
PShape star, tri, star_tri;
size( 200, 200 );
star=createShape();
star.beginShape();
for( i=0; i<5; i++ ){
star.vertex(20 * sin(radians(th)), -20 * cos(radians(...
th = th + 144;
}
star.endShape(CLOSE);
tri = createShape(TRIANGLE, 20, 0, 40, 7, 42, -5);
star_tri=createShape(GROUP);
star_tri.addChild(star);
star_tri.addChild(tri);
shape(star_tri, 100, 100);
star.rotate(radians(36));
shape(star, 150, 30);
star.setStroke(color(255,0,0));
star.setFill(color(255,255,0));
shape(star, 50, 130);
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/proce...
createShapeでは[[いろいろな図形>Processing/1.はじめに/5....
|createShape(POINT,x,y);|点(x,y)|
|createShape(LINE,x1,y1,x2,y2);|2点(x1,y1), (x2,y2)を結ぶ...
|createShape(TRIANGLE,x1,y1,x2,y2,x3,y3);|3点(x1,y1), (x2...
|createShape(QUAD,x1,y1,x2,y2,x3,y3,x4,y4);|4点(x1,y1), (...
|createShape(RECT,x1,y1,x2,y2);|2点(x1,y1), (x2,y2)を対角...
|createShape(ELLIPSE,x,y,dx,dy);|中心(x,y)、x方向の直径dx...
|createShape(ARC,x,y,dx,dy,a1,a2,mode);|中心(x,y)、x方向...
|createShape(BOX, w, h, d);|直方体|
|createShape(SPHERE, r);|球|
ページ名: