3d 数学(叉乘、四元素、四元素旋转、四元素和四元素相乘、鼠标控制物体旋转、发射子弹、环形发射子弹、子弹缓冲池)

目录

1、叉乘

 2、四元素

3、四元素旋转

 4、四元素和四元素相乘

5、鼠标控制物体旋转

6、发射子弹

7、环形发射子弹

 8、子弹缓冲池


 

1、叉乘

两个向量叉乘,得到一个新的向量,新向量跟原始两个向量都垂直,也就是得到由两个向量所确定平面的法向量。

a(x, y , z)    b(i , j , k)

a  *  b   =    (y * k  -  z * j  ,   x * k -  z  *  i  ,  x * j - y * i)

public class CrossTest : MonoBehaviour
{
    public GameObject cube;
    public GameObject sphere;

    void Update()
    {
        Vector3 v = sphere.transform.position - cube.transform.position;
        Vector3 cross = Vector3.Cross(cube.transform.forward, v);

        Debug.DrawLine(cube.transform.position, cube.transform.forward * 10, Color.blue);
        Debug.DrawLine(cube.transform.position, sphere.transform.position , Color.red);

        Debug.DrawRay(cube.transform.position, cross, Color.green);
        if (cross.y > 0)
        {
            Debug.Log("在右边");
        }
        else
        {
            Debug.Log("在左边");
        }
    }
}

3d 数学(叉乘、四元素、四元素旋转、四元素和四元素相乘、鼠标控制物体旋转、发射子弹、环形发射子弹、子弹缓冲池)_第1张图片

 3d 数学(叉乘、四元素、四元素旋转、四元素和四元素相乘、鼠标控制物体旋转、发射子弹、环形发射子弹、子弹缓冲池)_第2张图片

 2、四元素

万向节死锁 

实数:分为有理数和无理数

虚数:i ^ 2 = -1

复数:实数 + 虚数

超复数:(x,y,z,w)

        X = n * x * sin(/2)

        Y = n * y * sin

你可能感兴趣的:(unity,3d,unity,学习,c#)