Главная страница
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.05 c
15-1269977724
Anatoly Podgoretsky
2010-03-30 23:35
2010.08.27
Список пойманых фирм.


2-1268502232
Loki3d
2010-03-13 20:43
2010.08.27
получить размер файла или папки


2-1269648248
HF-Trade
2010-03-27 03:04
2010.08.27
IDHttp.Post Проблема с залогиниванием


15-1268775005
Юрий
2010-03-17 00:30
2010.08.27
С днем рождения ! 17 марта 2010 среда


15-1275550373
12
2010-06-03 11:32
2010.08.27
pascal.Напомните, пожалуйста, как там возвращать значение функции