SlideShare a Scribd company logo
Coding - Algoritmo per le linee di Brensenham 1
Alessandra Peroni
Algoritmo per le linee di Brensenham
Una tecnica che il computer usa per sapere se un pixel deve essere colorato è l’Algoritmo per le linee di
Brensenham.
Qui l’algoritmo in forma semplificata.
Tratto da http://csunplugged.org/wp-content/uploads/2014/12/Lines.pdf
Per linee con ∆y < ∆x
Siano date le coordinate X,Y di due punti I e F, dove I (inizio) è il punto di partenza e F (fine) quello di arrivo.
Regole
 Si colora 1 pixel per ogni colonna.
 Si determina se andare SU o GIU di una riga:
 Si va a destra o a sinistra a seconda della posizione relativa di I e F.
 Se pendenza positiva (dal basso all’alto), vado SU
 Se pendenza negativa (dall’alto al basso), vado GIU
 Si determina se andare a destra o a sinistra:
 Si va a destra o a sinistra a seconda della posizione relativa di I e F.
Coding - Algoritmo per le linee di Brensenham 2
Alessandra Peroni
Procedimento
 Su un foglio scrivere
 le coordinate dei punti I e F
 il valore SU o GIU determinato
 il valore SIN o DX determinato
 Determinare e scrivere i tre valori:
A = 2 x (valore assoluto della differenza tra le coordinate Y dei punti)
B = A - 2 x (valore assoluto della differenza tra le coordinate X dei punti)
P = A - (valore assoluto della differenza tra le coordinate X dei punti)
 Riempi il primo pixel I.
 Per ogni posizione lungo l’asse X, fai:
- se P < 0 allora colora il pixel nella prossima colonna DX o SIN e sulla stessa riga. Poi calcola P= P + A
- se P >=0 allora colora il pixel nella prossima colonna DX o SIN e sulla riga SU o GIU. Poi calcola P= P + B
Ricomincia da  finché raggiungi la fine della linea F.
Esercizi
Provare a tracciare le seguenti linee:
I(18,6) e F(11,3)
I(5,14) e F(11,11)
I(17,13) e F(10,17)
I(2,3) e F(11,8)
Coding - Algoritmo per le linee di Brensenham 3
Alessandra Peroni
Per linee con ∆y > ∆x
Siano date le coordinate (X,Y) di due punti I e F, dove I (inizio) è il punto di partenza e F (fine) quello di
arrivo.
Regole
 Si colora 1 pixel per ogni riga.
 Si determina se andare SU o GIU di una riga:
 Si va a destra o a sinistra a seconda della posizione relativa di I e F.
 Se pendenza positiva (dal basso all’alto), vado SU
 Se pendenza negativa (dall’alto al basso), vado GIU
 Si determina se andare a destra o a sinistra:
 Si va a destra o a sinistra a seconda della posizione relativa di I e F.
Coding - Algoritmo per le linee di Brensenham 4
Alessandra Peroni
Procedimento
 Su un foglio scrivere
 le coordinate dei punti I e F
 il valore SU o GIU determinato
 il valore SIN o DX determinato
 Determinare e scrivere i tre valori:
A = 2 x (valore assoluto della differenza tra le coordinate X dei punti)
B = A - 2 x (valore assoluto della differenza tra le coordinate Y dei punti)
P = A - (valore assoluto della differenza tra le coordinate Y dei punti)
 Riempi il primo pixel I.
 Per ogni posizione lungo l’asse Y, fai:
- se P < 0 allora colora il pixel nella prossima riga SU o GIU e sulla stessa colonna. Poi calcola P= P + A
- se P >=0 allora colora il pixel nella prossima riga SU o GIU e sulla colonna DX o SIN. Poi calcola P= P + B
Ricomincia da  finché raggiungi la fine della linea F.
Esercizi
Provare a tracciare le seguenti linee:
I(2,9) e F(5,16)
I(8,16) e F(12,9)
Coding - Algoritmo per le linee di Brensenham 5
Alessandra Peroni

More Related Content

What's hot

La retta
La rettaLa retta
La retta
Enzo Oteri
 
Disequazioni con il modulo
Disequazioni con il moduloDisequazioni con il modulo
Disequazioni con il moduloanteresa
 
Proc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassexProc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassex
Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA
 
