escluso l'area del cerchio?

ciao a tutti! sto facendo un gioco, ho una mappa (vista come una griglia) di grandezza infinita.

voglio fare però che dopo una certa area inizi una foresta di alberi.

quindi voglio definire un cerchio di un certo raggio al centro della mappa e al di fuori di questo cerchio ci devon essere gli alberi.

quindi vorrei sapere la formula che mi dica se alla cella della griglia a coordinate -5, +7 ci sia un albero o no facendo finta che il cerchio abbia un raggio di 50 (px) e ogni cella sia grande 10(px) per 5(px).

(ovviamente il perimetro non sarà un cerchio perfetto perchè la mappa è fatta di celle e non di pixel ma non importa)

grazie:)

1 risposta

Classificazione
  • Marco
    Lv 6
    8 anni fa
    Risposta preferita

    Innanzitutto definisci il raggio (attraverso un certo numero di pixel, ad es R=50px) poi applichi la formula della circonferenza in coordinate cartesiane:

    X^2+Y^2>=R^2 al posto dell'uguale abbiamo messo un maggiore uguale per indicare i punti della foresta. ovvero: se la disequazione è verificata significa che la cella si trova esternamente al cerchio.

    adesso inserendo in questa le coordinate della griglia verifichi la disequazione.

    Ad esempio se R=50px vogliamo capire se la cella (-5,7) è foresta o meno, applicando la firmula ottieni:

    (-5)^2+(7)^2 >= (50)^2

    25+49 >= 2500

    74 >= 2500 NO! non essendo verificata l'equazione la cella di coordinate (-5,7) non è esterna al cerchio.

Altre domande? Fai una domanda e ottieni le risposte che cerchi.