www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

angle.cpp (830B)


      1 #include "all_includes.hh"
      2 
      3 float Angle::r2d(float rad) { return rad / Pi * 180; }
      4 float Angle::d2r(float deg) { return deg / 180 * Pi; }
      5 
      6 Angle3D::Angle3D() : h(Vertex(1,0,0)), l(Vertex(0,1,0)), u(Vertex(0,0,1)) {}
      7 Angle3D::Angle3D(Vertex _h, Vertex _l, Vertex _u) : h(_h), l(_l), u(_u) {}
      8 
      9 // Formules : http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-94to95/hwchen/
     10 Angle3D Angle3D::rotateH(float angle) const {
     11 	return Angle3D(h, l*std::cos(angle) + u*std::sin(angle), l*-std::sin(angle) + u*std::cos(angle));
     12 }
     13 
     14 Angle3D Angle3D::rotateL(float angle) const {
     15 	return Angle3D(h*std::cos(angle) + u*std::sin(angle), l, h*-std::sin(angle) + u*std::cos(angle));
     16 }
     17 
     18 Angle3D Angle3D::rotateU(float angle) const {
     19 	return Angle3D(h*std::cos(angle) + l*-std::sin(angle), h*std::sin(angle) + l*std::cos(angle), u);
     20 }