Ильдар Зиннятуллов
Ильдар Зиннятуллов

как как начертить параллелепипед в изометрической проекции в Delphi на канве?

точнее по какой формуле можно рассчитать координаты вершин, чтоб получилась изометрическая проекция или если можно как-то повернуть координатные оси используя канву, то как?

Сл
Славик

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Преобразование 3D-координат точки в 2D-координаты в перспективе

Процедура преобразует 3D-координаты точки в 2D-координаты на "картинной
плоскости" в перспективе. В качестве параметров процедура принимает
координаты точки в пространстве (X - горизонтальная перпендикулярно лучу зрения,
Y - горизонтальная вдоль луча зрения, Z - вертикальная) начало координат -
точка пересечения луча зрения с картинной плоскостью; Height - высоту наблюдателя;
Basis - расстояние от наблюдателя до картинной плоскости;
результаты вычисления записываются в переменные XP и YP - координаты
точки на картинной плоскости.

Зависимости: нет
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov, 1995
Дата: 29 апреля 2002 г.
***************************************************** }

procedure Perspective(const X, Y, Z, Height, Basis: Double;
var XP, YP: Double);
var
Den: Double;
begin
Den := Y + Basis;
if Abs(Den) < 1E-100 then
Den := 1E-100;
XP := Basis * X / Den;
YP := (Basis * Z + Height * Y) / Den;
end;

Похожие вопросы
как начертить третию проекцию пирамиды
как начертить 3 проекции конуса?
мморпг с изометрической графикой
помогите начертить в трех проекциях
помогите построить изометрическую проекцию с вырезом 1/4 части
как нарисовать объёмное изображение (параллелепипед) в Delphi? И можно ли это сделать через канву?
Помогите построить изометрическую проекцию по инженерной графике
помогите начертить три проекции
как начертить проекции куба
Помогите начертить изометрический вид [Черчение]