Vektor in Kugel...



  • Hallo,

    Das Problem ist folgendes. Ich habe einen Vektor. Ich möchte wissen ob dieser innerhalb einer gestauchten! Kugel ist. Dabei ist es egal in welche Orientierung die Kugel gestaucht ist. Bei einer "perfekten" Kugel, errechne ich die Länge des Vektors und checke ob diese kleiner als der Radius der Kugel ist, Aber wie mache ich das bei einer gestauchten Kugel?

    Ich habe einen Vektor für die Stauchungswerte. z.b. 25,10,25. Diese gestauchte Kugel ist also in der Y-Orientierung gestaucht.

    Wie kann ich nun herausfinden ob ein Vektor (ich habe diesen Vektor) in der gestauchten Kugel ist. Ich bräuchte eine Formel.

    Wäre super wenn mir da jemand helfen kann. (hab schon in einem anderen Forum gefragt, aber da es eilt versuch ichs simultan auch hier 🙂

    Danke im Voraus für JEGLICHE Hilfe!!

    Gruss
    Sam



  • Berechne doch den Schnittpunkt der "Kugel" mit dem Vektor * p. Ist p dann > Länge(Vektor) dann ist der Vektor in der Kugel. Kugelmittelpunkt im Ursprung genauso wie Vektor nehm ich ma an ?!



  • Hallo,

    danke erstmal, aber wie meinst du das jetzt mit dem Schnittpunkt? Ja Vektor hat Ursprung in Kugelmittelpunkt...
    Versteh nicht ganz wie du das meinst...Vektor mal p?

    Ein paar Zeilen Code oder ein bisschen genauer würde mir helfen.

    Danke schonmal herzlichst. 🙂 Hoffentlich kriegenma das heut noch hin

    Gruss
    Sam



  • Wenn du einen Vektor (dein Vektor vorher auf 1 normiert) mit einer Variablen multiplizierst hast du eine Gerade durch den Ursprung (bei diesem Beispiel hier). Berechnest du nun diese Variable, nennen wir sie p, für den Schnittpunkt von Gerade und Kugel weist du wie weit die Hülle der Kugel in Richtung deines Vektors weg ist vom Ursprung (nämlich p). Ist dann p größer als die Länge des Vektors dann ist der Vektor innerhalb der Kugel.



  • Ah ich verstehe jetzt. Und wie berechne ich den Schnittpunkt von Gerade und Kugel? 😃 Sorry, Grundkurs mit 4 Punkten abgeschlossen... 🙂

    Thx



  • also mit ner runden kugel kannstes? mit ner gestauchten net?
    dann würde ich die ganze welt (also bloß kugel und vektor) erstmal verschieben, damit der ursprung auf den kugelmittelpunkt fällt.
    und den verktor zu verschieben ist ja trivial.
    dann würde ich die ganze welt (also kugel und vektor) entstauchen, damit die kugel wieder rund ist.
    und dann normal checken.



  • Hallo,

    der Weltursprung ist egal. Das kann ich mit einer translationmatrix in einem Ritt machen. Ich bin gerade dabei eine Skalierungsmatrix zu benutzen um die Kugel zu entstauchen, aber ich brauche nen Skalierungsvektor... 😕 (Scheint ja der richtige Weg zu sein, wenn du das auch machen würdest). Wie kriege ich den am besten raus?



  • Und wie wäre es, die Kugel zu "entstauchen" und dabei den Vektor mit demselben Faktor zu multiplizieren?!? Das sollte doch das Problem in ein - wie Du schreibst - bereits gelöstes überführen.


Anmelden zum Antworten