2015-09-12 7 views
9

हैं, तो मैं एक नोड पर बल और टोक़ लगा रहा हूं। यह मेरा कोड है:वाई-अक्ष में एक वेक्टर मैपिंग यदि उसके 4 घटक

myNode?.physicsBody?.applyForce(SCNVector3Make(0, -6, 4), atPosition: SCNVector3Make(0, 1, -1), impulse: true) 
myNode?.physicsBody?.applyForce(SCNVector3Make(0, -2, 10), impulse: true) 
myNode?.physicsBody?.applyTorque(SCNVector4Make(4, 2, 2.5, 1.6), impulse: true) 

ऑब्जेक्ट अब नीचे गिरता है और बाद में बाएं से दाएं चला जाता है। मैं चाहता हूं कि यह गिर जाए और दाएं से बाएं (मूल रूप से वाई-अक्ष में पहले आंदोलन का प्रतिबिंब)। मैंने यह पाया कि कोड की पहली 2 पंक्तियों के बारे में बहुत कम मैं कर सकता हूं, क्योंकि बल में कोई एक्स-घटक नहीं है। अंतिम पंक्ति, applyTorque, वह है जिसे मुझे कुशलतापूर्वक करने की आवश्यकता है। यदि वेक्टर में 4 घटक हैं तो आप वाई-अक्ष में कैसे मानचित्र करते हैं?

.applyTorque(SCNVector4Make(x:, y:, z:, w:), impulse:) 

इसलिए किसी भी नंबर आप दूसरे स्थान पर रखा y अक्ष के चारों ओर टोक़ मात्रा में होना चाहिए: मैं गणित

+0

गुड लक ध्यान दिया जा रहा। ऐसा लगता है कि दुनिया भर में 100 से भी कम लोग इसका इस्तेमाल कर रहे हैं। उनमें से एक दर्जन को पता चलेगा कि वे क्या कर रहे हैं, जिनमें से 2 एसओ का उपयोग करते थे लेकिन प्रतीत होता है कि छोड़ दिया गया है। और मैंने कहीं और कहीं और मदद नहीं की है। मैं अनजान हूं और (स्पष्ट रूप से) उलझन में प्रयोगात्मक समूह ---- 1 का एक समूह 1. – Confused

+0

कुछ लोग अजीब उपयोगकर्ता नामों और स्कोर के साथ चार अंकों में घूमते हैं, कभी-कभी सीनकेट प्रश्नों के बहुत ही अचानक जवाब छोड़ते हैं ऐप्पल कर्मचारियों को इस पर काम करने के लिए। लेकिन उनके जवाब पॉइंटर्स से थोड़ा अधिक हैं। वे अपने उत्पाद से इतने परिचित प्रतीत होते हैं कि वे इसे समझाने में असमर्थ हैं। – Confused

+0

मैंने एसके का उपयोग नहीं किया है। भौतिकी दृश्य बिंदु से, यह अजीब लगता है क्योंकि आप रैखिक गति को बदलने के लिए एक टोक़ लगाने की कोशिश कर रहे हैं, जब तक कि आप ऑब्जेक्ट का हिस्सा न लें। – keithyip

उत्तर

4

मैं यह सोचते हैं कि x- अक्ष क्षैतिज है और y- अक्ष खड़ी है और सीधे आप पर z- अक्ष अंक (नीचे देखें काला तीर):

enter image description here

मुझे evidence मिला कि यह वास्तव में सीनकेट में मामला है।

तो

applyTorque(SCNVector4Make(x, y, z, w), impulse: boolean) 

सही उपयोग है, तो x (हरे रंग का गोला तीर देखें) एक्स अक्ष के चारों ओर वामावर्त रोटेशन की राशि, और इसी y और z के लिए है। दोबारा, यह मेरा सबसे अच्छा अनुमान है, और यह संभव है कि सीनकिट घड़ी की दिशा में घूर्णन का उपयोग करे। इसलिए, x, y, और z एक साथ टोरसोनियल बल के घूर्णन की धुरी निर्धारित करते हैं।

