حساب طول القوس من زاوية معلومة

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

الزاوية هي شكل هندسي ينشأ من التقاء شعاعين في نقطعة معينة، ويشكّل هذان الشعاعان جانبي الزاوية وتسمى نقطة الالتقاء برأس الزاوية. أما القوس arc فهو جزء من محيط الدائرة.

يمكن حساب طول القوس إذا عُلم قطر الدائرة وقياس الزاوية، وذلك باستخدام العلاقة الرياضية التالية:

طول القوس = (2 * pi * نصف القطر) * (الزاوية \ 360)

ArcLength = ( 2 * pi * radius ) * ( angle / 360 )

إذ تمثّل:

  • pi النسبة الثابتة = ‎22\7
  • القطر = 2 * نصف القطر

وتقاس الزاوية بالدرجات.

مثال:

Input : 
Diameter = 25
Angle = 45
Explanation : ((22/7) * 25) * (45/360)
Output : 9.821 (rounded)

Input : 
Diameter = 80
Angle = 60
Explanation : ((22/7) * 80) * (60/360)
Output : 41.905 (rounded)

ملاحظة: لا يمكن حساب طول القوس إذا كان قياس الزاوية يساوي 360 درجة أو أكثر.

تنفيذ الخوارزمية

تعرض الأمثلة التالية طريقة تنفيذ الخوارزمية في عدد من لغات البرمجة:

  • C++‎:
#include <iostream> 
using namespace std; 

double arcLength(double diameter, 
				double angle) 
{ 
	double pi = 22.0 / 7.0; 
	double arc; 

	if (angle >= 360) 
	{ 
		cout<< "Angle cannot", 
			" be formed"; 
		return 0; 
	} 
	else
	{ 
		arc = (pi * diameter) * 
			(angle / 360.0); 
		return arc; 
	} 
} 

// اختبار الدالة السابقة
int main() 
{ 
	double diameter = 25.0; 
	double angle = 45.0; 
	
	double arc_len = arcLength(diameter, 
								angle); 
	cout << (arc_len); 

	return 0; 
}
  • بايثون:
import math 

def arcLength(diameter, angle ): 
	if angle >= 360: 
		print("Angle cannot be formed") 
		return 0
	else: 
		arc = (3.142857142857143 * diameter) * (angle / 360.0) 
		return arc 
		
# اختبار الدالة السابقة
diameter = 25.0
angle = 45.0
arc_len = arcLength(diameter, angle) 
print(arc_len)
  • جافا:
public class Arc { 
	
	static double arcLength(double diameter, 
							double angle) 
	{ 
		double pi = 22.0 / 7.0; 
		double arc; 

		if (angle >= 360) { 
			System.out.println("Angle cannot"
							+ " be formed"); 
			return 0; 
		} 
		else { 
			arc = (pi * diameter) * (angle / 360.0); 
			return arc; 
		} 
	} 
	
	// اختبار التابع السابق
	public static void main(String args[]) 
	{ 
		double diameter = 25.0; 
		double angle = 45.0; 
		double arc_len = arcLength(diameter, angle); 
		System.out.println(arc_len); 
	} 
}

مصادر