![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Как сделать в детали отверстие (цилиндр) от одной плоскости до другой без разбиения плоскости на два полукруга?
|
|||
|
||||
AltX |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 1.12.2005 Репутация: нет Всего: 2 |
Может с этим попробуешь разобраться.
Вроде то, что тебе надо описано(почти), но exe-шники у него как-то плохо работают. http://opengl.org.ru/books/open_gl/chapter4.12.html вот ссылка на оглавление этой книги. http://opengl.org.ru/books/open_gl/ |
|||
|
||||
russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
А если не использовать трафарет?
Можно как-нибудь разрещать деталь, например на два куска с полуокружностью на каждом, только вот как это сделать на выпуклом полигоне? |
|||
|
||||
AltX |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 1.12.2005 Репутация: нет Всего: 2 |
Попробуй поискать матерьял по Tess-обьектам. Помоему, они в <gl/glu.h>.
У меня есть пример по работе с ними но он в Delphi. Вроде с их помощью можно указывать отверстия в фигурах. Присоединённый файл ( Кол-во скачиваний: 12 ) ![]() |
|||
|
||||
russians |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Господа, бьюсь об стену уже 12 дней с этими дырами, и никакой путёвой информации по этому поводу нет...
Вот цилиндр: for (i=1;i<2*n;i++) { glBegin(GL_POLYGON); // цилиндр - 1 glNormal3f(0,-0.15-0.05*sin((i+0.5)*PI/n),-0.05+0.05*cos((i+0.5)*PI/n)); glVertex3f(0.7-0.05*sin(i*PI/n),0.225+0.05*cos(i*PI/n),0.2); glVertex3f(0.7-0.05*sin((i+1)*PI/n),0.225+0.05*cos((i+1)*PI/n),0.2); glVertex3f(0.7-0.05*sin((i+1)*PI/n),0.225+0.05*cos((i+1)*PI/n),0.3); glVertex3f(0.7-0.05*sin(i*PI/n),0.225+0.05*cos(i*PI/n),0.3); glEnd(); } glBegin(GL_POLYGON); //полигон, в котором нужно сделать дыру к цилиндру, то есть чтобы было как отверстие glNormal3f(0.1,0,0.3); glVertex3f(0.1,0,0.3); glVertex3f(0.9,0,0.3); glVertex3f(0.9,0.3,0.3); glVertex3f(0.75,0.45,0.3); glVertex3f(0,0.45,0.3); glVertex3f(0,0,0.3); glEnd(); Господа, как это сделать через интегрирование или трафареты??? Горю... ![]() Это сообщение отредактировал(а) russians - 4.12.2006, 19:05 |
|||
|
||||
Arks |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
Поищи в инете, книгу М. Краснов "Графика в проектах Delphi". Там есть пара примеров, где интегрированнием вырезается. Может его найду у себя...
ПРАВКА: Нашёл. Вот пример кода из главы 5:
А также я присоединил пример из главы 2. Там в 2д рисуется квадрат с вырезанным кругом внутри. Это сообщение отредактировал(а) Arks - 6.12.2006, 22:30 Присоединённый файл ( Кол-во скачиваний: 12 ) |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |