Работа с канвой на Delphi
Добавлено: 16 май 2010, 12:45
Ребята, помогите не въезжаю в эту задачу:
Имеется центральная планета П с рядом спутников, у каждого из которых свои спутники, у тех - свои и т.д. Очевидно, что каждый спутник может рассматриваться как планета с соответствующими спутниками. Изобразить на экране модель планетарной системы, подчиняющейся данному алгоритму, если уровней вложенности N, а соответствующий алгоритм изображения имеет вид:
алг Планета (арг цел x, y, рад, н, нсп, вещ к_орб, к_спут)
// х, у - координаты планеты; рад - ее радиус
// нсп - число спутников у каждой планеты
// к_спут - отношение радиуса спутника к радиусу “своей” планеты
// к_орб - то же для радиуса орбиты спутников.
нач цел i, x1, e1, вещ угол, рад_орб
если н>0 то
поз (х,у) // центр планеты
окружность (рад) // планета
рад_орб := рад*к_орб //радиус орбиты спутников
угол := 6.28 / нсп //угол между спутниками
нц для i от 1 до нсп //для каждого спутника
x1 := x + рад_орб*cos (угол*i) // координаты центра i-го спутника
у1 := y + рад_орб*sin (угол*i)
// вызываем алгоритм Планета с новыми аргументами
Планета (x1, y1, int(рад*к_спут), н-1 нсп, к_орб, к_спут)
кц
все
кон
заранее спасибо, если просвятите меня)) ну или решите))
Имеется центральная планета П с рядом спутников, у каждого из которых свои спутники, у тех - свои и т.д. Очевидно, что каждый спутник может рассматриваться как планета с соответствующими спутниками. Изобразить на экране модель планетарной системы, подчиняющейся данному алгоритму, если уровней вложенности N, а соответствующий алгоритм изображения имеет вид:
алг Планета (арг цел x, y, рад, н, нсп, вещ к_орб, к_спут)
// х, у - координаты планеты; рад - ее радиус
// нсп - число спутников у каждой планеты
// к_спут - отношение радиуса спутника к радиусу “своей” планеты
// к_орб - то же для радиуса орбиты спутников.
нач цел i, x1, e1, вещ угол, рад_орб
если н>0 то
поз (х,у) // центр планеты
окружность (рад) // планета
рад_орб := рад*к_орб //радиус орбиты спутников
угол := 6.28 / нсп //угол между спутниками
нц для i от 1 до нсп //для каждого спутника
x1 := x + рад_орб*cos (угол*i) // координаты центра i-го спутника
у1 := y + рад_орб*sin (угол*i)
// вызываем алгоритм Планета с новыми аргументами
Планета (x1, y1, int(рад*к_спут), н-1 нсп, к_орб, к_спут)
кц
все
кон
заранее спасибо, если просвятите меня)) ну или решите))