Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

огромное спасибо за подробное объяснение про 3д графику на питоне, в интернете очень мало подобной информации
dobryj den, popytalas otkryt prikreplionnyj fail ctoby posmotret kak rabotaet, no mne ego ne pokazyvaet vydajet osibku. Pochemu?
Очень интересно! ии сайт крутой жалко что умирает(
У Вас число превысит максимальное число int. Можно использовать в Вашем случае uint, но лучше все переписать на double.
Добавление к программе строки glutReshapeFunc(changeSize); приводит к тому, что треугольник перестаёт совсем отрисовываться.

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика

Чтобы построить проекцию нужно задать точку, которая называется центром проекции. Про¬екции строятся с помощью проецирующих лучей или проекторов, которые выходят из центра проекции. Проекторы пересекают плоскость, которая называется проекционной или картинной плоскостью, и затем проходят через каждую точку трехмерного объекта и образуют тем самым проекцию (см. "Классификация проекций").

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

Центральная (перспективная) проекция

Точка A проецируется на экран как A'. Расстояние от наблюдателя до проекционной плоскости равно k. Определим координаты точки A' на экране. Обозначим их xэ и yэ. Из подобия треугольников AyAzN и yэON находим, что

аналогично для x: xэ = kx / (z+k).
Напомним, что k - это расстояние, а наблюдатель находится в точке N(0,0,-k).
Если точку наблюдения поместить в начало координат, а проекционную плоскость на расстояние α, то формулы для xэ и yэ примут вид:
xэ=kx/z , yэ=ky/z (2)
Формулы (1) более удобны при необходимости простым образом приближать или удалять наблюдателя от проекционной плоскости. Формулы (2) требуют меньше времени для вычислений за счет отсутствия операции сложения.