zoukankan      html  css  js  c++  java
  • 旋转矩阵

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class TestGame : MonoBehaviour
    {
    
        public Vector2 p1;
        public Vector2 p2;
    
        public GameObject go;
    
    
        private void OnGUI()
        {
            if (GUILayout.Button("计算"))
            {
    
                Vector3 right = go.transform.right;
                Vector3 up = go.transform.up;
                Vector3 forward = go.transform.forward;
    
                //把go的轴旋转到 世界方向
                Matrix4x4 rotM = new Matrix4x4();
                rotM.m00 = right.x; rotM.m01 = up.x; rotM.m02 = forward.x; rotM.m03 = 0;
                rotM.m10 = right.y; rotM.m11 = up.y; rotM.m12 = forward.y; rotM.m13 = 0;
                rotM.m20 = right.z; rotM.m21 = up.z; rotM.m22 = forward.z; rotM.m23 = 0;
                rotM.m30 = 0; rotM.m31 = 0; rotM.m32 = 0; rotM.m33 = 1;
    
                Matrix4x4 M = rotM.transpose;
    
                Vector4 right4 = new Vector4(right.x, right.y, right.z, 0);
                Vector4 rightM = M * right4;
                Debug.LogError(rightM);
                //Debug.LogError(rightM.x + "   " + rightM.y + "   " + rightM.z);
                Vector4 up4 = new Vector4(up.x, up.y, up.z,0);
                Vector4 upM = M * up4;
                Debug.LogError(upM);
    
            }
        }
    
    }
    

      

    using System.Collections;using System.Collections.Generic;using UnityEngine;
    public class TestGame : MonoBehaviour{
        public Vector2 p1;    public Vector2 p2;
        public GameObject go;

        private void OnGUI()    {        if (GUILayout.Button("计算"))        {
                Vector3 right = go.transform.right;            Vector3 up = go.transform.up;            Vector3 forward = go.transform.forward;
                //把go的轴旋转到 世界方向            Matrix4x4 rotM = new Matrix4x4();            rotM.m00 = right.x; rotM.m01 = up.x; rotM.m02 = forward.x; rotM.m03 = 0;            rotM.m10 = right.y; rotM.m11 = up.y; rotM.m12 = forward.y; rotM.m13 = 0;            rotM.m20 = right.z; rotM.m21 = up.z; rotM.m22 = forward.z; rotM.m23 = 0;            rotM.m30 = 0; rotM.m31 = 0; rotM.m32 = 0; rotM.m33 = 1;
                Matrix4x4 M = rotM.transpose;
                Vector4 right4 = new Vector4(right.x, right.y, right.z, 0);            Vector4 rightM = M * right4;            Debug.LogError(rightM);            //Debug.LogError(rightM.x + "   " + rightM.y + "   " + rightM.z);            Vector4 up4 = new Vector4(up.x, up.y, up.z,0);            Vector4 upM = M * up4;            Debug.LogError(upM);
            }    }
    }

  • 相关阅读:
    在yii中使用Filter实现RBAC权限自动判断
    关于WEB设计透明和阴影
    一句话扯扯数据结构的概念点
    Console API Google 浏览器开发人员工具使用
    git提交项目时候,忽略一些文件
    学习笔记 如何解决IE6 position:fixed固定定位问题{转载}
    [转载]yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
    Jquery 常用方法经典总结【砖】
    PHP中冒号、endif、endwhile、endfor这些都是什么
    [转载]救命的PHP代码
  • 原文地址:https://www.cnblogs.com/cocotang/p/13496778.html
Copyright © 2011-2022 走看看