Collada动画节点,如何将旋转写为四元数

时间:2013-03-25 11:03:01

标签: collada

我需要在collada文件中重写Euler旋转作为四元数。我无法找出四元数表示的样子。任何人都可以指出这个动画节点的样子方向吗? (我只需要知道如何编写Collada,计算不是问题)

使用Euler Representation的示例:

        <animation>
            <source id="ID72">
                <float_array id="ID73" count="2">0 0.4</float_array>
                <technique_common>
                    <accessor count="2" source="#ID73">
                        <param name="TIME" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID74">
                <Name_array id="ID75" count="2">LINEAR LINEAR</Name_array>
                <technique_common>
                    <accessor count="2" source="#ID75">
                        <param name="INTERPOLATION" type="Name"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID80">
                <float_array id="ID81" count="2">0 -60</float_array>
                <technique_common>
                    <accessor count="2" source="#ID81">
                        <param name="ANGLE" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <sampler id="ID82">
                <input semantic="INPUT" source="#ID72"/>
                <input semantic="INTERPOLATION" source="#ID74"/>
                <input semantic="OUTPUT" source="#ID80"/>
            </sampler>
            <channel source="#ID82" target="ID38/rotateY.ANGLE"/>
        </animation>
        <animation>
            <source id="ID83">
                <float_array id="ID84" count="2">0 0.4</float_array>
                <technique_common>
                    <accessor count="2" source="#ID84">
                        <param name="TIME" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID85">
                <Name_array id="ID86" count="2">LINEAR LINEAR</Name_array>
                <technique_common>
                    <accessor count="2" source="#ID86">
                        <param name="INTERPOLATION" type="Name"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID91">
                <float_array id="ID92" count="2">0 -40</float_array>
                <technique_common>
                    <accessor count="2" source="#ID92">
                        <param name="ANGLE" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <sampler id="ID93">
                <input semantic="INPUT" source="#ID83"/>
                <input semantic="INTERPOLATION" source="#ID85"/>
                <input semantic="OUTPUT" source="#ID91"/>
            </sampler>
            <channel source="#ID93" target="ID38/rotateX.ANGLE"/>
        </animation>
        <animation>
            <source id="ID94">
                <float_array id="ID95" count="2">0 0.4</float_array>
                <technique_common>
                    <accessor count="2" source="#ID95">
                        <param name="TIME" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID96">
                <Name_array id="ID97" count="2">LINEAR LINEAR</Name_array>
                <technique_common>
                    <accessor count="2" source="#ID97">
                        <param name="INTERPOLATION" type="Name"/>
                    </accessor>
                </technique_common>
            </source>
            <source id="ID102">
                <float_array id="ID103" count="2">-0 -0</float_array>
                <technique_common>
                    <accessor count="2" source="#ID103">
                        <param name="ANGLE" type="float"/>
                    </accessor>
                </technique_common>
            </source>
            <sampler id="ID104">
                <input semantic="INPUT" source="#ID94"/>
                <input semantic="INTERPOLATION" source="#ID96"/>
                <input semantic="OUTPUT" source="#ID102"/>
            </sampler>
            <channel source="#ID104" target="ID38/rotateZ.ANGLE"/>
        </animation>

0 个答案:

没有答案