Oppure

Loading
06/06/11 21:32
anthony015
mi prendi in giro?
ti devo scrivere il codice provato precedentemente o ti fidi?
ps: non veniva completamente errato, "soltanto" veniva sballato di una ventina di pixel
aaa
06/06/11 22:19
HeDo
Postato originariamente da anthony015:

mi prendi in giro?
ti devo scrivere il codice provato precedentemente o ti fidi?
ps: non veniva completamente errato, "soltanto" veniva sballato di una ventina di pixel


allora hai fatto degli errori conversione da qualche parte
aaa
07/06/11 12:37
nikipe_silver
per me poi aver sbagliato all'inizio, perche' gli m e q da calcolare sono 2

Provo a spiegare meglio:

hai 4 punti (x1,y1),(x2,y2),(x3,y3),(x4,y4)

devi calcolare m1= (y2 - y1) / (x2 -x1) per i primi 2, ed m2= (y4 - y3) / (x4 -x3) per gli ultimi 2..
cosi pure per q1 e q2...

poi metti a sistema le 2 eq (y=m1*x+q1 & y=m2*x+q2) come ha fatto HeDo...
aaa
07/06/11 13:10
anthony015
ragazzi, non so che dirvi, magari mi venivano dei grossi errori di approssimazione visto che lavoravo con cifre di un certo spessore...
aaa
07/06/11 14:02
HeDo
Postato originariamente da nikipe_silver:

per me poi aver sbagliato all'inizio, perche' gli m e q da calcolare sono 2

Provo a spiegare meglio:

hai 4 punti (x1,y1),(x2,y2),(x3,y3),(x4,y4)

devi calcolare m1= (y2 - y1) / (x2 -x1) per i primi 2, ed m2= (y4 - y3) / (x4 -x3) per gli ultimi 2..
cosi pure per q1 e q2...

poi metti a sistema le 2 eq (y=m1*x+q1 & y=m2*x+q2) come ha fatto HeDo...


si infatti, mi sembrava stupido ripetere due volte la stessa cosa, era chiaro che andasse fatto per entrambe le coppie dei punti.
aaa
07/06/11 14:36
anthony015
guardate che l'ho fatto con entrambi i segmenti...
aaa
20/12/12 21:16
micronpn
Postato originariamente da HeDo:

Postato originariamente da anthony015:

sapendo che ho due segmenti che vanno da un pixel che conosco ad un altro pixel che conosco, come potrei fare per determinare il punto di incontro? io avevo pensato a mettere a sistema le equazione(come si fa matematicamente), ma trovo molte difficoltà a risolvere questo sistema...


????

ti calcoli le rette passanti per gli estremi dei segmenti

m = (y2 - y1) / (x2 -x1)
q = y1 - ((y2 - y1) / (x2 - x1)) * x1

dopodichè le metti a sistema:

| y = m1 * x + q1
| y = m2 * x + q2

m2 * x + q2 = m1 * x + q1

x(m2 - m1) = q1 - q2

| x = (q1 - q2) / (m2 - m1)
| y = m1 * ((q1 - q2) / (m2 - m1)) + q1

x e y sono le coordinate dell'intersezione

è algebra del primo anno delle superiori.


Infatti... mi meraviglio che tu laureato in informatica non posti la soluzione corretta. La soluzione che proponi è valida se e solo se entrambe le rette NON sono parallele all'asse y, questa precondizione è chiaramente riportata sui libri di testo di matematica di prima superiore. E anche se non te lo ricordassi, ti basterebbe porre la condizione x2 = x1 nell'equazione del calcolo di m per capire che m vale infinito.
aaa
22/12/12 18:04
HeDo
Postato originariamente da micronpn:
Infatti... mi meraviglio che tu laureato in informatica non posti la soluzione corretta. La soluzione che proponi è valida se e solo se entrambe le rette NON sono parallele all'asse y, questa precondizione è chiaramente riportata sui libri di testo di matematica di prima superiore. E anche se non te lo ricordassi, ti basterebbe porre la condizione x2 = x1 nell'equazione del calcolo di m per capire che m vale infinito.


innanzitutto se due rette sono parallele all'asse y non hanno nessun punto di intersezione.
inoltre in generale due rette parallele non hanno punti di intersezione.
la mia soluzione risolve il caso generale di intersezione tra due rette non parallele tra loro.
ci sono dei casi limite come quello che hai evidenziato delle rette parallele all'asse y, ma questo dipende dal modello che ho usato: y = mx + q.
La retta parallela all'asse y ha una equazione di forma: x = q, quindi non rappresentabile dal modello che ho usato.
secondo me il problema non si pone, in quanto non esiste proprio l'intersezione tra due rette parallele all'asse y.
se volessi scrivere una procedura che trova l'intersezione tra due rette generiche usando i miei calcoli dovrei porre delle condizioni iniziali e dei controlli per gestire i casi banali o fuori dal modello.
mi scuso se do per scontato che bisogna PENSARE prima di programmare.
aaa