public void tracciaParallela(){
double m=((double)y2-(double)y1)/((double)x2-(double)x1);
yy1=(int) (m*( xx1- cPoint.x)+ cPoint.y);
yy2=(int) (m*( xx2- cPoint.x)+ cPoint.y);
}
Questa è la soluzione corretta. In cosa differisce da quanto scritto in classe ? Addirittura c'erano due errori ! 1)il coefficiente angolare m veniva uguale a zero! Perchè ? m=(y2-y1)/(x2-x1), essendo le variabili tutte definite di tipo intero, il rapporto tra due grandezze intere viene arrotondato a numero intero e siccome il risultato è un numero decimale inferiore a zero, lo approssima a zero! Questo prima problema si risolve facendo il casting di y1,y2,x1,x2 con (double). Ma non finisce qui. C'è un secondo errore. 2) nel calcolo di yy1 e yy2 l'istruzione scritta in classe era
yy1= (int) m*(xx1-cPoint.x)+cPoint.y;
Il casting (int) agisce solo sul primo fattore m*(xx1-cPoint.c), che diabolicamente è ancora m! per cui me lo azzera nuovamente. Pertanto la soluzione sta nel racchiudere tutta l'espressione al secondo membro tra le parentesi tonde. E ora funziona.
Various Artists - 불후의 명곡 - 전설을 노래하다 (오승근&조항조 편) (Immortal Song : Singing
The Legend (Oh Seung Geun & Cho Hang Jo Special))
-
To download this full album, choose any of the download links available
below.Various Artists - 불후의 명곡 - 전설을 노래하다 (오승근&조항조 편) (Immortal Song :
Singing The ...
8 anni fa
Nessun commento:
Posta un commento