मुझे हाल ही में पता चला है कि हम अपनी भौतिकी गणना में पाइथागोरस प्रमेय का बहुत उपयोग करते हैं और मुझे डर है कि मुझे वास्तव में बात नहीं आती।
एक पुस्तक से एक उदाहरण है कि यह सुनिश्चित करने के लिए कि कोई वस्तु MAXIMUM_VELOCITY
क्षैतिज विमान में स्थिर से अधिक तेजी से यात्रा नहीं करती है:
MAXIMUM_VELOCITY = <any number>;
SQUARED_MAXIMUM_VELOCITY = MAXIMUM_VELOCITY * MAXIMUM_VELOCITY;
function animate(){
var squared_horizontal_velocity = (x_velocity * x_velocity) + (z_velocity * z_velocity);
if( squared_horizontal_velocity <= SQUARED_MAXIMUM_VELOCITY ){
scalar = squared_horizontal_velocity / SQUARED_MAXIMUM_VELOCITY;
x_velocity = x_velocity / scalar;
z_velocity = x_velocity / scalar;
}
}
आइए कुछ संख्याओं के साथ इसे आज़माएँ:
एक ऑब्जेक्ट x में 5 यूनिट और z में 5 यूनिट को स्थानांतरित करने का प्रयास कर रहा है। यह केवल कुल 5 इकाइयों को क्षैतिज रूप से स्थानांतरित करने में सक्षम होना चाहिए!
MAXIMUM_VELOCITY = 5;
SQUARED_MAXIMUM_VELOCITY = 5 * 5;
SQUARED_MAXIMUM_VELOCITY = 25;
function animate(){
var x_velocity = 5;
var z_velocity = 5;
var squared_horizontal_velocity = (x_velocity * x_velocity) + (z_velocity * z_velocity);
var squared_horizontal_velocity = 5 * 5 + 5 * 5;
var squared_horizontal_velocity = 25 + 25;
var squared_horizontal_velocity = 50;
// if( squared_horizontal_velocity <= SQUARED_MAXIMUM_VELOCITY ){
if( 50 <= 25 ){
scalar = squared_horizontal_velocity / SQUARED_MAXIMUM_VELOCITY;
scalar = 50 / 25;
scalar = 2.0;
x_velocity = x_velocity / scalar;
x_velocity = 5 / 2.0;
x_velocity = 2.5;
z_velocity = z_velocity / scalar;
z_velocity = 5 / 2.0;
z_velocity = 2.5;
// new_horizontal_velocity = x_velocity + z_velocity
// new_horizontal_velocity = 2.5 + 2.5
// new_horizontal_velocity = 5
}
}
अब यह अच्छी तरह से काम करता है, लेकिन हम पाइथागोरस के बिना भी यही काम कर सकते हैं:
MAXIMUM_VELOCITY = 5;
function animate(){
var x_velocity = 5;
var z_velocity = 5;
var horizontal_velocity = x_velocity + z_velocity;
var horizontal_velocity = 5 + 5;
var horizontal_velocity = 10;
// if( horizontal_velocity >= MAXIMUM_VELOCITY ){
if( 10 >= 5 ){
scalar = horizontal_velocity / MAXIMUM_VELOCITY;
scalar = 10 / 5;
scalar = 2.0;
x_velocity = x_velocity / scalar;
x_velocity = 5 / 2.0;
x_velocity = 2.5;
z_velocity = z_velocity / scalar;
z_velocity = 5 / 2.0;
z_velocity = 2.5;
// new_horizontal_velocity = x_velocity + z_velocity
// new_horizontal_velocity = 2.5 + 2.5
// new_horizontal_velocity = 5
}
}
पाइथागोरस के बिना इसे करने के लाभ:
- कम लाइनें
- उन पंक्तियों के भीतर, यह पढ़ना आसान है कि क्या हो रहा है
- ... और गणना करने में कम समय लगता है, क्योंकि कम गुणन होते हैं
मुझे लगता है जैसे कंप्यूटर और मनुष्यों को पाइथागोरस प्रमेय के बिना एक बेहतर सौदा मिलता है! हालाँकि, मुझे यकीन है कि मैं गलत हूं क्योंकि मैंने पाइथागोरस के प्रमेय को कई प्रतिष्ठित स्थानों पर देखा है, इसलिए मैं चाहूंगा कि कोई मुझे पाइथागोरस प्रमेय का उपयोग करके गणित के नौसिखियों के बारे में समझाए ।
क्या इसका यूनिट वैक्टर से कोई लेना-देना है? मेरे लिए एक इकाई वेक्टर है जब हम एक वेक्टर को सामान्य करते हैं और इसे एक अंश में बदलते हैं। हम वेक्टर को एक बड़े स्थिर से विभाजित करके ऐसा करते हैं। मुझे यकीन नहीं है कि यह क्या निरंतर है। ग्राफ का कुल आकार? वैसे भी, क्योंकि यह एक अंश है, मैं इसे लेता हूं, एक यूनिट वेक्टर मूल रूप से एक ग्राफ है जो 3 डी ग्रिड के अंदर फिट हो सकता है एक्स -1 से 1 से चल रहा है, जेड -1 से 1 से चल रहा है, और वाई -1 से 1. तक की रनियां - वस्तुतः वह सब कुछ है जो मैं यूनिट वैक्टर के बारे में जानता हूं ... बहुत नहीं: पी और मैं उनकी उपयोगिता को देखने में विफल रहता हूं।
इसके अलावा, हम वास्तव में उपरोक्त उदाहरणों में एक इकाई वेक्टर नहीं बना रहे हैं। क्या मुझे स्केलर को इस तरह निर्धारित करना चाहिए:
// a mathematical work-around of my own invention. There may be a cleverer way to do this! I've also made up my own terms such as 'divisive_scalar' so don't bother googling
var divisive_scalar = (squared_horizontal_velocity / SQUARED_MAXIMUM_VELOCITY);
var divisive_scalar = ( 50 / 25 );
var divisive_scalar = 2;
var multiplicative_scalar = (divisive_scalar / (2*divisive_scalar));
var multiplicative_scalar = (2 / (2*2));
var multiplicative_scalar = (2 / 4);
var multiplicative_scalar = 0.5;
x_velocity = x_velocity * multiplicative_scalar
x_velocity = 5 * 0.5
x_velocity = 2.5
फिर से, मैं यह नहीं देख सकता कि यह बेहतर क्यों है, लेकिन यह अधिक "यूनिट-वेक्टर-वाई" है क्योंकि गुणक_सालकर एक Unit_vector है? जैसा कि आप देख सकते हैं, मैं "यूनिट-वेक्टर-वाई" जैसे शब्दों का उपयोग करता हूं इसलिए मैं वास्तव में गणित नहीं हूं! यह भी जानते हैं कि यूनिट वैक्टर का पाइथागोरस प्रमेय से कोई लेना-देना नहीं हो सकता है, इसलिए अगर मैं गलत पेड़ को काट रहा हूं तो इस सब को अनदेखा करें।
मैं एक बहुत ही दृश्य व्यक्ति हूं (व्यापार द्वारा 3 डी मॉडेलर और कॉन्सेप्ट कलाकार!) और मुझे आरेख और रेखांकन वास्तव में, वास्तव में इतने उपयोगी हैं जितना कि मानवीय रूप से संभव है!
sqrt(2.5*2.5 + 2.5*2.5)
(2.5, 2.5)
का परिमाण लगभग 3.54 है, न कि 5.