|
||
+
0
-
Хэлп. Решите задачу, нам училка задала, чёт никак не получается. Постройте на экране компьютера две окружности радиусов R1 и R2 (можно сразу взять какие хочеш).имитируя движени одной окружности по другой. Короч типа один круг, а по нему движется другой. Кто может решите плиз!
|
|
||
r - радиус cx - X координата центра cy - Y координата центра
нулевая точка по традиции в верхнем левом углу экрана координаты точки на окружности в зависимости от угла отклонения от оси Y проходящей через центр окружности вычисляются по формулам: x = r * Sin(angle) + cx y = r * Cos(angle) + cy соответственно увеличивая angle в промежутке от [0; 2 * Pi] получится движение по окружности. остальное дело техники: пишешь функцию, которая возвращает координаты точки на окружности в зависимости от координат центра, радиуса и угла отклонения. (скажем GetCirclePoint) пишешь процедуру рисования окружности которая будет в цикле от нуля до двух пи с шагом каким тебе приемлемо, вызывать GetCirclePoint и рисовать там точку (прямую с прошлой точки до этой). дальше рисуешь главную окружность. и снова в цикле от нуля до двeх пи с приемлемым шагом вызывая GetCirclePoint перерисовываешь окружность2 в новом месте с ценром на окружности1. ферштейн? =) написал бы прогу сразу, но паскалей так много разных, а универские как правило такие дурацкие... если сам не осилишь - присылай сцылко на паскаль, попробую сам сделать. но это на крайняк - я, понимаете ли, ленив. особенно по части рутины, особенно по части не своей рутины. =РРР |
|
||
Спасиб. Дальше сам сделаю.
|