加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

unity Vector3 叉乘cross运算

(2016-09-17 19:39:04)
分类: 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运算" />

我们用 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度时,我们通过 点乘后的正负值,

判断出,相对的位置是向 顺时针方向旋转,还是向 逆时针方向旋转。


用点乘来判断前后,

用叉乘来判断左右,

这样,一个物体的相对位置,就很明确了,

人物,就可以根据这些信息,旋转如何旋转来面对 目标物体了。



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有