¿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

Imagen de D-Pad

One Solution collect form web for “¿Cómo determino qué triángulo tocó el usuario en este rectángulo?”

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).

  • Mostrar una buena fórmula de matemáticas en Android
  • Convertir valores de ReplayGain a ajustes de volumen
  • Obtener los siguientes N puntos geográficos más cercanos
  • Almacene la orientación en una matriz y compare
  • La mejor práctica para calcular la velocidad media de las coordenadas GPS
  • Android - Ajuste de la posición de la vista de imagen en la parte superior de una vista de imagen con zoom
  • Android Dividir el círculo en N partes iguales y conocer las coordenadas de cada punto de división
  • Calcular el ángulo del punto tocado y rotarlo en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.