Hallo,
beschäftige mich gerade mit Java und Computergrafik.
Problem:
Ich habe gerade Schwierigkeiten eine Linie mit der Liniengleichung y = m*x + n aus Punktdarstellungen zu programmieren. (also mit g.drawOval)
Im Hauptprogramm lege ich also die zwei Endpunkte p0 und p1 mit Koordinaten fest und dann sollen eben dazwischen die Punkte mit der Formel gerendert werden.
So siehst in der Hauptklasse aus:
setSize(100,100); setVisible(true); setResizable(false);
addWindowListener( new WindowAdapter() {public void windowClosing ( WindowEvent e ){ System.exit(0); } } );
new primLinie(pkt0, pkt1);
Ok jetzt wird also das Objekt der Klasse PrimLinie erstellt. Da sieht es momentan so bei mir aus:
class primLinie extends Panel {
double m, n, xmin, xmax, ymin, ymax;
public primLinie(Point p0, Point p1){
double angle;
angle= Math.atan2( (p1.getY() - p0.getY()), (p1.getX() - p1.getX()) );
m= Math.tan(angle); // m = tan(Schnittwinkel)
n= p1.getY() - m * p1.getX();
xmax= Math.max( p0.getX(), p1.getX() ); xmin= Math.min( p0.getX(), p1.getX() );
ymax= Math.max( p0.getY(), p1.getY() ); ymin= Math.min( p0.getY(), p1.getY() );
}
public void paint(Graphics g){
if ((xmin - xmax) == 0)
for (int i= (int) ymin; i