1

図に示すように、A(109,239)、B(182,234)、C(140,157) の三角形があります。

これを取得するために xlib プログラミングを使用しています。

三角形の内側のポイントでのマウス クリック イベントで、そのポイントから最も近い頂点を見つけてから、三角形の外側の線を有限の長さに延長したいと考えています。

ここに画像の説明を入力

どうすればこれを行うことができますか?いくつかの値 ex a,b を B(x+a,y+b) に追加する必要があると思いますが、 a,b の値をどのように計算するのかわかりませんか?

ここに画像の説明を入力

4

1 に答える 1

0

2 つの点 p0 と p1 がわかっている場合、任意の x の y を計算できます。

y = (x - x0) * (y1 - y0) / (x1 - x0) + y0

したがって、あなたの場合、これらの2点はマウスクリックポイントと頂点ポイントになります。

編集

マウスクリックの反対側にある x を選択できます。

x = vertexX + (vertexX - mouseX);
于 2013-09-27T06:39:02.533 に答える