محاسبه میانگین زوایا - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

محاسبه میانگین زوایا

0 امتیاز
سلام .فرض کنید من دو زاویه 10 و 350 دارم که میانگین این 2 عدد میشه 0 ولی به روش رایج حساب کنیم میشه 180 که غلطه.دنبال رابطه صحیح می گردم
سوال شده بهمن 6, 1397  بوسیله ی نیما تاش (امتیاز 121)   4 18 23
ویرایش شده بهمن 6, 1397 بوسیله ی مصطفی ساتکی

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام. زوایا را ببرید تو فضای قطبی میانگین بگیرید دوباره برگردونید به فضای کارتزین به صورت زیر:

	float anglesMean(const std::vector<float>& angles)
	{
		float sum_cos = 0.f;
		float sum_sin = 0.f;

		for (int i = 0; i < angles.size(); i++) {
			sum_cos += cos(angles[i] * CV_PI / 180) ;
			sum_sin += sin(angles[i] * CV_PI / 180) ;
		}


		sum_cos /= angles.size();
		sum_sin /= angles.size();
		return atan2(sum_sin, sum_cos) * 180 / CV_PI;

	}

 

پاسخ داده شده بهمن 7, 1397 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اردیبهشت 2, 1398 بوسیله ی نیما تاش
...