我见过 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 是单位长度。