跪求大神,立方体怎么以中心轴旋转
processing吧
全部回复
仅看楼主
level 3
sos2457 楼主
下面写的程序是以Y轴旋转的,怎么改才能以中心轴旋转?
跪求大神指点
[委屈]
int wl = 500, bl = wl /20, bn = 9;
int degy = 0;
void setup(){
size(wl, wl, P3D);
}
void draw(){
background(0);
translate(wl /3, wl /3, 0);
rotateY(radians(degy++));
for(int y = 0; y < bn; y++){
pushMatrix();
for(int x = 0; x < bn; x++){
change_color(x, y);
box(bl, bl, bl);
translate(bl, 0, 0);
}
popMatrix();
translate(0, bl, 0);
}
}
void change_color(int x, int y){
int[][] col = { {255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 255, 0}, {255, 0, 255}, {0, 255, 255}, {255, 255, 255} };
int n = (x + y * bn) %7;
fill(col[n][0], col[n][1], col[n][2]); }
2015年10月27日 04点10分 1
level 3
sos2457 楼主
急急急,跪求大神[乖]
2015年10月27日 04点10分 2
level 1
int wl = 500, bl = wl /20, bn = 9;
int degy = 0;
void setup(){
size(500, 500, P3D);
}
void draw(){
background(0);
translate(wl /2, wl /3,0);
rotateY(radians(degy++));
for(int y = 0; y < bn; y++)
{
pushMatrix();
for(int x = 0; x < bn/2; x++)
{
change_color(x, y);
box(bl, bl, bl);
translate(bl, 0, 0);
}
popMatrix();
translate(0, bl, 0);
}
translate(-bl, -bl, 0);
for(int y = 0; y < bn; y++)
{
pushMatrix();
for(int x = 0; x < bn/2; x++)
{
change_color(x, y);
box(bl, bl, bl);
translate(-bl, 0, 0);
}
popMatrix();
translate(0, -bl, 0);
}
}
void change_color(int x, int y){
int[][] col = { {255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 255, 0}, {255, 0, 255}, {0, 255, 255}, {255, 255, 255} };
int n = (x + y * bn) %7;
fill(col[n][0], col[n][1], col[n][2]); }
2015年10月27日 06点10分 6
我用了一种最笨的方法,从中间开始搭方块
2015年10月27日 06点10分
好的,谢谢。我一会去试一下。 我老师跟我说,之前我发的,只要加一句就可以。想了快一周了,都不知道怎么加[LOUDLY CRYING FACE]
2015年10月27日 06点10分
回复 xiebanbobo :有微信吗?以后有关于processing问题,还需咨询你[GRINNING FACE WITH SMILING EYES][GRINNING FACE WITH SMILING EYES][GRINNING FACE WITH SMILING EYES] 刚开始学,很多不懂
2015年10月27日 06点10分
@sos2457 你老师意思应该是在方块搭完之后重新改translate,我尝试失败了,实在小白
2015年10月27日 06点10分
1