сделать проекцию фигуры

Предположим у вас на форме есть кнопка. По её нажатию строиться сложная фигура ,н-р чайник.

Есть 2-ая кнопка. По её нажатию надо нарисовать проекцию этой сложной фигуры.
Не подскажите как?
0       1295        21.10.2010        7

0  
21.10.2010 00:00:00
Я так понимаю вам нужна проекция на экран, т.е. как контур фигуры на экране?

надо посмотреть примеры, просто наверно есть быстрый легкий заранее придуманный способ, надо только покопать что нить вроде .

Вообще есть формулы в линейной алгебре, которые позволяют отстроить проекцию трехмерного объекта (в зависимости от типа проекции), только надо вспомнить и порыть :) На вскидку затрудняюсь ответить.
0  
21.10.2010 00:00:00
P.S. перенес вашу тему в Вопросы OpenGL + C#
0  
23.10.2010 00:00:00
придумал очень очень тупой метод =))
первое что пришло в голову =))

есть чайник и если известны каждая точка его (вершина) то можно просто у всех точек поставить ось на которую тебе надо спроектировать 0 (или куда там надо) и тогда получится такая плоская фигура — проекция =))

не знаю но это первое что придумал
0  
26.10.2010 00:00:00
Пожалуйста уточните Вам нужно нарисовать проекцию как еще одну картинку (как на чертежах принято: вид спереди, вид сбоку, вид сверху)? Или просто позицию камеры вида изменить, чтобы на этот же чайник скажем сверху смотреть?
0  
26.10.2010 00:00:00
первое, но похоже его получить можно если просто позицию камеры вида изменить.
0  
28.10.2010 00:00:00
Про позицию камеры это Вы верно, но как я понял на экране должен быть нарисован «Первый чайник», потом нажали кнопку — вуаля, «Второй чайник» и «Третий», если надо, появились на экране.

Задачу я бы решил так:
1) Заносим инфу об объекте в память;
2) Рисуем объект на экране.
Жмем кнопку.
3) Сохраняем матрицу проекций вида // Gl.glPushMatrix();
4) Перемещаем камеру (либо ниже объекта, либо правее его в зависимости от проекции на чертеже) // Gl.glTranslated(x, y, z);
5) Переворачиваем камеру относительно необходимой в проекции оси // Gl.glRotated(90, x, y, z);
6) Рисуем объект еще раз;
7) Извлекаем матрицу проекции вида // Gl.glPopMatrix().

Если нужно получить другую проекцию, то соответственно повторяем все начиная с пункта 3 и меняем ось вращения. Таким образом после последнего извлечения матрицы виды мы снова смотрим на наш объект из первоначальной точки, но дополнительно имеем еще 2 объекта с другим видом на чертеже.
0  
10.05.2012 00:00:00
хай.
Если есть желание — это всегда круто. Можно начать писать в собственный блог, после того как наберется несколько статей — можно будет создать публичный.
Но писать статьи не так просто, как может сначала показаться.

Вот тут есть пара советов:
^