Delphi Sources

Delphi Sources

 




 

ИСХОДНИК ПРОГРАММЫ

 

. : Калейдоскоп : .

 

Delphi - Калейдоскоп - Генерация рисунка путем вращения и дублирования линий с эффектом калейдоскопа

Исходник программы, показывающей пример генерации изображения путем вращения и дублирования произвольных рисунков на холсте с эффектом калейдоскопа.

При рисовании на изображении на холсте создается несколько копий рисунка, каждая из которых поворачивается на указанное количество градусов и указанное количество раз.

Для рисования используется компонент TImage и процедура DrawLineInSeg, которая рисует один линейный сегмент между двумя конечными точками вместе с его поворотами и отражениями. Записи TPoints содержат угол и радиус каждой точки, отсчитываемые от центра изображения. Углы увеличиваются на угол поворота столько раз, сколько пользователь указал для каждого конца сегмента линии, по координатам X и Y и рисуются соединительные линии.

Первые изображения - это отражение реального объекта (или рисунка в нашем случае). Второе изображение слева - отражение правого отражения и т.д. Каждая отраженная точка существует под углом за зеркалом, равным углу, под которым реальная точка находится перед зеркалом.

Эта реализация отличается от реального калейдоскопа. Для двухзеркального калейдоскопа в реальном мире объекты, не находящиеся между зеркалами, вообще не видны. Это потребовало бы отсечения линейных сегментов на зеркальных поверхностях и игнорирования линейных сегментов не между зеркалами. Это волшебные виртуальные двухсторонние зеркала, поэтому все линейные сегменты отражаются, как если бы они существовали между двумя основными зеркалами.

Просмотры: 1 367
Дата: 04.07.2021, Автор: Gary Darby
Скачивания: 15
Написать сообщение:

 

 

Скачать (9 Кб)     Регистрация >>

 

Соглашение пользователяКонфиденциальностьПравила обработки cookie       BrokenByte Software


Форум по Delphi программированию - Ошибка базы данных

Кажется, произошла проблема с базой данных Форум по Delphi программированию.
Пожалуйста, попробуйте зайти снова, нажав на кнопку Обновить вашего браузера.

Нашей службе технической поддержке был послан email. Вы также можете написать им письмо, если проблема не решиться.

Извените за причинённые неудобства.