Red Spirit

Блог Алексея Таянчина

RSS 2.0

Трехмерная модель в Delphi

Сколько себя помню с начала изучения программирования, всегда хотел сделать программу, которая бы показывала трехмерную модель чего-либо, и чтоб ей можно было управлять. Но случилось так, что мне в руки попались уже готовые графические движки и по этому идея создания своего “трехмерного графического движка” сошла на нет. И вот на днях мне заказали сделать программку – трехмерная модель тетраэдра. Нужно было лишь одними математическими функциями описать модель в пространстве и как-то ей манипулировать (поворачивать во все стороны и масштабировать). Как раз то, что я давно хотел сделать.

Задача оказалась совсем не такой страшной, как  сначала казалось. Половину времени вспоминал тригонометрию, другую половину вспоминал Делфи и  писал код.

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

На форме несколько кнопок для управления. Модель крутится вокруг точки, которая является центром треугольника основания тетраэдра. Собственно ничего сложного в модификации модели нет, но у меня возникли некоторые трудности с “камерой” – плоскостью проецирования, по этому она у меня просто параллельна XoY.

Скачать программу с исходниками

Categories: Мои проекты

  • Olezhka

    спасибо, очень помогло)