Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ポリゴンの8つの頂点のx座標とy座標である2つのベクトルがあります
x=[5 5 7 7 9 9 5 7] y=[8 6 6 8 6 8 10 10]
x=[5 5 7 7 9 9 5 7]
y=[8 6 6 8 6 8 10 10]
それらを(時計回りに)並べ替えて、正しいベクトルを取得したい(ポリゴンを正しく描画するため)
x=[5 7 9 9 7 7 5 5] y=[6 6 6 8 8 10 10 8]
x=[5 7 9 9 7 7 5 5]
y=[6 6 6 8 8 10 10 8]
ステップ1:頂点の重み付けされていない平均を見つけます。
cx = mean(x); cy = mean(y);
ステップ2:角度を見つける:
a = atan2(y - cy, x - cx);
ステップ3:正しいソート順を見つける:
[~, order] = sort(a);
ステップ4:座標を並べ替えます。
x = x(order); y = y(order);