2011-08-20 11 views
7

मैं कोर एनीमेशन के बारे में धीरे-धीरे अधिक गंभीर हो रहा हूं और धीरे-धीरे कैट्रांसफॉर्म 3DIDententity समझाते हुए छोटे शब्दों से लिखे गए स्पष्टीकरण की सराहना करता हूं और क्यों निम्न कोड करता है (यह '3 डी' स्पेस में परत को फ़्लिप करता है)क्या मुझे CATransform3DIdentity का मूल स्पष्टीकरण मिल सकता है?

kFaceUpTransform = kFaceDownTransform = CATransform3DIdentity; 
    // Construct a 180-degree rotation matrix: 
    kFaceDownTransform.m11 = kFaceDownTransform.m33 = -1; 

दूसरे विचार पर, जल्दी से टाइप करें और अपने दिल की सामग्री में बहुआयामी शब्दों का उपयोग करें, लेकिन कृपया नम्र रहें।

पीएस। मुझे लगता है कि अगर मुझे एनीमेशन के साथ बहुत कुछ मिलना है तो मुझे रैखिक बीजगणित के साथ और अधिक आरामदायक होना चाहिए ... क्या यह सही है?

+0

हां, और भी - मैंने अपने उत्तर के नीचे एक लिंक डाला है जो मदद कर सकता है। –

उत्तर

14

CATransform3DIdentity एक पहचान मैट्रिक्स है:

http://en.wikipedia.org/wiki/Identity_matrix

असल में, एनीमेशन गणित में मैट्रिसेस एक वस्तु को बदलने के लिए उपयोग किया जाता है (तिरछा, चाल, बारी बारी से आदि)।

एक पहचान मैट्रिक्स वह है जो किसी ऑब्जेक्ट पर लागू होने पर, इसे प्रारंभिक भूगोल में रीसेट करता है।

पूर्व।
[1 0 0]
[0 1 0]
[0 0 1]

यह समझाने के लिए आसान नहीं है (मैं वास्तव में ठीक से अपने आप को निष्पक्षता में समझ में नहीं आता) लेकिन इन 3x3 मैट्रिक्स ग्रिड स्थान का उपयोग (एम 11, एम 33) ऑब्जेक्ट को बदलने के तरीके को निर्धारित करने के लिए, इस मामले में एम 11 180 डिग्री घुमाने वाला है, इसे +1 पर सेट करें और यह दूसरी दिशा को घुमाएगा। इसे 0.5 पर सेट करें और यह 90 डिग्री घुमाएगा (iirc!)।

पूर्व।
[M11, M12, M13]
[M21, M22, M23]
[M31, M32, M33]

यह थोड़ा डरावना है लेकिन चित्र यहाँ मदद की तरह:

http://en.wikipedia.org/wiki/Matrix_(mathematics)#Linear_transformations

और यहाँ

http://en.wikipedia.org/wiki/Transformation_matrix

अंत में

, नीचे इस इस ली पर तालिका सेंट बताएंगे कि कैसे एक मैट्रिक्स के विभिन्न क्षेत्रों उपयोग किया जाता है:

Provided via 'internet wayback machine': http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html

अंत में, मैंने कुछ समय पहले यह पढ़ याद है, यह कुछ मदद की हो सकता है के रूप में मैं अपने स्पष्टीकरण मानना ​​है कि उपरोक्त कि काम नहीं कर रहे हैं - मैं 'हूँ कि तुम क्या कह रही है, क्यों नहीं - और मुझे विश्वास है, तो आप क्यों प्रोग्रामिंग इस तरह का में ठीक से प्राप्त करने के लिए पता करने की जरूरत:

http://chortle.ccsu.edu/vectorlessons/vectorIndex.html

बेस्ट ऑफ लक!

+1

आपने कहा "एक पहचान मैट्रिक्स वह है जो किसी ऑब्जेक्ट पर लागू होता है, यह इसे प्रारंभिक भूगोल में रीसेट करता है।" यह गलत है। एक पहचान मैट्रिक्स किसी ऑब्जेक्ट को बिल्कुल नहीं बदलता है। यह इसे मूल स्थिति में रीसेट करने से अलग है।गुणा में, 1 पहचान मान है। कोई मान समय 1 मूल मान है। वही बात मैट्रिक्स गणित पर लागू होती है। –

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