Changeset 738 in Sophya for trunk/SophyaLib/Samba
- Timestamp:
- Feb 24, 2000, 12:21:28 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/Samba/utilgeom.cc
r565 r738 107 107 // 108 108 //-- 109 { 110 double eps=1e-10; 111 if( fabs(1.-sinus*sinus-cosinus*cosinus) > eps || fabs(cosinus)-1. > eps || fabs(sinus)-1. > eps ) 112 { 113 cerr << "angle non valide." << endl; 114 cerr << "sinus = " << sinus << " cosinus = " << cosinus << endl; 115 exit(0); 109 { // Modifie par D. Y. pour eviter des plantages aux petis angles 110 double eps=1.e-10; 111 if( fabs(1.-sinus*sinus-cosinus*cosinus) > eps) 112 { // On renormalise D.Y. 113 // cerr << "angle non valide: "<< "sinus = " << sinus << " cosinus = " << cosinus << '\n'; // BUGGG 114 double norm= cosinus*cosinus+sinus*sinus; 115 cosinus=cosinus/norm; 116 sinus=sinus/norm; 116 117 } 117 if( fabs(1.-fabs(cosinus)) < eps ) cosinus=1.*copysign(1.,cosinus); 118 if( fabs(1.-fabs(sinus)) < eps ) sinus=1.*copysign(1.,sinus); 119 if( fabs(sinus) == 0. ) sinus=0.; 120 if( fabs(cosinus) == 0. ) cosinus=0.; 118 if( fabs(cosinus) >1. ) cosinus=1.*copysign(1.,cosinus); 119 if( fabs(sinus) >1. ) sinus=1.*copysign(1.,sinus); 120 /* if( fabs(sinus) == 0. ) sinus=0.; 121 if( fabs(cosinus) == 0. ) cosinus=0.; 122 */ 121 123 return acos(cosinus)*copysign(1,sinus); 122 124 } 123 125 124 //OMatrix vecTxMat(const OVector& v, const OMatrix& M) {125
Note:
See TracChangeset
for help on using the changeset viewer.