2

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

  • 线上的一点
  • 方向向量

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

非常感谢任何帮助。

4

2 回答 2

4

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

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

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

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

P2 = P1 + n * V

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

P2 = P1 + V
于 2012-09-29T06:37:19.843 回答
0

只需将那条两点线设为一条很长的线,例如从线上的点到每个方向 10000:

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

假设 D 是单位长度。

于 2012-09-29T06:39:41.070 回答