// 直方体を xy-平面上に描く 5b // x 軸の正の方向に移動させながら、x 軸の回り, y 軸の回り, 原点の回りに回転させる import java.applet.Applet; import java.awt.*; public class cuboid5b extends Applet { public void paint(Graphics g) { int d_x = 20; // 平行移動距離(x 軸方向)の初期値 int d_y = 20; // 平行移動距離(y 軸方向)の初期値 int d_z = 20; // 平行移動距離(z 軸方向)の初期値 char axis1 ='z'; char axis2 ='y'; char axis3 ='x'; double theta1 = 10; // axis1 軸回りの回転角度 double theta2 = 20; // axis2 軸回りの回転角度 double theta3 = 30; // axis3 軸回りの回転角度 double scale = 0.6; // 大きさ double inc_x = 30; // x 軸方向の平行移動の増分 double inc_y = 0; // y 軸方向の平行移動の増分 double inc_z = 0; // z 軸方向の平行移動の増分 double inc_theta_x = 20; // x 軸の回りの回転角度の増分 double inc_theta_y = 0; // y 軸の回りの回転角度の増分 double inc_theta_z = 0; // z 軸の回りの回転角度の増分 int i,n; n = 360/(int)inc_theta_x; for (i=0; i<n; i++) { cuboid4c.paint(g,d_x,d_y,d_z,axis1,theta1,axis2,theta2,axis3,theta3,scale); d_x += inc_x; d_y += inc_y; d_z += inc_z; theta1 += inc_theta_z; theta2 += inc_theta_y; theta3 += inc_theta_x; } } }