2012-09-29 32 views
2

我曾经看过用两个点绘制直线的openGL语句。但是我的要求是使用以下详细OpenGL:用点和直接矢量绘制直线

  • 点上的线
  • 方向矢量

林显影功能在C++中使用OpenGL库来绘制线。

任何帮助表示最欣赏

+0

感谢您的回复。如果长度已知,你能帮助我吗? – Ria

+0

它在我的答案 – Alnitak

回答

2

答案取决于你称作什么方向矢量语义。

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

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

在前一种情况下,你还需要一个指定长度为载体,所以你需要:

P2 = P1 + n * V 

,而在后一种情况下,它只是平凡

P2 = P1 + V 
0

只要让这个两点线长得很长,就从你的点对点的每个方向说10000:

void drawLinePointDirection(Point P, Vector D) { 
    Point A = P + 10000*D; 
    Point B = P - 10000*D 
    drawLineTwoPoints(A, B); 
} 
假定D是单位长度,则设为