Vektoralgebra
-
Habe diesen Link gefunden ..
-
Hallo,
verwende jetzt die BOOST UBLAS für meine Vektorgeschichten .. dafür muss ich eine Matrix von Vectoren anlegen, d.h. jedes Element in der Matrix entspricht einem Geschwindigkeitsvektor mit 3 Vektorkomponenten (vx,vy,vz)! Kann mir da jemand einen Tip geben? Habe es mit vector_of_vector probiert, aber die Beschreibung versteh ich nicht wirklich?!?vector_of_vector<T [, F, A]> m(size1, size2);
a dense matrix of values of type T with the given size. The data is stored as a vector of vectors. The orientation F defaults to row_major. The storage type S defaults to unbounded_array<unbounded_array<T> >
http://www.boost.org/libs/numeric/ublas/doc/types_overview.htm
Kann mir da einer auf die Sprüge helfen?!?
Beste Grüße
daMike
-
hm so vom ansehen probier doch mal
vector_of_vector<float> m(4,4);
-
.. war auch mein erster Gedanke .. aber dann kommt folgende Fehlermeldung:
c:\program files\microsoft visual studio\vc98\include\boost\numeric\ublas\storage.hpp(315) : error C2300: 'boost::numeric::ublas::unbounded_array<float,class std::allocator<float> >' : Destruktor '~value_type' in Klasse nicht vorhanden
c:\program files\microsoft visual studio\vc98\include\boost\numeric\ublas\storage.hpp(314) : Bei der Kompilierung der Member-Funktion 'void __cdecl boost::numeric::ublas::unbounded_array<class boost::numeric::ublas::unbounded_array<float,class std::allocator<float> >,class std::allocator<class boost::numeric::ublas::unbounded_array<float,class std::allocator<float> > > >::iterator_destroy(class boost::numeric::ublas::unbounded_array<float,class std::allocator<float> > *& )' der Klassen
vorlageKannst Du damit was anfangen??
Gruß
daMike
-
versuche das grad nachzubauen, kriege aber dauernd folgenden Fehler:
e:\quellcode\cpp\test\test.cpp(51) : error C2079: 'vov' verwendet undefiniertes class 'boost::numeric::ublas::vector_of_vector<T>'
#include <boost\\numeric\\ublas\\fwd.hpp> #include <boost\\numeric\\ublas\\vector_of_vector.hpp> ... vector_of_vector<int> vov;MUss ich noch irgendwas von BOOST einbinden, damit der die Typen erkennt? Habe ich da was vergessen? Beim normalen Vector passiert dasselbe ... .
-
hm wenn der vector_of_vector net geht, dann benutzt doch auch aus ublas das matrix-Template
-
habe folgede includiert ..
//Lineare Algebra - BOOST - UBLAS #include "boost\numeric\ublas\matrix.hpp" using namespace boost::numeric::ublas;Vektordeklaration funktioniert bei mir!
vector<double> v(2);Gruß
daMike
-
Pellaeon schrieb:
hm so vom ansehen probier doch mal
vector_of_vector<float> m(4,4);ok also mit der matrix.hpp funzt das bei mir, was ich da schon gepostet hatte.
-
bei mir kommt immer noch ..
c:\program files\microsoft visual studio\vc98\include\boost\numeric\ublas\storage.hpp(315) : error C2300: 'boost::numeric::ublas::unbounded_array<float,class std::allocator<float> >' : Destruktor '~value_type' in Klasse nicht vorhanden
c:\program files\microsoft visual studio\vc98\include\boost\numeric\ublas\storage.hpp(314) : Bei der Kompilierung der Member-Funktion 'void __cdecl boost::numeric::ublas::unbounded_array<class boost::numeric::ublas::unbounded_array<float,cla
ss std::allocator<float> >,class std::allocator<class boost::numeric::ublas::unbounded_array<float,class std::allocator<float> > > >::iterator_destroy(class boost::numeric::ublas::unbounded_array<float,class std::allocator<float> > *& )' der Klassen
vorlageWas hast Du für eine boost Version .. 1.32.0 ?
Gruß
daMike
-
1_33_1
-
VC 98 hast du das Visual Studio 6? Da musst du nämlich schauen ob deine Boost-Version das überhaupt noch unterstützt.
-
Hab gelesen, das bis boost Version 1.32.0 Visual Studio 6.0 unterstützt wird!
Was passiert eigentlich, wenn ich einen Array anlege??
vector<double> array[1][11];
-
ja teste es doch einfach^^ *lol*
Theoretisch müsste gehen. Wenn der VC 6 bei den Templates halt mitspielt.
Ansonsten wenn du keine MFC brauchst, dann zieh dir die VC 2005 Express
-
Wie wäre es mit der Hilfsbibliothek D3DX von DirectX.
Man muss dafür nicht mal DirectX initialisieren.
-
D3DX .. bin ganz Ohr .. wie binde ich die ein? kannst Du mir einen guten Link empfehlen?
-
Du brauchst zunächst das DirectX-SDK.
Dann bindest du d3dx9.h ein, und in der DX-Referenz suchst du nach den Math-Functionen von D3DX.Alternativ findest du bestimmt auch auf http://www.planet-source-code.com/
das, was du suchst.