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

Вход на сайт

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

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

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

Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)
как исправить это , сделал все по инструкции
Timer1 - выдает ошибку. Использовал IdleTimer1, работает! unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, OpenGLContext, GL, GLU; type { TForm1 } TForm1 =...
в коде присутствуют ошибки! // Считываем координаты procedure TForm1.getCoords(Sender: TObject); var j1:longint; begin n:= StrToInt(Edit2.Text); //число точек s1:=Edit1.Text; s2:=''; i := 1; j:=1; k:=0...

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

Яндекс.Метрика Рейтинг@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) требуют меньше времени для вычислений за счет отсутствия операции сложения.