Presentazione1
Presentazione1Presentazione1
Presentazione1
elemcazzago
 
Presentazione tesina gerardo 2
Presentazione tesina gerardo 2Presentazione tesina gerardo 2
Presentazione tesina gerardo 2gerardo della
 
Problemi di trigonometria
Problemi di trigonometriaProblemi di trigonometria
Fuschini t05 slideshare
Fuschini t05 slideshareFuschini t05 slideshare
Fuschini t05 slideshare
skinize
 
Somma matrici
Somma matriciSomma matrici
Somma matrici
floriana93
 

What's hot (10)

La retta
La rettaLa retta
La retta
 
Disequazioni con il modulo
Disequazioni con il moduloDisequazioni con il modulo
Disequazioni con il modulo
 
Proc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassexProc solescercaparabolastaccasegmentosuassex
Proc solescercaparabolastaccasegmentosuassex
 
Presentazione1
Presentazione1Presentazione1
Presentazione1
 
Presentazione tesina gerardo 2
Presentazione tesina gerardo 2Presentazione tesina gerardo 2
Presentazione tesina gerardo 2
 
Lezionematematicadel250213
Lezionematematicadel250213Lezionematematicadel250213
Lezionematematicadel250213
 
Problemi di trigonometria
Problemi di trigonometriaProblemi di trigonometria
Problemi di trigonometria
 
Scansione 00074
Scansione 00074Scansione 00074
Scansione 00074
 
Fuschini t05 slideshare
Fuschini t05 slideshareFuschini t05 slideshare
Fuschini t05 slideshare
 
Somma matrici
Somma matriciSomma matrici
Somma matrici
 

Viewers also liked

Coding - linguaggi a blocchi
Coding - linguaggi a blocchiCoding - linguaggi a blocchi
Coding - linguaggi a blocchi
alexperoni
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -
alexperoni
 
Biblioteca esercizio unplugged
Biblioteca   esercizio unpluggedBiblioteca   esercizio unplugged
Biblioteca esercizio unplugged
alexperoni
 
Risk ppt
Risk pptRisk ppt
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
Pierfranco Ravotto
 
Che cosa sono le OER
Che cosa sono le OERChe cosa sono le OER
Le certificazioni ICT nella scuola anche alla luce della riforma scolastica
Le certificazioni ICT nella scuola anche alla luce della riforma scolasticaLe certificazioni ICT nella scuola anche alla luce della riforma scolastica
Le certificazioni ICT nella scuola anche alla luce della riforma scolastica
Pierfranco Ravotto
 
Manuale EasyPHP e Wordpress
Manuale EasyPHP e WordpressManuale EasyPHP e Wordpress
Manuale EasyPHP e Wordpress
alexperoni
 
Webinar MED Digital&Media Literacy18042013
Webinar MED Digital&Media Literacy18042013Webinar MED Digital&Media Literacy18042013
Webinar MED Digital&Media Literacy18042013
Maria Ranieri
 

Viewers also liked (9)

Coding - linguaggi a blocchi
Coding - linguaggi a blocchiCoding - linguaggi a blocchi
Coding - linguaggi a blocchi
 
Coding - intro -
Coding   - intro -Coding   - intro -
Coding - intro -
 
Biblioteca esercizio unplugged
Biblioteca   esercizio unpluggedBiblioteca   esercizio unplugged
Biblioteca esercizio unplugged
 
Risk ppt
Risk pptRisk ppt
Risk ppt
 
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
Strategie eLearning, condivisione della conoscenza e produzione di OER - 1
 
Che cosa sono le OER
Che cosa sono le OERChe cosa sono le OER
Che cosa sono le OER
 
Le certificazioni ICT nella scuola anche alla luce della riforma scolastica
Le certificazioni ICT nella scuola anche alla luce della riforma scolasticaLe certificazioni ICT nella scuola anche alla luce della riforma scolastica
Le certificazioni ICT nella scuola anche alla luce della riforma scolastica
 
Manuale EasyPHP e Wordpress
Manuale EasyPHP e WordpressManuale EasyPHP e Wordpress
Manuale EasyPHP e Wordpress
 
Webinar MED Digital&Media Literacy18042013
Webinar MED Digital&Media Literacy18042013Webinar MED Digital&Media Literacy18042013
Webinar MED Digital&Media Literacy18042013
 

