|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.01.2010, 15:31 | #1 |
Ворон-мститель
Пользователь
Регистрация: 26.05.2008
Сообщений: 24
|
Моделирование лунного затмения (Delphi)
Нужно смоделировать лунное затмение. Интересует такое:
Есть рисунок (см.ниже), зеленый круг (Земля), синее коло (хз что) – статические. К Земле будет ползти Луна. Когда луна (серый круг) будет находиться В области земли, нужно изменить ее цвет на красный. Как сделать проверку принадлежности круга Луны кругу Земли? Центр Земли - точка с координатами х 500, у 250 Бог умер. Воскрес и мстит.
|
31.01.2010, 16:50 | #2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Для такой проверки надо воспользоваться API функциями.
Код:
|
31.01.2010, 23:10 | #3 |
Ворон-мститель
Пользователь
Регистрация: 26.05.2008
Сообщений: 24
|
Скандербег, спасибо. Я тут подумала и решила пойти обходными путями.
Возник еще вопрос... Как сделать масштабирование всей этой картинки, что есть на канве? Допустим при нажатии на кнопки + и -. И еще. Луна (серый круг) появляется как анимация при помощи sleep; Можно ли сделать паузу в движении и потом возобновить его с того-же места в таком случае? Ниже коды unit1 , unit2; Код:
Код:
Бог умер. Воскрес и мстит.
|
01.02.2010, 00:08 | #4 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
По второму вопросу.
Через таймер (закладка "System"). Предварительные установки: Enabled = False Interval = 200; OnTimer = Timer1Timer Код:
В проекте, как в нем сделана прорисовка, масштабирование реализовать не так просто. И вообще, всю эту анимацию можно сделать намного проще. Последний раз редактировалось Скандербег; 01.02.2010 в 00:13. |
01.02.2010, 01:24 | #5 |
Ворон-мститель
Пользователь
Регистрация: 26.05.2008
Сообщений: 24
|
Скандербег, еще раз спасибо (жала весы, надеюсь, все додало)))
Да, анимацию может и можно сделать проще, но главное что мне мешает - недостаточный багаж собственных знаний. А когда строки поджимают, впихивать что-то новое все сложнее. Тем более, по крайней мере с такой анимацией я худо-бедно понимаю, как сделать, чтобы на каждый шаг Луна изменяла свой цвет. Там еще это нужно будет сделать. Уже пробовала, но функция, которая переводит ргб в тколор что-то не то делала) Прорвусь.) Бог умер. Воскрес и мстит.
|
01.02.2010, 09:19 | #6 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
RGB нормальная функция. Можно применить такой прием. На форму кинуть ColorDialog (ColorGrid в этом случае бесполезен). Особенность его в том, что работает и в design-time.
При двойном щелчке он открывает свой диалог, где кнопка "Определить цвет" открывает, в свою очередь, всю палитру. и в ней уже прекрасно видно какие значения цветовых составляющих должны быть переданы как параметры в RGB. Остается только не перепутать порядок параметров в вызове функции. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Имитационное моделирование на Delphi | DeadSoul | Помощь студентам | 23 | 08.08.2017 10:46 |
моделирование | voron.kz | Помощь студентам | 0 | 15.12.2009 02:07 |
геометрическое моделирование в delphi | Ledi_Kapriza | Общие вопросы Delphi | 7 | 04.12.2008 14:57 |
Имитационное моделирование систем массового обслуживания на Delphi или C++Builder | Приватная | Фриланс | 4 | 04.12.2008 10:39 |