круг — ЛОГОТИП Черепахоподобный в C ++, рисование кривых

Я создаю LOGO Turtle-подобный объект в C ++, используя библиотеку CImg. При попытке нарисовать круг, определенный как команды repeat 360[fd 1 rt1] который повторяется 360 раз, продвигаясь вперед на 1 пиксель и поворачивая вправо на 1 градус за каждую итерацию. С моим кодом, хотя Я получаю более восьмиугольную форму, а не реальный круг.

Код для продвижения вперед:

void turtle::fd(int distance)
{
int endx, endy;

endx = posx-(int)round((distance*sin(heading * PI / 180)));
endy = posy-(int)round((distance*cos(heading * PI / 180)));

if(pen)
window->draw_line(posx, posy, endx, endy, color1, 1);

posx=endx;
posy=endy;
}

В CImg, draw_line() нарисует линию из положения posx posy в endx endyостальное цвет и непрозрачность.

И для поворота направо:

void turtle::rt(int degree)
{
heading -= degree;
if(heading < 0)
heading = (360-abs(heading));
}

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]