¿Cómo determino qué triángulo tocó el usuario en este rectángulo?
Hice una vista personalizada de Android que se ve como un D-Pad (imagen a continuación). Dada la coordenada tocada (x, y), el ancho del rectángulo (w) y la altura del rectángulo (h), ignorando la diagonal blanca y las esquinas redondeadas, ¿podría alguien ayudarme? ¿Cómo puedo determinar qué triángulo que el usuario toque?
Información adicional: (0,0) es la esquina superior izquierda
- Determine el ángulo de visión de la cámara del teléfono inteligente
- ¿Cómo mostrar fórmulas matemáticas en mi aplicación Android?
- Android getOrientation Azimut se contamina cuando el teléfono está inclinado
- Tengo problemas para entender lo que realmente obtiene GetDisplayRect () de PhotoView (construyendo una herramienta de recorte de fotos de android)
- ¿Debo confiar en Android para descartar los sorteos fuera de pantalla?
- Desplazamiento pequeño al calcular la rotación en función del punto de contacto
- Problema básico de conversión imperial
- Calcular la distancia entre dos puntos directamente en SQLite
- Implementar página curl en android?
- Comprender claramente el cálculo de la matriz
- Cálculo de intersecciones entre segmentos de línea
- Almacene la orientación en una matriz y compare
- ¿Cuál es la mejor práctica para redondear un flotador a 2 decimales?
Cambiar el origen al centro: restar w/2
de x
y h/2
de y
. Si no es un cuadrado (digamos w
es mayor que h
) entonces normalizar la dimensión más grande: x *= h; x /= w;
x *= h; x /= w;
A continuación, las cuatro secciones se pueden determinar de la siguiente manera:
x < 0, |y| < |x| = left x > 0, |y| < |x| = right y < 0, |x| < |y| = up y > 0, |x| < |y| = down
(Cualquier otra condición, como x = y = 0, o | x | = | y |, significa que estás en las diagonales).
- ¿Cómo puedo mover objetos por velocidad correctamente?
- Cómo utilizar la biblioteca compartida .so en Java Android Studio Project