Мне нужно нарисовать контрольные точки и узлы кривой NURBS в OpenGL. С контрольными точками проблем нет, так как они определяются своими координатами. Однако у меня немного больше проблем с узлами.
У меня есть массив узлов, взятый функцией gluNurbsCurve
, определенный следующим образом.
GLfloat knots[KNOTCOUNT] = {0.00, 0.00, 0.00,
0.25,
0.50, 0.50,
0.75,
1.00, 1.00, 1.00}
Есть ли простой способ получить координаты этих 5 узлов? Судя по координатам контрольных точек, я полагаю? Или это нетривиально? Помимо координат и весов контрольных точек, у меня также есть значения STRIDE
и ORDER
.
Я подумал, что это возможно, так как gluNurbsCurve
-функция может рисовать кривую на основе этих значений.
Или я полностью упускаю понятие узлов?
gluNurbsCurve
принимает массив узлов в порядке возрастания, где многократное появление одного узла определяет множественность одного узла. Вектор узла описан здесь, на Википедии - person Joost   schedule 15.10.2012