Algoritmo per rilevare un CLIC all'interno dell'intervallo quadrato

0

Potrebbe essere una domanda semplice, ma sto cercando una soluzione ottimale. Avrò numeri stampati su uno schermo e sarò a conoscenza delle coordinate. I numeri / simboli avranno 4 punti (quadrato) per definire i loro confini. Le coordinate di quel particolare simbolo verranno memorizzate in un file. Diciamo che c'è un numero 5 e le sue 4 coordinate su schermi sono: (2,20,20,20,2,40,20,40)

Ora assumiamo che una stringa 555 rappresenti un valore in un file, diciamo che il valore è Car1

Quando l'utente preme il tastierino numerico di 5 tre volte allora dovrebbe rilevare che ha bisogno di Car1 .

Sono interessato a sapere se c'è qualche formula standard / Algo per trovare l'intervallo tra queste 4 coordinate o devo lavorare da solo. La Formula che mi veniva in mente è:

Simbolo = (X1 + X2 + X3 + X4) (Y1 + Y2 + Y3 + Y4) = (62) (120) = 182 (Rappresentando 5 )

Ma sono scettico sul fatto che sia giusto e se alla formula verrà sempre assegnato un valore univoco per simbolo / carattere basato su determinate coordinate?

    
posta Volatil3 21.02.2013 - 16:08
fonte

1 risposta

1

Un modo comune per farlo è solo confrontare le coordinate del clic del mouse con le coordinate del quadrato.

Supponiamo che il quadrato abbia la coordinata in alto a sinistra di x1, y1 e in basso a destra x2, y2.

Un clic del mouse su mx, my è nel quadrato se (mx > x1 e mx < x2 e my > y1 e my < y2).

Se tutti i quadrati hanno le stesse dimensioni e in una griglia, puoi assegnare a ciascun quadrato un numero:

n = y * numero di quadrati in una fila + x.

Quindi per ottenere n da un clic del mouse:

n = (larghezza della griglia in pixel / larghezza quadrata in pixel * numero di quadrati in una riga) + (altezza della griglia in pixel / altezza quadrata in pixel)

    
risposta data 21.02.2013 - 16:41
fonte

Leggi altre domande sui tag