14 std::cout<<
"v1 ="<<v1<<std::endl;
15 std::cout<<
"v2 = "<<v2<<std::endl;
16 std::cout<<
"v3 = "<<v3<<std::endl;
17 std::cout<<
"v4 = "<<v4<<std::endl;
30 std::cout<<
"v1: "<<v1[0]<<
", "<<v1[1]<<
", "<<v1[2]<<std::endl;
31 std::cout<<
"v2: "<<v2(0)<<
", "<<v2(1)<<
", "<<v2(2)<<std::endl;
32 std::cout<<
"v3: "<<v3.
x()<<
", "<<v3.
y()<<
", "<<v3.
z()<<std::endl;
35 std::cout<<
"2*v2 = "<<2*v2<<std::endl;
36 std::cout<<
"v1*2 = "<<v1*2<<std::endl;
37 std::cout<<
"v1/2 = "<<v1/2<<std::endl;
40 std::cout<<
"v1+v2 = "<<v1+v2<<std::endl;
41 std::cout<<
"v3-v1 = "<<v3-v1<<std::endl;
45 std::cout<<
"v3-=v1; v3 = "<<v3<<std::endl;
46 std::cout<<
"v2+=v1; v2 = "<<v2<<std::endl;
49 std::cout<<
"cross(v1,v2) = "<<v1*v2<<std::endl;
50 std::cout<<
"dot(v1,v2) = "<<
dot(v1,v2)<<std::endl;
54 std::cout<<
"v1=-v2; v1="<<v1<<std::endl;
56 std::cout<<
"v1.ReverseSign(); v1 = "<<v1<<std::endl;
59 std::cout<<
"v1==v2 ? "<<(v1==v2)<<std::endl;
60 std::cout<<
"v1!=v2 ? "<<(v1!=v2)<<std::endl;
61 std::cout<<
"Equal(v1,v2,1e-6) ? "<<
Equal(v1,v2,1e-6)<<std::endl;
64 std::cout<<
"norm(v3): "<<v3.
Norm()<<std::endl;
66 std::cout<<
"Normalize(v3)"<<v3<<std::endl;
70 std::cout<<
"SetToZero(v1); v1 = "<<v1<<std::endl;
110 std::cout<<
"r1: "<<r1<<std::endl;
111 std::cout<<
"r2: "<<r2<<std::endl;
112 std::cout<<
"r3: "<<r3<<std::endl;
113 std::cout<<
"r4: "<<r4<<std::endl;
114 std::cout<<
"r5: "<<r5<<std::endl;
115 std::cout<<
"r6: "<<r6<<std::endl;
116 std::cout<<
"r7: "<<r7<<std::endl;
117 std::cout<<
"r8: "<<r8<<std::endl;
118 std::cout<<
"r9: "<<r9<<std::endl;
119 std::cout<<
"r10: "<<r10<<std::endl;
120 std::cout<<
"r11: "<<r11<<std::endl;
121 std::cout<<
"r12: "<<r12<<std::endl;
125 std::cout<<
"r8(1,2): "<<r8(1,2)<<std::endl;
127 std::cout<<
"equiv rot vector of r11: "<<r11.
GetRot()<<std::endl;
130 std::cout<<
"equiv rot vector of r10:"<<v1<<
"and angle: "<<angle<<std::endl;
132 double alfa,beta,gamma;
134 std::cout<<
"EulerZYZ: "<<alfa<<
", "<<beta<<
", "<<gamma<<std::endl;
137 std::cout<<
"EulerZYX: "<<alfa<<
", "<<beta<<
", "<<gamma<<std::endl;
139 r9.
GetRPY(alfa,beta,gamma);
140 std::cout<<
"Roll-Pitch-Yaw: "<<alfa<<
", "<<beta<<
", "<<gamma<<std::endl;
143 std::cout<<
"UnitX of r8:"<<r8.
UnitX()<<std::endl;
146 std::cout<<
"Unity of r8:"<<r8.
UnitY()<<std::endl;
149 std::cout<<
"UnitZ of r8:"<<r8.
UnitZ()<<std::endl;
represents rotations in 3 dimensional space.
Vector UnitX() const
Access to the underlying unitvectors of the rotation matrix.
Vector UnitZ() const
Access to the underlying unitvectors of the rotation matrix.
double GetRotAngle(Vector &axis, double eps=epsilon) const
Vector UnitY() const
Access to the underlying unitvectors of the rotation matrix.
static Rotation RotX(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
double Normalize(double eps=epsilon)
void GetEulerZYX(double &Alfa, double &Beta, double &Gamma) const
static Rotation RotZ(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
static Rotation RotY(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
void ReverseSign()
Reverses the sign of the Vector object itself.
doubleAcc dot(const VectorAcc &lhs, const VectorAcc &rhs)
static Rotation EulerZYX(double Alfa, double Beta, double Gamma)
IMETHOD void SetToZero(Vector &v)
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)
A concrete implementation of a 3 dimensional vector class.
static Rotation RPY(double roll, double pitch, double yaw)
static Rotation Identity()
Gives back an identity rotaton matrix.
void GetEulerZYZ(double &alpha, double &beta, double &gamma) const
void GetRPY(double &roll, double &pitch, double &yaw) const
static Rotation EulerZYZ(double Alfa, double Beta, double Gamma)
static Rotation Rot(const Vector &rotvec, double angle)
static Rotation Rot2(const Vector &rotvec, double angle)
Along an arbitrary axes. rotvec should be normalized.