Форум: "Потрепаться";
Текущий архив: 2004.03.09;
Скачать: [xml.tar.bz2];
ВнизПомогите решить графическую задачу на паскале Найти похожие ветки
← →
Алексей (2004-02-16 12:06) [0]Я графикой слабо владею, поэтому буду рад любой помощи. Спасибо.
"Движение к звездам."
Иллюминатор космического корабля обращен в сторону его стремительного движения к звездам. Создайте программу, которая рисует «звездное небо» видимое из иллюминатора: звезды двигаются по направлению от центра экрана к его краям.
← →
Oyster (2004-02-16 12:16) [1]Надо взять листик бумаги и немножко поработать с геометрией.
Рисуем:
--------l1----------*---l2---*----------- Путь звезды
h
- корабль.
Звезда появляется где-то далеко (на расстоянии, скажем, s от корабля) и летит со скоростью v к нему. С помощью тригонометрии вычисляем зависимость угла вперед-корабль-звезда от времени, угол переводим в координату на экране, там ее в соотв. момент и отображаем. Самому мне считать лень, сделай это ты.
← →
Dimka Maslov (2004-02-16 12:19) [2]http://delphibase.endimus.com/?action=viewfunc&topic=mediaimg&id=10454
← →
Marser (2004-02-16 12:30) [3]Случайным образом появляются точки, которые удаляются от центра экрана(канвы) с определенной постоянной скоростью, создавая эфект приближения. Причем, новые появляются при исчезании старых.
← →
Oyster (2004-02-16 12:37) [4]
> с определенной постоянной скоростью
Разве? Это что-то новенькое. Посмотри заставку в Far или "Сквозь Вселенную" в Windows. Что-то я там постоянной скорости не заметил.
← →
Алексей (2004-02-16 12:39) [5]2Dimka Maslov
Твой исходник показывает пустой экран у меня. Почему?
И что значит вот эта ассемблерная вставка:
function KeyPressed(VKey: Integer): LongBool;
asm
push eax
call GetKeyState
and eax, 0080h
shr al, 7
end; ?
2Oyster,Marser
Вы сами пробовали сделать то, что говорите?
← →
Dimka Maslov (2004-02-16 12:41) [6]>Алексей (16.02.04 12:39) [5]
1. А как ты это используешь?
2. Проверяет не нажата ли клавиша Esc
← →
Oyster (2004-02-16 12:43) [7]
> Вы сами пробовали сделать то, что говорите?
Не пробовал. Но без труда и Блокнота не напишешь :-)
← →
Алексей (2004-02-16 13:16) [8]2Dimka Maslov
"А как ты это используешь?"
ctrl+c - ctrl+v. А как надо? :)
← →
Dimka Maslov (2004-02-16 13:26) [9]>Алексей (16.02.04 13:16) [8]
А события формы в инспекторе объектов устанавливаешь?
FormCreate, FormResize и FormPaint?
← →
Алексей (2004-02-16 14:15) [10]2Dimka Maslov
Хорошо сделал. Но слишком громоздко это все. Если не трудно, как там отключить вращение и полет назад? Т.е я хочу максимально уменьшить исходный код, чтобы было только то, что написано в сабже.
← →
Алексей (2004-02-16 14:19) [11]А лучше, объясни как у тебя там все работает.
← →
Dimka Maslov (2004-02-16 14:29) [12]>Алексей (16.02.04 14:19) [11]
Через перспективу
Вращение отключается установкой значения Period1 = 0,
Вращательные колебания: Period2 = 0
Возвратное движение:
вместо D := Direction * sin (Period3 * Time); ставишь D := 1;
← →
Кот Бегемот (2004-02-16 15:58) [13]>А лучше, объясни как у тебя там все работает.
А бутерброд за тебя не пожевать ???
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.03.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c