Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.09;
Скачать: CL | DM;

Вниз

Помогите решить графическую задачу на паскале   Найти похожие ветки 

 
Алексей   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-25929
Soft
2004-02-15 00:48
2004.03.09
С Linux может работать даже женщина.


1-25749
Senti
2004-02-25 20:48
2004.03.09
Вопрос по созданию и загрузке форм !


4-25966
Pantera111
2003-12-29 08:02
2004.03.09
Хук на ролик мышки


4-25969
[ SAIMON ]
2004-01-03 01:18
2004.03.09
Помогите по SysTrey ю...


1-25736
I_V_N_I_S_H
2004-02-26 23:59
2004.03.09
Перехват Print Scrn