Frage zu Vektoren


Acdilyoh

Neues Mitglied
Hallo,

ich würde gerne wissen, wie ich mir einen Vektor anzeigen lassen kann.
Code:
function Vector3(x,y,z)
{
  this.x=x;
  this.y=y;
  this.z=z;
}

var a = new Vector3( 0, 1, 0 ); document.write("<p>" + a + "<br>");
So habe ich es versucht aber der Vektor wird leider nicht wie gewünscht auf der Seite zurückgegeben. Es würde mir auch reichen wenn ich jede Zahl irgendwie einzeln aus dem Vektor herrausziehen kann und auf der Seite anzeigen lassen kann.
 

Hinweis: Wenn du jetzt Java lernen möchtest, dann schau dir diese kurze Präsentation hier an (hier klicken!)
Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!

Hinweis: Wenn du jetzt Java lernen möchtest, dann schau dir diese kurze Präsentation hier an (hier klicken!)
Sichere dir hier den Zugriff auf umfangreiches Java-Know How und starte richtig durch!

httpdigest

Bekanntes Mitglied
Javascript:
document.write("<p>" + [a.x, a.y, a.z].join(",") + "<br>");
Das hat aber nichts mit "Vektoren" zu tun, die es in JavaScript auch gar nicht gibt.
Du hast dir eine eigene Konstruktorfunktion geschrieben, die zufälligerweise "Vector" heißt, aber sonst wie jedes andere Objekt auch, Properties hat.
Die Frage war also eigentlich: Wie gebe ich die Werte der Properties eines Objektes aus?
 

Acdilyoh

Neues Mitglied
Uff

Also ich kann ja mal sagen, was meine Aufgabe ist.

Ich sollte 3 Koordinatenwerte in
Code:
var a = new THREE.Vector3( 0, 1, 0 );
einfügen und mir über einen Browser anzeigen lassen.
Ich beschäftige mich jetzt erst seit ein paar Stunden mit Java und kenne mich daher nicht wirklich damit aus. Ich weiß ehrlich gesagt noch nicht einmal ob ich hier Javascript oder Java zu programmieren versuche. Aber ich tendiere zu Java.
 

Acdilyoh

Neues Mitglied
Javascript:
document.write("<p>" + [a.x, a.y, a.z].join(",") + "<br>");
Das hat aber nichts mit "Vektoren" zu tun, die es in JavaScript auch gar nicht gibt.
Du hast dir eine eigene Konstruktorfunktion geschrieben, die zufälligerweise "Vector" heißt, aber sonst wie jedes andere Objekt auch, Properties hat.
Die Frage war also eigentlich: Wie gebe ich die Werte der Properties eines Objektes aus?
Also dein Vorschlag funktioniert aufjedenfall. Allerdings bringt mich das nicht zu der Lösung meines Problemes.

Code:
function kartesisch(x,y,z){
  var r = Math.sqrt(x**2+y**2); document.write("<p>" + r + "<br>");
  var b = r*Math.sin(y)*Math.cos(z);  document.write("<p>" + b + "<br>");
var c = r*Math.sin(y)*Math.sin(z); document.write("<p>" + c + "<br>");
var d = r*Math.cos(y); document.write("<p>" + d + "<br>");
}

kartesisch(10,2,4)

function Vector3(x,y,z)
{
  this.x=x;
  this.y=y;
  this.z=z;
}

var a = new Three.Vector3( b, c, d ); document.write("<p>" + [a.x, a.y, a.z].join(",") + "<br>");
Mit der Funktion kartesisch() will ich spharische Koordinaten in karthesische umwandeln. x,y und z sollen dann in dem Vektor gespeichert werden. Allerdings weiß ich nicht wie ich das mit dem Three.Vektor3 hinbekommen soll.


Falls das hier alles keinen Sinn macht, sagt bescheid, dann warte ich einfach bis zur nächsten Vorlesung.
 

mihe7

Bekanntes Mitglied
Meinst Du sowas in der Richtung?

Javascript:
function Vector3(x,y,z) {
    this.x = x;
    this.y = y;
    this.z = z;
}

Vector3.prototype.kartesisch = function() {
    var r = Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2));
    var b = r*Math.sin(this.y)*Math.cos(this.z);
    var c = r*Math.sin(this.y)*Math.sin(this.z);
    var d = r*Math.cos(this.y);
    return new Vector3(b,c,d);
}

Vector3.prototype.asString = function() {
    return [this.x, this.y, this.z].join(",");
}

var k = new Vector3(10,2,4);
var s = k.kartesisch();
document.write('<p>' + k.asString() + ' ==> ' + s.asString() + '</p>');
 

Passende Stellenanzeigen aus deiner Region:


Neue Themen

Oben