Questa è una sfida ispirata alla rotazione di Chebyshev . Suggerisco di cercare le risposte lì per trarre ispirazione per questa sfida.
Dato un punto sul piano c'è un quadrato unico (un rettangolo con lati uguali) che è centrato sull'origine e interseca quel punto ( demo interattiva ):
Dato un punto p e una distanza d , restituisce il punto ottenuto spostando la distanza d da p , in senso antiorario (e in senso orario per d negativa ), lungo il perimetro del quadrato centrato sull'origine che interseca p . La tua risposta deve essere accurata con almeno 4 cifre decimali.
Casi test:
(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)
I seguenti casi di test sono tratti dalla sfida originale di Martin Ender e tutti sono con 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)
