sketch_3D_My_OB1_5タグのスケッチ
sketch_3D_My_OB1_5タグのスケッチは以下となります。
//sketch_3D_My_OB1_5
My_OB01 OB01;//使用クラスの定義
void setup()
{
size(650, 500, P3D);
OB01=new My_OB01();//My_OBクラスのオブジェクトを生成
}
void draw()
{
background(255, 255, 255);
lights();
ortho(-width/2, width/2, -height/2, height/2); // Same as ortho()
translate(width / 2, height / 2);
rotateY(map(mouseX, 0, width, -PI/1, PI/1));
rotateX(map(mouseY, 0, height, PI/1, -PI/1));
//noStroke();
strokeWeight(1);
fill(255, 255, 255);
scale(1,1,1);
OB01.OB01_03();//ユニット01-項番03
}
(1)上記スケッチにおいて、画像を発生するコードはOB01.OB01_03();です。
(2)OB01.OB01_03();には引数が無く固定データです。
(3)OB01はユニット名です。
(4)_03は項番です。
My_OB01タグのスケッチ
My_OB01タグのスケッチは以下となります。
class My_OB01 extends My_OB
{
void OB01_03()//ユニット01-項番03
{
int Pn=9;//ポイント数
float[] X={67,30,30,-40,-40,30,30,67,67};
float[] Y={182,182,40,40,-40,-40,-182,-182,182};
float L=3;
pushMatrix();
Z_Bar(24.3,160);
rotateZ(PI);
pushMatrix();
translate(0,0,-81.5);
//void Z_Polyon_Plate(int Pn,float X[],float Y[],float L)//多角形板
Z_Polyon_Plate(Pn,X,Y,L);
translate(0,0,163);
Z_Polyon_Plate(Pn,X,Y,L);
popMatrix();
pushMatrix();
translate(68.5,0,-100);
box(3,364,40);
translate(0,0,200);
box(3,364,40);
popMatrix();
//void X_Hole_XYZ(float r,float X,float Y,float Z)//擬似ホール
X_Hole_XYZ(3.5,70,164,102.5);X_Hole_XYZ(3.5,67,164,102.5);
X_Hole_XYZ(3.5,70,-164,102.5);X_Hole_XYZ(3.5,67,-164,102.5);
X_Hole_XYZ(3.5,70,-164,-102.5);X_Hole_XYZ(3.5,67,-164,-102.5);
X_Hole_XYZ(3.5,70,164,-102.5);X_Hole_XYZ(3.5,67,164,-102.5);
popMatrix();
}
}
(1)上記スケッチにおいて、My_OB01クラスはMy_OBクラスを継承します。
(2)void OB01_02()で品番1、品番2、品番3を合成します。
(3)穴開けは正式の穴開けでなく、印をつけるだけの擬似ホールです。
(4)この場合、box(3,364,40);等のメソッドが利用でき。簡単に物体形状が構成できます。