Java 为什么赢了';它不旋转吗?
我试着做一个旋转的椭圆到中心,除了在绘图中,x和y的偏移量改变之外,我很难知道它是如何不移动的。我首先绘制了椭圆的初始x和y位置,并尝试计算其与中心的距离。我想知道你们是否可以帮忙,非常感谢。^(这里是初学者)[IDE处理] 我不知道从极地坐标到笛卡尔坐标的革命有什么错Java 为什么赢了';它不旋转吗?,java,processing,Java,Processing,我试着做一个旋转的椭圆到中心,除了在绘图中,x和y的偏移量改变之外,我很难知道它是如何不移动的。我首先绘制了椭圆的初始x和y位置,并尝试计算其与中心的距离。我想知道你们是否可以帮忙,非常感谢。^(这里是初学者)[IDE处理] 我不知道从极地坐标到笛卡尔坐标的革命有什么错 Heart heart = new Heart(); int h = 500; int w = 500; void setup(){ size(500,500); heart = new Heart(); he
Heart heart = new Heart();
int h = 500;
int w = 500;
void setup(){
size(500,500);
heart = new Heart();
heart.init();
//heart.display();
}
void draw(){
background(0);
heart.rotate();
}
class Heart {
float[][] pos;
float[] dist;
int hold;
float xOff;
float yOff;
Heart(){
hold = 10;
dist = new float[hold];
pos = new float[hold][hold];
}
void init(){
for(int i = 0; i < hold; i++){
for(int j = 0; j < hold; j++){
pos[i][j] = random(0,h);
}
}
}
/*void display(){
for (int k = 0; k < hold; k++){
fill(0,10,255,50);
ellipse(pos[k][0],pos[0][k],15,15);
stroke(255);
line(w/2,h/2,pos[k][0],pos[0][k]);
}
}*/
void rotate(){
float[] r = new float[hold];
int theta;
for(int k = 0; k < hold; k++){
r[k] = dist(w/2,h/2,pos[k][0],pos[0][k]);
for(theta = 0; theta <= TWO_PI; theta++){
xOff = r[k] * cos(theta);
yOff = r[k] * sin(theta);
stroke(255);
println(pos[k][0] + xOff);
ellipse(pos[k][0] + xOff,pos[0][k] + yOff,15,15);
}
}
}
}
心脏=新心脏();
int h=500;
int w=500;
无效设置(){
尺寸(500500);
心=新心();
heart.init();
//heart.display();
}
作废提款(){
背景(0);
心。旋转();
}
班主任{
浮动[][]位;
浮动[]距离;
int hold;
浮动xOff;
浮动约夫;
心(){
保持=10;
dist=新浮动[保持];
pos=新浮动[保持][保持];
}
void init(){
for(int i=0;i 对于(θ=0;θ使用float
类型的全局变量angle
。在每个帧中增加角度,并将其传递给方法Heart.rotate()
:
浮动角度=0.0;
作废提款(){
背景(0);
心。旋转(角度);
角度+=0.01;
}
方法Heart.rotate()
必须在每一帧中以一个特定角度i绘制椭圆,而不是在每一帧中循环绘制所有可能的角度
类心{
// ...
空心旋转(浮动θ){
浮动[]r=新浮动[保持];
for(int k=0;k
注意,在执行全局后,显示会更新一次。方法Heart.rotate()
的内部循环中没有显示的更新。什么是TWO\u PI
?为什么角度是整数?