OpenGL:用点和直接向量画线

OpenGL: Draw line with point and directon vector

本文关键字:向量 OpenGL      更新时间:2023-10-16

我见过OpenGL语句用两个点画一条线。但是,我的要求是使用以下细节绘制一条线

  • 线上的点
  • 方向矢量

我使用 openGL 库在 c++ 中开发函数。

任何帮助都非常感谢。

答案取决于你所说的方向向量的语义。

在计算机图形学上下文中,我通常将该术语表示面向指定方向的单位向量。 而在数学环境中,您可能只是指减去两点坐标得出的相对向量

[使用 P1 和 P2 表示所需的两个点,使用 V 表示向量]。

在前一种情况下,您还需要指定矢量的长度,因此您需要:

P2 = P1 + n * V

而在后一种情况下,这只是微不足道的

P2 = P1 + V

只需将两点线设置为很长的线,从您的点到线上的每个方向说 10000

void drawLinePointDirection(Point P, Vector D) {
    Point A = P + 10000*D;
    Point B = P - 10000*D
    drawLineTwoPoints(A, B);
}

假设 D 是单位长度。