Estoy desarrollando un videojuego independiente, y he estado operando bajo la suposición de que, debido a que el pulgar en mi controlador tiene un rango circular de movimiento, devuelve coordenadas "circulares"; es decir, coordenadas cartesianas limitadas a un área circular (de radio 1). De hecho, las coordenadas son "cuadradas"; por ejemplo, la posición del thumbstick superior derecho se registra como x = 1, y = 1. Cuando convierto las coordenadas de cartesiana a polar, la magnitud puede exceder 1, lo que tiene el efecto de que el jugador puede moverse más rápido en diagonal que vertical u horizontalmente.¿Cómo puedo convertir coordenadas en un cuadrado a coordenadas en un círculo?
Por lo tanto, para aclarar, quiero registrar la posición de un thumbstick analógico en términos de una dirección y magnitud, donde la magnitud está entre 0 y 1. El thumbstick devuelve las coordenadas en un plano cuadrado, simplemente convirtiendo las coordenadas de cartesiano a polar no es suficiente. Creo que necesito convertir las coordenadas espacio, pero eso está presionando los límites de mi cerebro de mono.
¿Se ocupa el cuadrado "entero" o devuelve las coordenadas que se encuentran dentro de algo que ya parece un círculo? P.ej.asegúrese de que puede (o no puede) tomar la magnitud sqrt. –
¿Qué (x, y) obtienes con el palo hacia arriba? Además, ¿su barra analógica o interruptores? ¿Puedes obtener valores como (0.5,0.5)? – Nosredna
Sí, las coordenadas se distribuyen en un cuadrado, incluidas las esquinas. – Metaphile