Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

построение октаэдра   Найти похожие ветки 

 
Mozart ©   (2010-04-22 17:26) [0]

Здравствуйте. Вот понадобилось выполнить задание:

Нарисовать наибольшее изображение октаэдра, которое поместится в области вывода (внешний контур изображения октаэдра является правильным шестиугольником).

Алгоритмы рекомендуются два: несимметричный ЦДА и Брезенхема.

Как рисовать прямые понятно:

ax:=StrToInt(edit1.Text);
ay:=StrToInt(edit2.Text);
bx:=StrToInt(edit3.Text);
by:=StrToInt(edit4.text);
dx:=ax-bx;
dy:=ay-by;
if abs(dx)>abs(dy) then
d:=dy/dx
else
d:=dx/dy;
Form1.Canvas.Pixels[Round(Ax),Round(Ay)]:=clRed;
REPEAT
if abs(dx)>abs(dy) then
   begin
       ax:=ax+1;
       ay:=ay+d;
   end
else
   begin
       ay:=ay+1;
       ax:=ax+d;
   end;
Form1.Canvas.Pixels[Round(Ax),Round(Ay)]:=clRed;
UNTIL ay=by;

непонятно другое... как рисовать октаэдр :) Подскажите, с чего начать?


 
Ega23 ©   (2010-04-22 17:28) [1]

Canvas.MoveTo, Canvas.LineTo, TPen, TBrush + F1


 
TUser ©   (2010-04-22 17:30) [2]


> непонятно другое... как рисовать октаэдр

OpenGL канешна!


 
Mozart ©   (2010-04-22 17:30) [3]

нет, это просто слишком - надо строить "попиксельно",  с использованием вышеуказанных алгоритмов


 
RWolf ©   (2010-04-22 17:34) [4]

Октаэдр можно расположить так, чтобы все его вершины лежали на координатных осях на равном расстоянии от начала координат.
Далее дело только за тем, чтобы спроецировать координаты вершин на плоскость и соединить их 12-ю рёбрами.


 
mozart ©   (2010-04-22 17:37) [5]

не совсем понял:
тобы все его вершины лежали на координатных осях

Может есть какой-нибудь мануал по построению фигур с использованием этих алгоритмов?


 
Ega23 ©   (2010-04-22 17:37) [6]

Я решительно продолжаю непонимать, нафига попиксельно? Почему нельзя найти координаты вершин и разом жахнуть полигон?


 
mozart ©   (2010-04-22 17:38) [7]

сессия :)


 
Ega23 ©   (2010-04-22 18:21) [8]


> сессия :)


Это основание для медленного попиксельного вывода?


 
Игорь Шевченко ©   (2010-04-22 18:31) [9]


> Подскажите, с чего начать?


с изучения геометрии


 
Kerk ©   (2010-04-22 18:46) [10]


> Ega23 ©   (22.04.10 18:21) [8]
>
> > сессия :)
>
> Это основание для медленного попиксельного вывода?

Да. Я тоже в свое время все попиксельно рисовал. А как еще алгоритмы изучишь?


 
[true]TRIx ©   (2010-04-23 04:47) [11]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
8-1202991381
Jimmy
2008-02-14 15:16
2010.08.27
Сохранение в psd


15-1272622758
JohnKorsh
2010-04-30 14:19
2010.08.27
Как определить, какая программа использует файл.


15-1273012753
Игорь
2010-05-05 02:39
2010.08.27
madCodeHook


2-1270039311
HRustBB
2010-03-31 16:41
2010.08.27
Как изменить высоту заголовка формы


15-1264487745
Jeer
2010-01-26 09:35
2010.08.27
Инет-разум