promotion image of download ymail app
Promoted
? ha chiesto in Matematica e scienzeMatematica · 10 anni fa

Come trovare il punto più vicino su una griglia?

Allora, ho un problema che apparentemente sembra stupido ma da cui non riesco proprio ad uscire, ho una griglia non fatta di quadrati ma di rettangoli, mi servirebbe sapere, sapendo X e Y del mouse, gli X e Y del punto (per punto intendo dove si incrociano le righe) più vicino nella griglia, come faccio? Esiste qualche formula o cose simili per trovare quel punto??

2 risposte

Classificazione
  • Risposta preferita

    Immagino che la tua griglia sia formata da tante rette parallele verticali equidistanti, con distanza che chiameremo A, e tante rette parallele orizzontali equidistanti, con distanza che chiameremo B.

    Supponiamo inoltre che la prima linea verticale abbia coordinata X = Ao e la prima linea orizzontale abbia coordinata Y = Bo (ovviamente sia Ao che Bo possono essere 0, a seconda di come hai costruito la griglia).

    Allora tutti i punti della i-ma linea verticale hanno coordinata Xi = Ao + iA, e i punti della j-ma linea orizzontale hanno coordinata Yj = Bo + jB (riserviamo gli indici i = 0 e j = 0 per le prime linee della griglia).

    Affinché un punto di coordinate X, Y cada nel rettangolo compreso tra la i-ma e la (i+1)-ma linea verticale, e tra la j-ma e la (j+1)-ma linea orizzontale devono valere le disuguaglianze

    Ao + iA <= X <= Ao + (i+1)A

    Bo + jB <= Y <= Bo + (j+1)B

    Per determinare i valori di i, j corrispondenti all'angolo superiore sinistro (sto supponendo che le X vadano verso destra e le Y verso il basso) del rettangolo che contiene il punto (X, Y) basta allora risolvere le due equazioni

    Ao + iA = X

    Bo + jB = Y

    che ci danno rispettivamente

    i = (X - Ao)/A

    j = (Y - Bo)/B

    I valori che ottieni con queste formule non saranno in generale numeri interi, perché il punto in generale non cadrà esattamente sulle linee della griglia. Se però li arrotondi all'intero più vicino, ottieni esattamente i valori di i, j corrispondenti all'incrocio della griglia più vicino al punto.

    Perciò le coordinate del punto della griglia più vicino a X, Y sono (usando la terminologia di Excel)

    x = Ao + A*arrotonda((X - Ao)/A)

    y = Bo + B*arrotonda((Y - Bo)/B)

    • Commenter avatarAccedi per rispondere alle risposte
  • Anonimo
    10 anni fa

    x

    puoi scrivere meglio la domanda? non si capisce bene quali sono i tuoi dati di partenza... e qual è il tuo dato di arrivo.

    Dici (nel titolo) di voler trovare il punto più vicino in una griglia...

    e poi dopo dici che conosci X ed Y di questo punto... le cose non vanno d'accordo!

    Se inoltre la tua griglia è rettangolare, è delimitata da 4 VERTICI...

    occorre conoscere le coordinate DI TUTTE LE GRIGLIE per trovare quella più vicina...

    ------------------- prova a riformulare la domanda in maniera più chiara... grazie -----------

    • Commenter avatarAccedi per rispondere alle risposte
Altre domande? Fai una domanda e ottieni le risposte che cerchi.