2008-09-11 18 views
7

मैं एक्शनस्क्रिप्ट 3 में एक सूत्र लिखने की कोशिश कर रहा हूं जो मुझे डिग्री में "z" (कृपया नीचे छवि देखें) देगी, जिसे मैं फिर रेडियंस में परिवर्तित कर दूंगा।त्रिभुज त्रिकोणमिति (एक्शनस्क्रिप्ट 3)

मैं पहले से ही "x" और "y" के मानों को मानूंगा। त्रिकोणमिति का उपयोग करके, मैं hypotenuse की लंबाई की गणना कैसे कर सकता हूं और इसलिए var z का चर कोण? एएस 3 या psuedocode में एक समाधान बहुत उपयोगी होगा। धन्यवाद। YH के कोण -

triangle

उत्तर

6

आपको जो चाहिए वह यह है:

var h:Number = Math.sqrt(x*x + y*y); 
var z:Number = Math.atan2(y, x); 

आपको रेडियंस में कोण देना चाहिए, आपको एक्स/वाई को स्वैप करने की आवश्यकता हो सकती है और संभवतया 90 डिग्री जोड़ या निकालना पड़ सकता है लेकिन इसे चाल करना चाहिए! (ध्यान दें कि आप भी z जब आप atan2 उपयोग कर रहे हैं पाने के लिए जरूरत नहीं है)

मैं Math.pow (के बजाय गुणा का उपयोग करें) सिर्फ इसलिए कि गणित बहुत धीमी है, आप कर सकते हैं:

var h:Number = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); 

और यह बिल्कुल वही होना चाहिए।

4

z करने के लिए 180 के बराबर है। या:

180 - arctan(x/y) //Degrees 
pi - arctan(x/y) //radians 

इसके अलावा, अगर actionscript की गणित पुस्तकालयों यह है, arctan2, का उपयोग जो सही ढंग से दोनों x और y और संकेत के साथ सौदों लेता है।

0

क्या @ पैट्रिक ने कहा, hypotenuse भी sqrt(x^2 + y^2) है।

1

जो कोण आप चाहते हैं वह एक गीलेविन वाई और एच के विपरीत कोण के समान है।

लेट्स कॉल ay और h के बीच के कोण, कोण आप चाहते हैं वास्तव में 180 - a या PI - a अपनी यूनिट (डिग्री या रेडियंस) के आधार पर है।

अब ज्यामिति हमें बताता है कि:

cos(a) = y/h 
sin(a) = x/h 
tan(a) = x/y 

का उपयोग करते हुए तन(), हम पाते हैं:

a = arctan(x/y) 

हम 180 के लिए देख रहे हैं के रूप में - एक, आप की गणना करना चाहिए:

180 - arctan(x/y) 
संबंधित मुद्दे