der betreff und die fragestellung hören sich vielleicht etwas merkwürdig an, aber genau das ist mein problem 😉
ich habe gerade angefangen java zu lernen und wollte nun eine klasse schreiben, die allerlei dinge mit vektoren anstellt.
jetzt wollte ich eine funktion schreiben, die das vektorprodukt berechnet und in einer neuen Vector3D-instanz speichert, aber das scheint unlogisch und wohl nicht zu funktionieren. gibt es eine andere möglichkeit der implementierung? im moment überschreibe ich die werte der instanz, die die methode aufruft.
ich würde aber eben gerne eine neue instanz für das vektorprodukt erzeugen und die anderen beiden vektoren unangetastet lassen, damit ich mit ihnen weiterarbeiten kann!
ich habe gerade angefangen java zu lernen und wollte nun eine klasse schreiben, die allerlei dinge mit vektoren anstellt.
Java:
Vector3D v1 = new Vector3D(1.0,2.0,3.0);
jetzt wollte ich eine funktion schreiben, die das vektorprodukt berechnet und in einer neuen Vector3D-instanz speichert, aber das scheint unlogisch und wohl nicht zu funktionieren. gibt es eine andere möglichkeit der implementierung? im moment überschreibe ich die werte der instanz, die die methode aufruft.
Java:
public void vectorp(Vector3D v) {
double a,b,c;
a = (this.y * v.z) - (this.z * v.y);
b = (this.z * v.x) - (this.x * v.z);
c = (this.x * v.y) - (this.y * v.x);
this.x = a;
this.y = b;
this.z = c;
}
ich würde aber eben gerne eine neue instanz für das vektorprodukt erzeugen und die anderen beiden vektoren unangetastet lassen, damit ich mit ihnen weiterarbeiten kann!