2013-12-01 2 views
0

Мне нужно нарисовать тором, который очень тонкий. То, что я нашел при поиске в Интернете, - это просто формальное описание функции glutSolidTorus() Но проблема, вероятно, я не понимаю, что они говорят о параметре. Каждый раз, когда я пытаюсь нарисовать его, изменяя параметры, которые выходят, это очень толстый тор.Рисование тора в opengl

glutSolidTorus(1.0f, 0.005f, 32, 32); 

То, что я подумал, что 1 единица общий радиус тора и поперечное сечение (жир или тонкие определения) радиус 0,005 единицы. Конечно, я ошибаюсь. Может кто-нибудь, пожалуйста, объясните мне, в чем проблема и что делать?

ответ

3

Глядя на http://www.opengl.org/documentation/specs/glut/spec3/node84.html я заметил следующее:

void glutSolidTorus(GLdouble innerRadius, 
        GLdouble outerRadius, 
        GLint nsides, GLint rings); 

И ваша форма для тора является то, что внутренний радиус больше, что внешний радиус. Попробуйте переключить их и посмотрите, хотите ли вы этого.

lutSolidTorus(0.005f, 1.00f, 32, 32); 

Толщина тора определяется первым параметром, innerRadius, а второй определяет, насколько широкий тор спреды.

Редактировать: перейдите по ссылке ниже.

+0

Схемы на http://kikillers.tistory.com/142 показывают, где каждый параметр применяется для всех твердых тел (и, действительно, у вас должен быть порядок * правильно!). – usr2564301

+0

Я читал это неправильно. Я читаю первый, внешний, второй - внешний. – taufique

Смежные вопросы