//sketch_3D_MyJet_MPU6050 import processing.serial.*; Serial myPort; // The serial port float My=0; float Mz=0; float Mx=0; void setup () { size(740, 660, P3D); println(Serial.list()); myPort = new Serial(this, Serial.list()[1], 38400); myPort.bufferUntil('\n'); } void draw () { background(0, 256, 256); lights(); noStroke(); fill(240, 240, 230); translate(width / 2, height / 2); translate(mouseX-width / 2,0,200+mouseY- height / 2); rotateX(Mx); rotateY(Mz); rotateZ(My); OB_A2();//Z軸回転体(胴体) OB_A3();//Z軸回転体(胴体先端) OB2();//主翼 OB3();//水平尾翼 OB4();//垂直尾翼 OB_A4();//Z軸回転体(エンジン) } void serialEvent(Serial myPort) { String myString = myPort.readStringUntil('\n'); myString = trim(myString); float sensors[] = float(split(myString, ',')); for (int sensorNum = 0; sensorNum < sensors.length; sensorNum++) { print(sensors[sensorNum] + "\t"); } println(); Mx=sensors[3]/10000; My=sensors[4]/10000; Mz=sensors[5]/10000; myPort.write("A"); } void OB_A4()//Z軸回転体(エンジン) { int sides=16;//分割数 int Sn=6;//面数 float Pz[]={0,-1,-50,-60,-70,-70};//z座標 float R[]={15,20,20,15,15,1};//回転物半径 int i,j; float angleIncrement = TWO_PI/sides; pushMatrix(); translate(60, 36.3,-145); for(j=0;j