More from alexperoni

Lim con sankoré 2016
Lim con sankoré 2016Lim con sankoré 2016
Lim con sankoré 2016
alexperoni
 
Lim con sankoré v3
Lim con sankoré v3Lim con sankoré v3
Lim con sankoré v3
alexperoni
 
Lim con sankoré v2
Lim con sankoré v2Lim con sankoré v2
Lim con sankoré v2alexperoni
 
Lim con sankoré v2
Lim con sankoré v2Lim con sankoré v2
Lim con sankoré v2
alexperoni
 
Dropbox
DropboxDropbox
Dropbox
alexperoni
 
Internet e il web
Internet e il webInternet e il web
Internet e il web
alexperoni
 
Lim con sankoré
Lim con sankoréLim con sankoré
Lim con sankoré
alexperoni
 
Corso cloud web wikispaces 14-15 v2
Corso cloud web   wikispaces 14-15 v2Corso cloud web   wikispaces 14-15 v2
Corso cloud web wikispaces 14-15 v2
alexperoni
 
Corso cloud web wikispaces 14-15
Corso cloud web   wikispaces 14-15Corso cloud web   wikispaces 14-15
Corso cloud web wikispaces 14-15
alexperoni
 
Ud a 4 rischi specifici 2012
Ud a 4  rischi specifici 2012Ud a 4  rischi specifici 2012
Ud a 4 rischi specifici 2012
alexperoni
 
Ud a 3 antincendio_2012
Ud a 3 antincendio_2012Ud a 3 antincendio_2012
Ud a 3 antincendio_2012
alexperoni
 
Ud a 2 normativa_2012
Ud a 2 normativa_2012Ud a 2 normativa_2012
Ud a 2 normativa_2012
alexperoni
 
Uda 1 perc rischio_2012
Uda 1 perc rischio_2012Uda 1 perc rischio_2012
Uda 1 perc rischio_2012
alexperoni
 
Google drive
Google driveGoogle drive
Google drive
alexperoni
 
Dropbox
DropboxDropbox
Dropbox
alexperoni
 
Twitter
TwitterTwitter
Twitter
alexperoni
 
Corso cloud web wikispaces
Corso cloud web   wikispacesCorso cloud web   wikispaces
Corso cloud web wikispaces
alexperoni
 
E book prima parte gweb2
E book prima parte gweb2E book prima parte gweb2
E book prima parte gweb2
alexperoni
 
Wiki
WikiWiki

More from alexperoni (20)

Lim con sankoré 2016
Lim con sankoré 2016Lim con sankoré 2016
Lim con sankoré 2016
 
Lim con sankoré v3
Lim con sankoré v3Lim con sankoré v3
Lim con sankoré v3
 
Lim con sankoré v2
Lim con sankoré v2Lim con sankoré v2
Lim con sankoré v2
 
Lim con sankoré v2
Lim con sankoré v2Lim con sankoré v2
Lim con sankoré v2
 
Dropbox
DropboxDropbox
Dropbox
 
Internet e il web
Internet e il webInternet e il web
Internet e il web
 
Lim con sankoré
Lim con sankoréLim con sankoré
Lim con sankoré
 
Corso cloud web wikispaces 14-15 v2
Corso cloud web   wikispaces 14-15 v2Corso cloud web   wikispaces 14-15 v2
Corso cloud web wikispaces 14-15 v2
 
Corso cloud web wikispaces 14-15
Corso cloud web   wikispaces 14-15Corso cloud web   wikispaces 14-15
Corso cloud web wikispaces 14-15
 
Ud a 4 rischi specifici 2012
Ud a 4  rischi specifici 2012Ud a 4  rischi specifici 2012
Ud a 4 rischi specifici 2012
 
Ud a 3 antincendio_2012
Ud a 3 antincendio_2012Ud a 3 antincendio_2012
Ud a 3 antincendio_2012
 
Ud a 2 normativa_2012
Ud a 2 normativa_2012Ud a 2 normativa_2012
Ud a 2 normativa_2012
 
Uda 1 perc rischio_2012
Uda 1 perc rischio_2012Uda 1 perc rischio_2012
Uda 1 perc rischio_2012
 
Google drive
Google driveGoogle drive
Google drive
 
Dropbox
DropboxDropbox
Dropbox
 
Twitter
TwitterTwitter
Twitter
 
