Multiplizieren zweier Vektoren (nicht Dot, nicht Scalar und nicht Cross)



  • Einen schönen guten Tag wünsche ich euch allen
    Ich bin auf folgendes Problem gestossen: Bekanntlich kann man ja 3D - Vektoren auf 3 verschiedene Arten miteinander multiplizieren (siehe. Überschrift) Allerdings benötige ich eine weitere, etwas weniger häufig verwendete Methode und habe dazu keine D3DX - Funktionen gefunden.

    Es geht um folgendes:

    // vecBox = size of the bounding box without scaling
    // vecMdl = scaling - factor of the model
    // vecFin = resulting needed scaling - factor of the bounding - box
    KB_Vector3 vecFin;
    vecFin.x = vecBox.x * vecMdl.x;
    vecFin.y = vecBox.y * vecMdl.y;
    vecFin.z = vecBox.z * vecMdl.z;
    

    Bitte kommt mir nun nicht mit: Ahhh, dass macht doch keinen Sinn! Glaubt mir, es macht Sinn! Man muss dazu nur in Betracht ziehen, dass Vektoren auch noch andere Dinge als Richtungen darstellen können, wie bspw. Skalierungsfaktoren...

    Weiss jemand von euch, ob es da eine Funktion gibt, ich mag das nicht jedesmal so hinschreiben und D3DX ist auch so schön schnell... 😃

    Lg Ishildur



  • Notfalls pack dir das halt selbst in ne Funktion:

    KB_Vector3 MultiplyVector(KB_Vector3 vecBox, KB_Vector3 vecMdl)
    {
       KB_Vector3 vecFin; 
       vecFin.x = vecBox.x * vecMdl.x; 
       vecFin.y = vecBox.y * vecMdl.y; 
       vecFin.z = vecBox.z * vecMdl.z;
       return vecFin;
    }
    ...
    KB_Vector3 vecFin = MultiplyVector(vecBox,vecMdl);
    


  • Hey, das ist aber ne suuuuuuppeeeeer Idee, das werd ich gleich mal ausprobieren!! 🤡


  • Mod

    Ishildur schrieb:

    Hey, das ist aber ne suuuuuuppeeeeer Idee, das werd ich gleich mal ausprobieren!! 🤡

    bevor du in grund und boden geflammed wirst.


Anmelden zum Antworten