आइए कहें कि मेरे पास मनमाना वेक्टर ए है। मनमानी राशि से वैक्टर परिमाण को कम करने का सबसे प्रभावी तरीका क्या है?एक विशिष्ट लंबाई से एक वैक्टर परिमाण को कम करने के लिए कुशल तरीका?
Vector shortenLength(Vector A, float reductionLength) {
Vector B = A;
B.normalize();
B *= reductionLength;
return A - B;
}
वहाँ एक और अधिक कुशल तरीका यह है है:
मेरे वर्तमान विधि इस प्रकार है? संभावित रूप से बी को सामान्य करने के लिए आवश्यक वर्ग रूट को हटा रहा है ...
ओह यह एक गणित वेक्टर है, सी ++ वेक्टर नहीं। मैं भ्रमित था। –
मुझे नहीं लगता कि सामान्य मामले के लिए वर्ग रूट किए बिना सामान्य बनाना संभव है, और हर दूसरे ऑपरेशन को तेज़ होना चाहिए। मुझे नहीं लगता कि आप प्रतियों से बचकर छोड़कर उस गति को हरा देंगे। –
यह इस बात पर निर्भर करता है कि वेक्टर का प्रतिनिधित्व कैसे किया जाता है। यदि यह कोण और परिमाण के रूप में संग्रहीत 2-डी वेक्टर थे, तो यह छोटा होगा। आप यह नहीं कहते कि आपकी 'वेक्टर' कक्षा आंतरिक रूप से वैक्टर का प्रतिनिधित्व करती है या यहां तक कि यदि आपके पास डेटा तक पहुंच है। जवाब उस पर निर्भर करेगा। – JohnPS