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

  • ¿Multiplicar dobles en java?
  • Convertir valores de ReplayGain a ajustes de volumen
  • ¿Puede explicar (cálculos matemáticos) ejemplo de gesto (Levenshtein)?
  • MathML y ​​Java
  • ¿Qué es una buena biblioteca para analizar expresiones matemáticas en java?
  • Android - calcular el ángulo del arco
  • Latitud / Longitud y metros
  • Configuración de la alarma en base mensual android
  • ¿Cómo inserto caracteres especiales como texto en el editor de XML para Android?
  • Android getOrientation Azimut se contamina cuando el teléfono está inclinado
  • Desplazamiento pequeño al calcular la rotación en función del punto de contacto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.