2点を使って線を引くOpenGLステートメントを見たことがあります。ただし、私の要件は、次の詳細を使用して線を引くことです
- 線上の点
- 方向ベクトル
私はopenGLライブラリを使用してC++で関数を開発しています。
どんな助けでも大歓迎です。
答えは、方向ベクトルと呼んでいるもののセマンティクスによって異なります。
コンピュータグラフィックスの文脈では、私は通常、その用語を指定された方向を向いている単位ベクトルを意味すると解釈します。一方、数学の文脈では、2つの点の座標を引いた結果の相対ベクトルを単に意味する場合があります。
[P1とP2を使用して必要な2つのポイントを表し、Vをベクトルに使用します]。
前者の場合、ベクトルの長さも指定する必要があるため、次のものが必要になります。
P2 = P1 + n * V
後者の場合、それは些細なことです
P2 = P1 + V
その2点線を非常に長い線にします。たとえば、ポイントオンアラインから各方向に10000にします。
void drawLinePointDirection(Point P, Vector D) {
Point A = P + 10000*D;
Point B = P - 10000*D
drawLineTwoPoints(A, B);
}
Dを単位長と仮定します。