3x3Matrixklasse für 2D-Vektoren implemetierung



  • Ich möchte eine Matrixklasse für die Spieleprogrammierung erstellen, eine 3x3 Matrix die für 2D-vektoren mit homogeneous coordinates schreiben, aber ich weiss leider nicht, was für Funktionen diese Klasse bereitstellen muss.



  • ich hab ne algemeine matrixklasse angefangen zu schreiben die auf std::valarrays basiert. Falls es dich interessiert kann ich dir gerne den zugang zum quellcode geben...

    template<class T>
      class valmatrix
        {
      private:
        std::valarray<std::valarray<T> > m_vals;
      public:
        //create an empty matrix
        valmatrix();
        //create a m*n-matrix filled with T()
        valmatrix(int m, int n);
        //create a m*n-matrix filled with value v
        valmatrix(const T& v, int m, int n);
        //create a m*n-matrix from an array
        valmatrix(const T **a, int m, int n);
        //copy-Ctor
        valmatrix(const valmatrix<T>& rhs);
    
        valmatrix<T>& operator=(const valmatrix<T>& rhs);
    
        bool operator==(const valmatrix<T>& rhs) const;
        bool operator!=(const valmatrix<T>& rhs) const;
    
        int rows() const;
        int columns() const;
        std::valarray<T>& operator[](int i);
        const std::valarray<T>& operator[](int i) const;
        };
    


  • Anfänger2005 schrieb:

    Ich möchte eine Matrixklasse für die Spieleprogrammierung erstellen, eine 3x3 Matrix die für 2D-vektoren mit homogeneous coordinates schreiben, aber ich weiss leider nicht, was für Funktionen diese Klasse bereitstellen muss.

    Naja, die Funktionen, die du brauchst, weswegen du die Klasse schreibst, oder?



  • Aber ich weis nicht genau,welche Methoden ich im Hinblick auf die Zukunft noch brauchen kann,deswegen Frage ich.



  • Naja, es ist dein Dingens. Was dir jetzt nicht einfällt, kannst du später einfach noch dazubauen. 🙂 Du hast natürlich Recht, wenn du dir jetzt schon Gedanken macht, aber es kann wahrscheinlich kein Unbeteiligter hier sinnvoll sagen, was du in deinem Spiel brauchen könntest.


Anmelden zum Antworten