Tôi tưởng tượng rằng đây là một câu hỏi đơn giản, nhưng tôi nhận được một số kết quả lạ với mã hiện tại của mình và tôi không có nền tảng toán học để hiểu đầy đủ lý do tại sao. Mục tiêu của tôi là đơn giản, như đã nêu trong tiêu đề: Tôi chỉ muốn tìm điểm ở một khoảng cách và góc nào đó từ một điểm trung tâm.Tính điểm trên chu vi vòng tròn từ góc trong C#?
mã hiện tại của tôi:
Point centerPoint = new Point (0, 0);
Point result = new Point (0, 0);
double angle = 0.5; //between 0 and 2 * PI, angle is in radians
int distance = 1000;
result.Y = centerPoint.Y + (int)Math.Round(distance * Math.Sin(angle));
result.X = centerPoint.X + (int)Math.Round(distance * Math.Cos(angle));
Nói chung, điều này dường như làm việc khá hợp lý, nhưng tôi nhận được vấn đề tại các điểm khác nhau, đáng chú ý nhất khi góc tương ứng với điểm trong x tiêu cực và trục y. Rõ ràng là tôi đang làm điều gì đó sai - suy nghĩ về điều đó là gì?
CẬP NHẬT: Đây là lỗi của tôi, mã này hoạt động tốt - một vài ngoại lệ không hoạt động thực sự là do lỗi trong cách tính 1,5PI. Tôi nghĩ rằng tôi đã kiểm tra đủ tốt, nhưng rõ ràng là không. Nhờ tất cả mọi người vì thời gian của họ, hy vọng mã làm việc ở trên sẽ chứng tỏ hữu ích cho người khác.
Ý anh là gì "tôi nhận được vấn đề tại các điểm khác nhau"? –
là centerPoint cố ý không sử dụng? Không nên centerPoint.X và .Y được thêm vào kết quả? – spender
bạn có thể cung cấp ví dụ về sự cố không? –