En la programación de gráficos por computadora, la prueba de aciertos ( detección de aciertos , selección o correlación de selección [1] ) es el proceso de determinar si un cursor controlado por el usuario (como un cursor de mouse o un punto táctil en una interfaz de pantalla táctil) se cruza un objeto gráfico dado (como una forma, línea o curva) dibujado en la pantalla. La prueba de acierto se puede realizar con el movimiento o la activación de un mouse u otro dispositivo señalador.
Los entornos de GUI utilizan la prueba de aciertos para responder a las acciones del usuario, como seleccionar un elemento de menú o un objetivo en un juego en función de su ubicación visual. En lenguajes de programación web como HTML , SVG y CSS , esto está asociado con el concepto de eventos de puntero (por ejemplo, movimiento del cursor iniciado por el usuario o selección de objetos).
La detección de colisiones es un concepto relacionado para detectar intersecciones de dos o más objetos gráficos diferentes, en lugar de la intersección de un cursor con uno o más objetos gráficos.
Algoritmo
Hay muchos algoritmos diferentes que pueden usarse para realizar pruebas de aciertos, con diferentes resultados de rendimiento o precisión. Un algoritmo común de prueba de aciertos se presenta en el pseudocódigo a continuación:
La función HitTest ( Rectángulo r1 , Rectángulo r2 ) devuelve booleano { return (( r1 . X + r1 . Width > = r2 . X ) y ( r1 . X <= r2 . X + r2 . Width ) y ( r1 . Y + r1 . Altura > = r2 . Y ) y ( r1 . Y <= r2 . Y + r2 . Altura )); }
Ver también
Referencias
- ^ Computer Graphics: Principles and Practice 2nd Edition en C, Foley et al, Addison-Wesley , 1997.