#include<pcl/point_cloud.h>
#include<pcl/point_types.h>
#include<pcl/visualization/pcl_visualizer.h> //cout endl
#include <pcl/common/angles.h>
typedef pcl::PointXYZ PointT;
int main()
{
float a1 = pcl::rad2deg((float)M_PI / 2);
double a2 = pcl::rad2deg(M_PI / 2);
float b1 = pcl::deg2rad((float)90.0);
double b2 = pcl::deg2rad(90.0);
float c = pcl::normAngle(4);//將弧度歸一化,輸入為弧度然后取余沮明,取值范圍:(-PI — PI)
system("pause");
return 0;
}
inline float
normAngle (float alpha)
{
return (alpha >= 0 ?
std::fmod (alpha + static_cast<float>(M_PI),
2.0f * static_cast<float>(M_PI))
- static_cast<float>(M_PI)
:
-(std::fmod (static_cast<float>(M_PI) - alpha,
2.0f * static_cast<float>(M_PI))
- static_cast<float>(M_PI)));
}
fmodf是求取余數(shù)媚送,在這里是想把弧度轉(zhuǎn)換到-M_PI到M_PI之間
fmodf(12.3,5)=2.3;
參考文章:
https://pointclouds.org/documentation/angles_8h.html
https://pointclouds.org/documentation/angles_8h_source.html