美文网首页
unity-向量的点乘和叉乘

unity-向量的点乘和叉乘

作者: 姜治宇 | 来源:发表于2022-12-28 10:42 被阅读0次

点乘

点乘的结果,是个数字。
(x1,y1,z1)·(x2,y2,z2)=x1x2+y1y2+z1z2
其几何意义为:
a·b=|a||b|·cosθ
移项得到:
cosθ=a/|a|·b/|b|
然后反余弦,就可以求两个向量之间的夹角。

using UnityEngine;
using System.Collections;

public class VectorDemo1 : MonoBehaviour {
     
    public Transform tr1,tr2;
    public float angle;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        getAngle ();
    }
    private void getAngle(){
        Debug.DrawLine (Vector3.zero,tr1.position);
        Debug.DrawLine (Vector3.zero,tr2.position);
        //点乘
        float dotRes = Vector3.Dot (tr1.position.normalized,tr2.position.normalized);
        //弧度->角度
        angle = Mathf.Acos (dotRes) * Mathf.Rad2Deg;

    }
}
1.png
2.png

叉乘

叉乘又称叉积或外积。
叉乘的结果,还是个向量,其方向垂直于两个向量组成的面,可以用左手法则判断。
叉乘的现实意义为:假如有a和b两个向量,通过叉乘,可以判断b在a的左边还是右边。

using UnityEngine;
using System.Collections;

public class VectorDemo1 : MonoBehaviour {
     
    public Transform tr1,tr2;
    public float y;
    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
        getCross ();
    }
    private void getCross(){
        Debug.DrawLine (Vector3.zero,tr1.position);
        Debug.DrawLine (Vector3.zero,tr2.position);
        //叉乘
        Vector3 crossRes = Vector3.Cross (tr1.position,tr2.position);
        y = crossRes.y;//判断y的±
        Debug.DrawLine (Vector3.zero,crossRes,Color.red);


    }
}


7.gif

注意观察y的值。

相关文章

  • unity-向量的点乘和叉乘

    点乘 点乘的结果,是个数字。(x1,y1,z1)·(x2,y2,z2)=x1x2+y1y2+z1z2其几何意义为:...

  • 三维向量 API

    //静态变量 //向量点乘、 叉乘参考 三维向量点乘叉乘原理[https://www.jianshu.com/p/...

  • OpenGL学习--向量与矩阵

    向量 点乘与叉乘点乘运算返回2个向量之间的夹角叉乘运算返回的是一个新的向量,这个新的向量与原来的的2个向量垂直。 ...

  • 【MATLAB】向量运算

    数量积(点乘) 向量积(叉乘) 夹角 模

  • Vec2 (二维向量)

    点乘、叉乘参考文章: https://zhuanlan.zhihu.com/p/359975221 点和向量可以理...

  • 向量点乘与叉乘

    说明:本文以三维向量举例,以斜体加粗字母表示向量 点乘 对于向量 A = (x1, y1, z1) ,向量 B ...

  • 2019-03-01理解向量的点乘和叉乘

    理解向量的点乘和叉乘: https://www.cnblogs.com/gxcdream/p/7597865.ht...

  • 向量的点乘和叉乘,以及几何意义

    向量的点乘和叉乘,以及几何意义 所谓点乘(也常称作内积),数学定义如下: a.点乘的具体几何意义: 根据公式,我们...

  • Vector3类详解

    一、向量、点乘、叉乘的介绍 在数学中,几何向量(也称为欧几里得向量,通常简称向量、矢量),指具有大小(magnit...

  • 向量点乘(内积)与叉乘

    1.关于向量内积 2.关于向量叉乘 叉乘形象表述:blog.csdn.net/augusdi/article/de...

网友评论

      本文标题:unity-向量的点乘和叉乘

      本文链接:https://www.haomeiwen.com/subject/jraaqdtx.html