前提・実現したいこと
現在、ルービックキューブのような立方体を作っていて、それを列ごとに縦回転や横回転ができるようにしたいのですが、実現可能でしょうか?ご解答よろしくおねがいします。
該当のソースコード
processing
float boxSize = 40; float distance = 42; float halfDis; int boxNum = 5; float step = 255/boxNum; float angleX = 30; float angleY = 60; void setup() { fullScreen(P3D); halfDis = distance*(boxNum- 1)/2; } void draw() { background(0); translate(width/2, height/2); rotateX(radians(-angleX)); rotateY(radians(angleY)); rotateX(angleX); rotateY(angleY); for (int z = 0; z < boxNum; z ++) { for (int y = 0; y < boxNum; y ++) { for (int x = 0; x < boxNum; x ++) { pushMatrix(); translate(x*distance - halfDis, y*distance - halfDis, z*distance - halfDis); box(boxSize, boxSize, boxSize); popMatrix(); } } } } float pressed_x; float pressed_y; void mouseDragged() { angleY = (mouseX - pressed_x) * 0.005; angleX = (mouseY - pressed_y) * 0.005; }
可能でしょう。
私はできそうにないので情報だけ^^;
ルービックキューブはいっぱいありそうです(元ネタは数個なのかもしれないが)
[Search · rubiks cube](https://github.com/search?l=Processing&q=rubiks+cube&type=Repositories
回転させることより、そのUIのほうが難しそうですね。。
情報ありがとうございます。参考にさせていただきます。