Đây là một thử thách lấy cảm hứng từ Ch Quashev Rotation . Tôi đề nghị nhìn vào câu trả lời ở đó để lấy cảm hứng cho thử thách này.
Cho một điểm trên mặt phẳng có một hình vuông duy nhất (một hình chữ nhật có các cạnh bằng nhau) được căn giữa gốc tọa độ và giao với điểm đó ( bản demo tương tác ):
Cho một điểm p và một khoảng cách d , trả về điểm thu được bằng cách di chuyển khoảng cách d từ p , ngược chiều kim đồng hồ (và theo chiều kim đồng hồ cho âm d ), dọc theo chu vi của hình vuông chính giữa gốc tọa độ p . Câu trả lời của bạn phải chính xác đến ít nhất 4 chữ số thập phân.
Testcase:
(0, 0), 100 -> (0, 0)
(1, 1), 81.42 -> (-0.4200, 1.0000)
(42.234, 234.12), 2303.34 -> (-234.1200, 80.0940)
(-23, -39.234), -234.3 -> (39.2340, -21.8960)
Các trường hợp thử nghiệm sau đây là từ thử thách ban đầu của Martin Ender và tất cả đều có d = 1 :
(0, 0) -> (0, 0)
(1, 0) -> (1, 1)
(1, 1) -> (0, 1)
(0, 1) -> (-1, 1)
(-1, 1) -> (-1, 0)
(-1, 0) -> (-1, -1)
(-1, -1) -> (0, -1)
(0, -1) -> (1, -1)
(1, -1) -> (1, 0)
(95, -12) -> (95, -11)
(127, 127) -> (126, 127)
(-2, 101) -> (-3, 101)
(-65, 65) -> (-65, 64)
(-127, 42) -> (-127, 41)
(-9, -9) -> (-8, -9)
(126, -127) -> (127, -127)
(105, -105) -> (105, -104)