nếu bạn có một cái nhìn tại các vòng tròn góc, bạn sẽ thấy rằng có 2 đối diện "góc" tương ứng với "trung bình" của bạn.
Vì vậy, cả 185 ° và 5 ° đều chính xác.
Nhưng bạn đã đề cập đến mức trung bình gần hơn. Vì vậy, trong trường hợp đó, bạn có thể chọn góc gần hơn.
Thông thường, các góc "trung bình" liên quan đến hướng ngược chiều kim đồng hồ. Các "trung bình" là không giống nhau nếu bạn chuyển đổi hai góc độ của bạn (hoặc nếu bạn sử dụng chiều kim đồng hồ).
Ví dụ, với a=20°
và b=350°
, bạn đang tìm kiếm những góc mà đến sau a
và trước b
theo hướng ngược chiều kim đồng, 185°
là câu trả lời. Nếu bạn đang tìm góc tới trước a
và sau b
theo hướng ngược chiều kim đồng hồ (hoặc sau a
và trước b
theo hướng khôn ngoan), 5°
là câu trả lời.
Câu trả lời của this post là cách phù hợp để thực hiện.
Vì vậy, các pseudo-code cho các giải pháp là
if (a+180)mod 360 == b then
return (a+b)/2 mod 360 and ((a+b)/2 mod 360) + 180 (they are both the solution, so you may choose one depending if you prefer counterclockwise or clockwise direction)
else
return arctan( (sin(a)+sin(b))/(cos(a)+cos(b))
trùng lặp: http://stackoverflow.com/questions/491738/how-do-you-calculate-the-average-of-a-set -of-góc –
Thực sự của nó rất giống với câu hỏi của tôi, kỳ lạ mà tôi không thể tìm thấy nó. – Mizipzor