Cách lấy tọa độ của một điểm trong hệ tọa độ khi tất cả tôi có là toạ độ gốc (x, y) và góc từ gốc đến điểm và khoảng cách từ điểm gốc đến điểm?Cách lấy toạ độ của một điểm trong hệ tọa độ dựa trên góc và khoảng cách
Trả lời
Bạn sử dụng Math.cos
, Math.sin
như thế này:
pointX = x + distance * Math.cos(angle)
pointY = y + distance * Math.sin(angle)
Lưu ý rằng Math.cos
và Math.sin
giả lập luận được đưa ra trong radian. Nếu bạn có góc theo độ, bạn sẽ sử dụng ví dụ Math.cos(
Math.toRadians(angle)
)
.
+1: Vì nó thực sự sử dụng chức năng Java, mà câu trả lời của tôi không :) –
+1 cho một câu trả lời hoàn chỉnh ... Đó là những gì kinh nghiệm là !!! – aProgrammer
Làm thế nào điều này có thể được sửa đổi cho một hệ thống 3D? – helion3
px = x + r * cos(phi)
py = y + r * sin(phi)
nơi [px py]
là điểm bạn đang tìm kiếm, [x y]
là "nguồn gốc", r
là khoảng cách và phi
là góc với mục tiêu từ nguồn gốc.
EDIT: http://en.wikipedia.org/wiki/Polar_coordinate_system Liên kết này được Bart Kiers đăng tải một cách hữu ích có thể mang lại một số thông tin cơ bản.
Nếu d là khoảng cách và A là góc, so với coordnates của điểm sẽ
(x + d * Cos (A), y + d * Sin (A))
Điều này là sai vì nó không đưa vào tài khoản mà điểm được bù đắp một số điểm tùy ý khác (x, y). –
@kigurai; Cảm ơn bạn đã trỏ nó. Đã chỉnh sửa mã. Đó là trong tâm trí của tôi trong khi gõ Tôi không biết làm thế nào tôi bị mất nó ... Dù sao một lần nữa cảm ơn ... – aProgrammer
Nếu r
là khoảng cách từ nguồn gốc và a
là góc (theo radian) giữa trục x và điểm bạn có thể dễ dàng tính toán các tọa độ với một chuyển đổi từ tọa độ cực:
x = r*cos(a)
y = r*sin(a)
(điều này giả định nguồn gốc đó được đặt tại (0,0)
, nếu không bạn nên thêm dịch chuyển vào kết quả cuối cùng).
Kết quả nghịch đảo được thực hiện bằng cách tính toán modulo của vec-tơ (vì khoảng cách + góc làm cho vec-tơ) và arctang, có thể được tính bằng cách sử dụng hàm atan2
.
r = sqrt(x*2+y*2)
a = atan2(y,x)
- 1. nhận tọa độ điểm dựa trên hướng và khoảng cách (vector)
- 2. Lấy tọa độ của một điểm từ mkmapview trên iphone
- 3. C# - cách di chuyển điểm một khoảng cách nhất định d (và nhận tọa độ mới)
- 4. Tọa độ GPS theo độ để tính khoảng cách
- 5. Tìm tọa độ điểm từ ma trận khoảng cách
- 6. Cho góc và chiều dài, cách tính tọa độ
- 7. Cách lấy tọa độ của một địa chỉ trong android
- 8. Tìm tọa độ của một điểm trên đường
- 9. Tìm tọa độ của một điểm giữa hai điểm?
- 10. JavaScript: tìm ra điểm Y theo góc và khoảng cách
- 11. Tính khoảng cách 100 mét khi vĩ độ và kinh độ là một điểm đã biết
- 12. Điều chỉnh tọa độ 2D và giữ nguyên khoảng cách euclide tương đối của chúng?
- 13. Cách tính tọa độ của đầu mũi tên dựa trên mũi tên?
- 14. Cách tính góc giữa hai tọa độ địa lý/GPS?
- 15. Tìm tọa độ của một điểm trong OpenLayers
- 16. Python, Tkinter: Cách lấy tọa độ trên canvas cuộn
- 17. Cách tìm khoảng cách từ vĩ độ và kinh độ của hai địa điểm?
- 18. Lấy tọa độ X & Y của một nút trong Android?
- 19. Xác định một địa điểm khác, khoảng cách và góc cực
- 20. Tọa độ từ ma trận khoảng cách trong R
- 21. Chuyển đổi CGPoint từ hệ tọa độ UIView sang hệ tọa độ CALayer
- 22. Hệ tọa độ đồ họa chính
- 23. Dịch giữa các tọa độ giữa màn hình và tọa độ
- 24. Nhận UITextField Y tọa độ trên cấp độ UIView?
- 25. Tính khoảng cách giữa hai điểm (Vĩ độ, Kinh độ)
- 26. Nhận tọa độ x, y mới của một điểm trong hình ảnh được xoay
- 27. Tọa độ của Leaflet.Draw rectangle
- 28. Cách lấy tọa độ điểm của hình dạng bản vẽ đã sửa đổi? GoogleMaps API v3
- 29. Thư viện phân cụm dựa trên mật độ lấy ma trận khoảng cách làm đầu vào
- 30. Làm cách nào để chuyển đổi tọa độ trên một hình vuông thành các tọa độ trên một vòng tròn?
Nghe giống như câu hỏi toán học (đại số), hơn là câu hỏi về tính toán. Bạn có biết các công thức cần thiết để tính điểm mới không? –
http://mathworld.wolfram.com/PolarCoordinates.html hoặc http://en.wikipedia.org/wiki/Polar_coordinate_system –
Phụ thuộc vào loại hệ tọa độ, nhưng phần lớn thời gian sử dụng các hàm lượng giác đơn giản được gọi là sin(), cos(). – hovanessyan