Нарисуйте плоскую поверхность в openGL

Я пытаюсь нарисовать куб в openGL с параметрами, считанными из файла Parasolid x_t. Может ли кто-нибудь помочь мне нарисовать плоскую поверхность в openGL со следующими входами,

  • указать на плоскости
  • нормаль к плоскости (единичный вектор)
  • Ось X плоскости (единичный вектор)

Это входные данные, которые я прочитал из файла parasolid *.x_t. Используя это, я должен найти вектор оси Y, который является перекрестным произведением нормали и оси X. Я полностью запутался с процессом или уравнением, которое я должен использовать в своем коде C++, чтобы получить три других точки плоской поверхности.

1 ответ

Даны нормаль [nx,ny,nz], X-вектор [xx,xy,xz] и точка на плоскости P=[px,py,pz]
тогда Y-вектор = N крест X;

Мы могли бы пока предположить, что P представляет нижний левый угол грани куба.
Тогда bottom_right = P+X, top_right = P+X+Y и top_left = P+Y.

Другие вопросы по тегам