मैं कोणों की तुलना करना चाहता हूं और उनके बीच की दूरी का अंदाजा लगाना चाहता हूं। इस एप्लिकेशन के लिए, मैं डिग्री में काम कर रहा हूं, लेकिन यह रेडियन और ग्रेड के लिए भी काम करेगा। कोणों के साथ समस्या यह है कि वे मॉड्यूलर अंकगणित पर निर्भर करते हैं, अर्थात 0-360 डिग्री।
कहते हैं कि एक कोण 15 डिग्री पर है और एक 45 पर है। अंतर 30 डिग्री है, और 45 डिग्री कोण 15 डिग्री एक से अधिक है।
लेकिन, यह टूट जाता है जब आप कहते हैं, 345 डिग्री और 30 डिग्री। हालांकि वे ठीक से तुलना करते हैं, उनके बीच का अंतर सही 45 डिग्री के बजाय 315 डिग्री है।
इसे कैसे हल किया जा सकता है? मैं एल्गोरिथम कोड लिख सकता हूं:
if(angle1 > angle2) delta_theta = 360 - angle2 - angle1;
else delta_theta = angle2 - angle1;
लेकिन मैं एक ऐसा समाधान पसंद करूंगा जो तुलना / शाखाओं से बचता है, और पूरी तरह से अंकगणित पर निर्भर करता है।