![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Трехмерная система координат. [D4, D5, D6, Win95/98, Win2k, WinXP]
БРУТЪ © (2003-04-02 16:43:00)Как вывести (очень желательно пример) ряд точек на канве
TIMAGE с координатами x, y, z.
Мастера, подскажите, есть ли примеры риалтаймового
маштабирования вышеописанного на канве.
com2003 (2003-04-05 18:56:00) [1]Проэцировать на экран можно разными способами, в зависимости от функциональности твоей проги(будет ли перемещаться точка зрения и если да, то как).
Вот на счёт масштабирования, то тут надо поработать с матрицами(с их помощью можно сделать любое пребразование: масштабирование, вращение, перемещение ... и всё это вместе).
Для простенького проэцирования подойдёт и вышеописаный способ(хотя я им не пользовался).Для эффекта перемещения точки зрения можешь добавить парочку коэффициентов и потом их изменять, хотя перемещение будет неестественное.
Примерчик:
Procedure DrawPix(x,y,z:integer; k:real);
var col:TColor;
x1,y1:integer;
begin
col:=clGreen;
x1:=x;
y1:=round(y*(1-k)-z*k);
Image1.Canvas.Pixels[x1,y1]:=col;
end;
0<=k<=1, изменяя этот коэффициент можно регулировать высоту точки зрения.
AlexT1000 (2003-04-02 17:56:00) [2]x экрана = x / z
y экрана = y / z
вроде так было