Я использую Обработку, чтобы попытаться нарисовать что-то, и я застреваю в цикле FOR, который я пытаюсь запустить.Обработка - Перевод и Вращение, для цикла
У меня есть эскиз, который я хотел бы сделать короче, воспользовавшись командами Translate and Rotate. Однако по какой-то причине я не могу заставить это работать. Если я прокомментирую первый цикл FOR («for (int k = 0; ...)», он правильно рисует в одном из моих 8 квадрантов. Я просто хочу, чтобы затем повернуть на 45 градусов, снова нарисовать и продолжить до тех пор, пока он идет полный круг.
int hHeight, hWidth;
void setup(){
size(800,800);
hHeight = height/2;
hWidth = width/2;
background(0);
strokeWeight(.5);
}
void grid(){
stroke(255);
line(hWidth,0,hWidth,height);
line(0,hHeight,width,hHeight);
line(width,0,0,height);
line(0,0,width,height);
}
void rotatingGrid(float steps){ // This is the one I am having trouble with...
for (int k = 0; k == 8; k ++){ // loop this 8 times, to complete 8 rotations
pushMatrix();
translate(hWidth,hHeight);
rotate(radians(45));
for (int i = 0; i < hWidth; i+= steps){
line(i,0,hWidth-i,hHeight-i);
}
popMatrix();
}
}
void draw(){
stroke(255);
grid();
rotatingGrid(10);
}
Так что если вы закомментировать первый цикл (и закрывающая скобка), она работает правильно. Как я могу цикл, который, вращая его в 7 раз, вместо того, чтобы просто поставить «Rotate (радианы (45))»и цикл 7 несколько раз
спасибо за любые советы или помощь
Aha! Спасибо! Я поставил «int angle = 0» перед циклом for, добавив «угол + = 45; после поворота линии и сделал «k <8», и он сработал. Большое спасибо за Вашу помощь! – user3718365