さらにいくつかあります:
ベクトルは変位を表します。変位、並進、移動、またはあなたがそれを呼びたいものは何でも、開始点がなければ意味がありません.重心点の x/y コンポーネントは意味がありません。これらのコンポーネントは、原点からの重心点の変位を示します。つまり、pOrigin + vCentroid = pCentroid です。0 点から開始し、重心点の変位を表すベクトルを追加すると、重心点が得られます。
ご了承ください:
ベクトル + ベクトル = ベクトル
(2 つの変位を加算すると、3 つ目の異なる変位が得られます)
ポイント + ベクトル = ポイント
(ポイントを移動/移動すると、別のポイントが得られます)
ポイント + ポイント = ???
(2 つのポイントを追加することは意味がありません;ただし:)
ポイント - ポイント = ベクトル
(2 つのポイントの差は、それらの間の変位です)
さて、これらの変位は (少なくとも) 2 つの異なる方法で考えることができます。あなたが既によく知っているのは直角(x, y) システムで、ベクトルの 2 つのコンポーネントがそれぞれ x 方向と y 方向の変位を表します。ただし、極座標(r, Θ)も使用できます。ここで、Θ は変位の方向 (任意のゼロ角度に対する角度) を表し、r は距離を表します。
たとえば、(1, 1) ベクトルを考えてみましょう。これは、私たちが見慣れている座標系で右に 1 単位、上に 1 単位移動することを表します。このベクトルの極座標は (1.414, 45°) です。同じ動きですが、「角度 45° の方向への 1.414 単位の変位」として表されます。
極座標と直角座標の関係は次のとおりです。
Θ = atan2(y, x)
r = sqrt(x²+y²) (直角三角形がどこに来るかわかりましたか?)
逆に、
x = r * cos(Θ)
y = r * sin(Θ)
ここで、三角形の重心から「先端」コーナーまで引かれた線分は、三角形が「向いている」方向を表すため、その線に平行なベクトルを取得する場合 (例: vForward = pTip - pCentroid )、そのベクトルのΘ 座標は、三角形が向いている角度に対応します。
(1, 1) ベクトルをもう一度取ります。これが vForward の場合、「先端」ポイントの x 座標と y 座標は両方とも重心の座標よりも 1 大きいことを意味します。重心が (10, 10) にあるとしましょう。これにより、「先端」コーナーが (11, 11) に配置されます。(前の式の両辺に "+ pCentroid" を追加することで、 pTip = pCentroid + vForwardを覚えておいてください。) さて、この三角形はどちらの方向を向いているでしょうか? 45°ですよね?これが (1, 1) ベクトルの Θ 座標です!