Я сделал цилиндр, используя треугольники, вычисляя точки на верхнем и нижнем кругах, а затем соединяя эти точки. Я начинаю с (1,1,0). Затем я вычисляю одну точку снизу (меняя только ось y -> (1,0,0)), затем следующая точка сверху (x = xcosA, z = zsinA, где A - любой угол) и скоро. Итак, я просматриваю круги сверху и снизу в направлении против часовой стрелки. Теперь я хочу нарисовать нормали к этим треугольникам.Рассчитанные нормали, направленные внутрь, а не наружу в FreeGLUT (OpenGL)
Я беру очки в группах по три. Предположим, что они хранятся в векторах a, b и c, где a - первая точка (вверху), b - вторая точка (внизу), а c - третья точка (вверху). Согласно правилу правой руки, чтобы вычислить нормаль, я должен сделать это: normal = (c-b) x (a-b). Это должно дать мне нормальную внешность. Однако нормаль проходит внутрь. Чтобы нарисовать нормальный, я просто glTranslatef в центр треугольника, и я рисую линию от (0,0,0) до нормали. Является ли мой расчет неправильным?