Движение круга по эллипсу - PascalABC.NET
Формулировка задачи:
Всем привет. Нужно нарисовать движение планеты по эллипсу вокруг солнца. Подскажите пожалуйста формулу движения по эллипсу. Я вот придумал такое:
Но что подставить на места '?', a и b не знаю, что бы я не подставил, не могу угадать так, что бы было под форму, даже рядом.
Уравнение эллипса x^2/a + y^2/b = 1 тут подойдет же?
Решение задачи: «Движение круга по эллипсу»
textual
Листинг программы
program bublik; uses graphABC; var x, y,n,i: integer; k:real; K1, B: Array[1..901] of Integer; C: Array[1..901] of Color; begin Window.SetSize(640, 640); k := 1; LockDrawing; for i := 1 to 900 do begin K1[i] := random(0,640); B[i] := random(0,640); C[i] := rgb(random(255), random(255), random(255)); end; for n:=1 to 10 do begin i := 1; while k < 360 do begin clearwindow(clblack); for i:=1 to 900 do putpixel(K1[i], B[i], C[i]); X := 300 + round(Sin(K) * 250 + 50); {ширина эллипса} Y := 300 + round(Cos(K) * 100 + 40); setbrushcolor(clSkyBlue); circle(x, y, 15); k := k + 0.009; setbrushcolor(clYellow); circle(300,300, 30); Redraw; end; end; end.
Объяснение кода листинга программы
Список действий в коде:
- Установка размера окна 640x640 пикселей.
- Задаётся значение переменной k равное 1.
- Задаются массивы K1, B, C размером 901 элемент.
- Заполняются массивы K1, B, C случайными значениями от 0 до 640 и случайными цветами.
- В цикле от 1 до 10 выполняется следующая последовательность действий: а) Задаётся значение переменной i равное 1. б) В цикле от 0 до 359 выполняется следующая последовательность действий: а) Очищается окно. б) По каждой ячейке массива K1, B, C рисуется точка соответствующего цвета. в) Рассчитываются координаты x, y для рисования эллипса. г) Задаётся цвет жёлтого цвета для кисти. д) Рисуется эллипс с центром в точке (300,300) и шириной равной 15. е) Увеличивается значение переменной k на 0.009. ж) Рисуется эллипс с центром в точке (300,300) и шириной равной 30. з) Задаётся цвет синего цвета для кисти. и) Происходит перерисовка окна.
- Цикл от 1 до 10 повторяется 10 раз.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д