Corso cloud web wikispaces
Corso cloud web   wikispacesCorso cloud web   wikispaces
Corso cloud web wikispaces
 
E book prima parte gweb2
E book prima parte gweb2E book prima parte gweb2
E book prima parte gweb2
 
Wiki
WikiWiki
Wiki
 
Prezi sabella
Prezi sabellaPrezi sabella
Prezi sabella
 

Linee algoritmo di Brensenham

  • 1. Coding - Algoritmo per le linee di Brensenham 1 Alessandra Peroni Algoritmo per le linee di Brensenham Una tecnica che il computer usa per sapere se un pixel deve essere colorato è l’Algoritmo per le linee di Brensenham. Qui l’algoritmo in forma semplificata. Tratto da http://csunplugged.org/wp-content/uploads/2014/12/Lines.pdf Per linee con ∆y < ∆x Siano date le coordinate X,Y di due punti I e F, dove I (inizio) è il punto di partenza e F (fine) quello di arrivo. Regole  Si colora 1 pixel per ogni colonna.  Si determina se andare SU o GIU di una riga:  Si va a destra o a sinistra a seconda della posizione relativa di I e F.  Se pendenza positiva (dal basso all’alto), vado SU  Se pendenza negativa (dall’alto al basso), vado GIU  Si determina se andare a destra o a sinistra:  Si va a destra o a sinistra a seconda della posizione relativa di I e F.
  • 2. Coding - Algoritmo per le linee di Brensenham 2 Alessandra Peroni Procedimento  Su un foglio scrivere  le coordinate dei punti I e F  il valore SU o GIU determinato  il valore SIN o DX determinato  Determinare e scrivere i tre valori: A = 2 x (valore assoluto della differenza tra le coordinate Y dei punti) B = A - 2 x (valore assoluto della differenza tra le coordinate X dei punti) P = A - (valore assoluto della differenza tra le coordinate X dei punti)  Riempi il primo pixel I.  Per ogni posizione lungo l’asse X, fai: - se P < 0 allora colora il pixel nella prossima colonna DX o SIN e sulla stessa riga. Poi calcola P= P + A - se P >=0 allora colora il pixel nella prossima colonna DX o SIN e sulla riga SU o GIU. Poi calcola P= P + B Ricomincia da  finché raggiungi la fine della linea F. Esercizi Provare a tracciare le seguenti linee: I(18,6) e F(11,3) I(5,14) e F(11,11) I(17,13) e F(10,17) I(2,3) e F(11,8)
  • 3. Coding - Algoritmo per le linee di Brensenham 3 Alessandra Peroni Per linee con ∆y > ∆x Siano date le coordinate (X,Y) di due punti I e F, dove I (inizio) è il punto di partenza e F (fine) quello di arrivo. Regole  Si colora 1 pixel per ogni riga.  Si determina se andare SU o GIU di una riga:  Si va a destra o a sinistra a seconda della posizione relativa di I e F.  Se pendenza positiva (dal basso all’alto), vado SU  Se pendenza negativa (dall’alto al basso), vado GIU  Si determina se andare a destra o a sinistra:  Si va a destra o a sinistra a seconda della posizione relativa di I e F.
  • 4. Coding - Algoritmo per le linee di Brensenham 4 Alessandra Peroni Procedimento  Su un foglio scrivere  le coordinate dei punti I e F  il valore SU o GIU determinato  il valore SIN o DX determinato  Determinare e scrivere i tre valori: A = 2 x (valore assoluto della differenza tra le coordinate X dei punti) B = A - 2 x (valore assoluto della differenza tra le coordinate Y dei punti) P = A - (valore assoluto della differenza tra le coordinate Y dei punti)  Riempi il primo pixel I.  Per ogni posizione lungo l’asse Y, fai: - se P < 0 allora colora il pixel nella prossima riga SU o GIU e sulla stessa colonna. Poi calcola P= P + A - se P >=0 allora colora il pixel nella prossima riga SU o GIU e sulla colonna DX o SIN. Poi calcola P= P + B Ricomincia da  finché raggiungi la fine della linea F. Esercizi Provare a tracciare le seguenti linee: I(2,9) e F(5,16) I(8,16) e F(12,9)
  • 5. Coding - Algoritmo per le linee di Brensenham 5 Alessandra Peroni