unity Vector3 叉乘cross运算

分类: unity3d |
这一节,主要讲 叉乘 ,
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Vector3BehaviourScript : MonoBehaviour {
public Text textA;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI()
{
float angle = 0;
//GUI.Box (new Rect (100, 100, 100, 100), "" + angle);
Vector3 vectorTarget = new Vector3(0,0,1);
Vector3 ownVector = transform.forward;
Vector3 crossValue = Vector3.Cross
(vectorTarget,ownVector);
angle = Mathf.Asin (Vector3.Distance (Vector3.zero,
crossValue)) * Mathf.Rad2Deg;
textA.text = "angle:"+ angle + " cross:"+ crossValue.y;
}
}
http://s16/mw690/005N7Rnmzy74VfkRiwf0f&690Vector3 叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s12/mw690/005N7Rnmzy74VfkUaaTab&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s8/mw690/005N7Rnmzy74VfkXrjpe7&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s7/mw690/005N7Rnmzy74Vfl0vyu86&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s2/mw690/005N7Rnmzy74Vfl4YXne1&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s9/mw690/005N7Rnmzy74Vfl8lQY98&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s13/mw690/005N7Rnmzy74Vflbujy8c&690Vector3叉乘cross运算" TITLE="unity Vector3 叉乘cross运算" />
http://s12/mw690/005N7Rnmzy74VfkUaaTab&690Vector3
http://s8/mw690/005N7Rnmzy74VfkXrjpe7&690Vector3
http://s7/mw690/005N7Rnmzy74Vfl0vyu86&690Vector3
http://s2/mw690/005N7Rnmzy74Vfl4YXne1&690Vector3
http://s9/mw690/005N7Rnmzy74Vfl8lQY98&690Vector3
http://s13/mw690/005N7Rnmzy74Vflbujy8c&690Vector3
我们用 Z轴 当参考轴,
最初,角度是 0 , 叉乘后的 Y轴 值也是 0 ,
顺时针开始, 角度变大, Y轴值也变大,
到达顶峰 90度, Y轴值变为 最大的 1,
超过90度时,角度开始变小, Y轴值也变小,
角度变小到 0, Y轴也变为0,
此时,人物已经转了180度,从面朝前,变为面朝后了。
之后, Y轴值继续变小,角度变大,
到达 270度时, Y轴 变为最小的 -1,
之后再变大,最终回归 0 ,
整个过程的规律,和 正玄曲线是相同的,
先升高,在 四分之一的距离时,升到最高,
之后,逐渐下降到 最低, 再用 四分之一的距离回复到原点。
跟点乘不同, 角度的范围,是
0 到 90度, 再变为 0度,再变为 90度,再变为 0度,
例如,
当都是 45度时,我们通过 点乘后的正负值,
判断出,相对的位置是向 顺时针方向旋转,还是向 逆时针方向旋转。
用点乘来判断前后,
用叉乘来判断左右,
这样,一个物体的相对位置,就很明确了,
人物,就可以根据这些信息,旋转如何旋转来面对 目标物体了。
后一篇:untiy 点乘和叉乘的方向