AlexeySpace.Ru

Заставка: сквозь вселенную


Реализация легендарной заставки Windows “Сквозь Вселенную”. В отличие от оригинала, звезды рисуются эллипсами, а не квадратами. Также движение звезд выглядит более плавно.

Сначала в кубическом пространстве заданного размера генерируются точки со случайными координатами. Потом, в цикле отрисовки графики, к каждой Z – координате точки, прибавляется заданное расстояние (скорость движения звезд). Для каждой точки строится их перспективные проекции, и по получаемым координатам проекции этих точек, мы рисуем их на экране. Чем ближе будет Z – координата точки к экрану, тем больше будет радиус рисуемого эллипса. Если точка вышла за пределы экрана, т.е. Z – координата вышла за пределы монитора, то сбрасываем эту координату, приравнивая ее к нулю. Т.е. эта точка опять ушла вглубь экрана. Данный способ избавляет нас от необходимости генерации новых координат точек, и соответственно имеем выигрыш в скорости отрисовки графики.

Выложены исходники программмы для Delphi и Visual C++ 2005 Express Edition:



Комментарии (7):

| halfhope
Спасибо за сорцы.
| 
Хотелось бы с цветными звездами. Когда-то в 90-х годах у меня была такая...
| Дима
А подскажите, в какую папку на WinXP её нужно положить, чтобы она увиделась в свойствах Экрана и заработала, как заставка?
| Гена
Хм... Как-то оно всё пульсирует... Как-будто генерация идёт не постоянно, а с неким периодом.
| ТВит64
Хорошо сделанная работа! Единственно, ИМХО, всё это должно быть на фоне неподвижного звёздного неба. Т.е. должны быть также видны те звёзды, до которых ещё лететь миллионы световых лет, и они для нас выглядят неподвижными. А так всё это немного смахивает на снегопад. Помню, как-то ночью я пьяненький упал как раз невдалеке от фонаря, а шел первый снег. И вот, точно так же снежинки, освещённые светом фонаря, медленно падали мне на лицо... И таяли, таяли...
| Wingstrong
а как же таймер включения? как же настройки заставки? и как же установка этой заставки?
| Евгений
Отличная прога!!!

Добавить комментарий:

Имя:

email:

Защита от спама:

Введите число, изображенное на картинке:

Текст комментария:

AlexeySpace.Ru
(c) alex_ey (Alexey Sokolov)
2010 - 2024
alex_ey@mail.ru