यहां सोचने का एक आसान तरीका है। x, y, और z ऊपर वर्णित 3 डी स्पेस में वेक्टर बनाएं। ऑब्जेक्ट इस वेक्टर के चारों ओर काउंटर-घड़ी की दिशा में घुमाएगा।

दूसरी ओर w, टोक़ की परिमाण है, और रोटेशन की धुरी के साथ कोई संबंध नहीं है।

आपका अनुरोध "वाई-अक्ष में वेक्टर नक्शा" करने का आपका अनुरोध वास्तव में yz-plane में एक प्रतिबिंब है। यदि आप इसके बारे में सोचते हैं, तो आप जो चाहते हैं वह वाई-अक्ष के आसपास विपरीत दिशा को घुमाने के लिए है (y को अस्वीकार करें) और जेड के लिए भी यही है।

तो जवाब होना चाहिए: दृश्य किट सामान के लिए

myNode?.physicsBody?.applyTorque(SCNVector4Make(4, -2, -2.5, 1.6), impulse: true) 
+0

वोआ, यह काम करता है! – brumbrum

+1

मुझे खुशी है कि यह काम करता है, लेकिन आपको @ mareocraft परेशान करने के लिए खेद है, मैं उलझन में हूं। परिमाण के इस मूल्य के लिए "गुणक" की तरह x, y, z पदों की संख्या में टोक़ बल (या आवेग) की मात्रा और परिमाण की मात्रा है? ये एक्स, वाई, जेड मान वास्तव में कैसे काम करते हैं/करते हैं? – Confused

+0

@ उम्मीद है कि [इस वेबपृष्ठ] पर सबकुछ के साथ मेरे उत्तर में संपादन (https://developer.apple.com/library/prerelease/ios/documentation/SceneKit/Reference/SceneKit_DataTypes/index.html#//apple_ref/ डॉक्टर/c_ref/SCNVector4) आपके प्रश्न का उत्तर देगा। यह कहता है कि एक्स, वाई, और जेड * सामान्यीकृत * हैं, जिसका अर्थ है कि वे टोरसोनियल बल को प्रभावित नहीं करेंगे, केवल रोटेशन की धुरी। – mareoraft

6

साथ कुछ पुरानी हैं applyTorque समारोह के संपूर्ण संस्करण कुछ इस तरह दिखता हूँ।

शायद ऑब्जेक्ट पर घूर्णन बल के संदर्भ में संख्याओं और उनके द्वारा बनाए गए संबंधों के बीच एक रिश्ता है, लेकिन मैंने हमेशा काम करने के लिए परीक्षण-और-त्रुटि का उपयोग किया है। कभी-कभी यह बड़ी संख्या है।

+0

मैं परीक्षण-और-त्रुटि का उपयोग कर रहा हूं। मैं वास्तव में इस दृष्टिकोण से नफरत करता हूं क्योंकि इसे कम करने के लिए कम-मस्तिष्क-गतिविधि के काम के घंटों या दिन लगते हैं – brumbrum

+0

कम मस्तिष्क गतिविधि पूरी तरह से उपयुक्त है। इसे अपना रास्ता भेजें;) – Confused

+0

हे, कॉमन। समय महंगा है। – brumbrum

3

SceneKit documentationSCNVector4 तर्क के अनुसार दिशा (एक्स, वाई, जेड सदिश घटकों) और परिमाण (डब्ल्यू वेक्टर घटक) न्यूटन मीटर की दूरी में बल की निर्दिष्ट करता है। लागू टोक़ की दिशा को दर्पण करने के लिए, आपको केवल परिमाण को उलटा करना है। (एक्स, वाई, जेड, -magnitude)

+0

द्वारा रोकने के लिए धन्यवाद। मुझे पूरी तरह से अलग भौतिकी सिमुलेशन मिलता है (एक प्रतिबिंबित नहीं) – brumbrum

संबंधित मुद्दे