#author("2019-05-21T17:02:11+09:00","default:qua","qua") #navi(Processing/1はじめに) *2次元図形 [#q1eb443f] 円と長方形の他にもいろいろな図形が用意されている。 **線分 [#u08ba186] line(x1,y1,x2,y2)で点(x1,y1)から点(x2,y2)への線分が描かれる。 **点 [#r286e35b] point(x,y)で、点(x,y)が描かれる。 **楕円 [#obf068e3] ellipse(x,y,dx,dy)で楕円を描く。ただし、 ellipseModeによって以下の通りになる。 |ellipseMode|楕円の描き方| |CENTER|点(x,y)を中心とする、x軸方向の直径dx、y軸方向の直径dyの楕円| |RADIUS|点(x,y)を中心とする、x軸方向の半径dx、y軸方向の半径dyの楕円| |CORNER|点(x,y), (x+dx,y+dy)を対角線とする長方形に内接する楕円| |CORNERS|点(x,y), (dx,dy)を対角線とする長方形に内接する楕円| ellisepModeは何も指定しなければCENTERであり、それ以外を指定するには、ellipseMode()を用いる。 **円 [#j50e680d] circle(x,y,d)で円を描く。描き方はellipseModeで設定する。これはellipse(x,y,d,d)と同じことを表す。 circle(40,50,10); ellipseMode(RADIUS); circle(80,70,10); circle(70,40,20); で、点(40,50)を中心とする直径10の円、点(80,70)を中心とする半径10の円、点(70,40)を中心とする半径20の円が描かれる。 **円弧 [#ge5fe659] arc(x,y,dx,dy,a1,a2,mode)で中心(x,y)、x方向の直径dx、y方向の直径dy、開始角a1、終了角a2の楕円弧を描く。a1, a2はラジアン単位なので、度単位で指定するには、radians()を用いる。例えば、 arc(50,50,100,100,radians(45), radians(225)); は中心(50,50)、半径50で45度回転させた半円を描く。また、modeはOPEN, CHORD, PIEのいずれかで、始点、終点の処理を表す。OPENは何もせず、CHORDは始点と終点を線分で結び、PIEは始点、終点をそれぞれ中心と線分で結ぶ。modeを省略するとOPENとみなされる。 **長方形 [#oa119e07] rect(x,y,w,h)で長方形を描く。ただし、rectModeによって以下の通りになる。 |rectMode|長方形の描き方| |CORNER|点(x,y), (x+w,y+h)を対角線とする長方形| |CORNERS|点(x,y), (w,h)を対角線とする長方形| |CENTER|点(x,y)を中心とする幅w、高さhの長方形| |RADIUS|点(x,y)を中心とする幅2w、高さ2hの長方形| rectModeは何も指定しなければCORNERである。それ以外を指定するには、rectMode()を用いる。 **正方形 [#s367e05b] square(x,y,w)で正方形を描く。描き方はrectModeで設定する。これは、rect(x,y,w,w)と同じ。 **三角形 [#g68dd00d] triangle(x1,y1,x2,y2,x3,y3)で3点(x1,y1), (x2,y2), (x3,y3)を頂点とする三角形が描かれる。 **四角形 [#pf9e3f20] quad(x1,y1,x2,y2,x3,y3,x4,y4)で4点(x1,y1), (x2,y2), (x3,y3), (x4,y4)を頂点とする四角形が描かれる。 #author("2019-05-21T17:14:26+09:00","default:qua","qua") -例1 [#lff9d65d] size(400,400); arc(200,90,250,250,0,radians(180)); quad(100,50,60,90,340,90,300,50); triangle(200,200,180,190,220,190); arc(200,140,60,60,radians(70),radians(110),PIE); ellipse(140,130,20,30); line(250,115,270,145); line(270,115,250,145); #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/processing/img/1-5-1.png) 五角形以上を描く命令は用意されていないが、連続する直線や曲線を描くための仕組みが用意されている。 |beginShape();|図形を描き始める。| |vertex(x,y);|頂点(x,y)を追加する。| |endShape();|図形を描き終えるが、最初の頂点と最後の頂点の間に線を引かない。| |endShape(CLOSE);|最初の頂点と最後の頂点を線で結び、図形を描き終える。| -例2 beginShape(); vertex(150.0, 50.0); vertex(245.1, 119.1); vertex(208.8, 230.9); vertex( 91.2, 230.9); vertex( 54.9, 119.1); endShape(CLOSE); #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/processing/img/1-5-2.png) -例3 beginShape(); vertex(150.0, 50.0); vertex(245.1, 119.1); vertex(208.8, 230.9); vertex( 91.2, 230.9); vertex( 54.9, 119.1); endShape(CLOSE); #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/processing/img/1-5-3.png) -例4 beginShape(); vertex(150.0, 50.0); vertex(208.8, 230.9); vertex( 54.9, 119.1); vertex(245.1, 119.1); vertex( 91.2, 230.9); endShape(CLOSE); #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/processing/img/1-5-4.png)