Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 更改atan2()或类似部件的零角位置_Image Processing_Geometry - Fatal编程技术网

Image processing 更改atan2()或类似部件的零角位置

Image processing 更改atan2()或类似部件的零角位置,image-processing,geometry,Image Processing,Geometry,我在图像中有一组点,我想按顺时针方向对它们排序/获取属性。订购它们的条件是它们的角度 我需要选择角度为0的起点,然后按顺时针顺序选择其他点(增加角度)。但是,我使用atan2(2,因为角度范围更好)来获得角度,但是零角度总是在水平轴上。如何将零角的轴设置在起点的位置 非常感谢! Hector如果计算起始角度: double theta_0 = atan2(y[0], x[0]); double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI *

我在图像中有一组点,我想按顺时针方向对它们排序/获取属性。订购它们的条件是它们的角度

我需要选择角度为0的起点,然后按顺时针顺序选择其他点(增加角度)。但是,我使用atan2(2,因为角度范围更好)来获得角度,但是零角度总是在水平轴上。如何将零角的轴设置在起点的位置

非常感谢!
Hector

如果计算起始角度:

double theta_0 = atan2(y[0], x[0]);
double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);
然后可以从后续角度中减去该值,并使用
fmod
获得相对角度模数2π,从而获得相对于起始角度的顺时针正角度:

double theta_0 = atan2(y[0], x[0]);
double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);

嗨,非常感谢你的回复。我怎样才能在工作区得到theta_I?如果我叫它double,它不会出现。什么工作区?实际上,您还没有提到正在使用的编程语言或环境。