我有以下情況:基點(綠色)和分段,對於每個分段,他的頂點用極座標表示,並帶有從基點起的角度。在極座標平面中的分段方向
問題是:對於每一段我有他的2個頂點THETA的。沒有訂購!我只需要從這些數據中找出這個分段重疊的角度範圍。例如,對於屬於頂部線段的2個頂點{20,300},正確的答案是所有角度從300到20,而不是從20到300.
方向從0到359,如示例中所示循環。
編輯:假設 - 對於段最大重疊角是小於180,這意味着179
我認爲解決的辦法就是找到了if
「合適的條件」 ......
class Node {
int theta; //angle from base point e.g. 45
double radius; //distance (in problem specific metric) from base point
}
class Segment {
//nodes not ordered in any way
Node node_1;
Node node_2;
}
List<Segments> allSegments = new ArrayList<>();
//populate allSegments...
Segment mSegment;
for (int i=0; i<allSegments.size(); i++) {
mSegment = allSegments.get(i);
if (TODO? mSegment.node_1.tetha ? mSegment.node_2.theta) {
//the order is from node_1 to node_2 or otherwise...
}
}
謝謝,
很好的答案! – michael