位置: 编程技术 - 正文

Unity3D之Vector3.Dot和Vector3.Cross的使用

编辑:rootadmin

推荐整理分享Unity3D之Vector3.Dot和Vector3.Cross的使用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

原文地址:Unity3D之Vector3.Dot和Vector3.Cross的使用

在unity3D中,Vector3.Dot表示求两个向量的点积;Vector3.Cross表示求两个向量的叉积。点积计算的结果为数&#;,而叉积计算的结果为向量。两者要注意区别开来。 在几何数学中:

Unity3D之Vector3.Dot和Vector3.Cross的使用

1.点积 点积的计算方式为: a·b=|a|·|b|cos 其中|a|和|b|表示向量的模,表示两个向量的夹角。另外在点积中,和 夹角是不分顺序的。 所以通过点积,我们其实是可以计算两个向量的夹角的。 另外通过点积的计算我们可以简单粗略的判断当前物体是否朝向另外一个物体: 只需要计算当前物体的transform.forward向量与 (otherObj.transform.position – transform.position)的点积即可, 大于0则面对,否则则背对着。当然这个计算也会有一点误差,但大致够用。2.叉积 叉积的定义:c =a x b 其中a,b,c均为向量。即两个向量的叉积得到的还是向量! 性质1:c⊥a,c⊥b,即向量c垂直与向量a,b所在的平面。 性质2:模长|c|=|a||b|sin 性质3:满足右手法则。从这点我们有axb ≠ bxa,而axb = – bxa。所以我们可以使用叉积的正负&#;来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向。 根据上面的性质2,我们也同样的可以计算出两个向量的夹角。 下面是示例代码:

[JavaScript] 纯文本查看 复制代码?using UnityEngine; using System.Collections; public class MainScript : MonoBehaviour { //向量a private Vector3 a; //向量b private Vector3 b; void Start () { //向量的初始化 a = newVector3 (1, 2, 1); b = newVector3 (5, 6, 0); } void OnGUI () { //点积的返回&#; float c = Vector3.Dot (a, b); //向量a,b的夹角,得到的&#;为弧度,我们将其转换为角度,便于查看! float angle = Mathf.Acos (Vector3.Dot (a.normalized, b.normalized)) * Mathf.Rad2Deg; GUILayout.Label ("向量a,b的点积为:"&#; c); GUILayout.Label ("向量a,b的夹角为:"&#; angle); //叉积的返回&#; Vector3 e = Vector3.Cross (a, b); Vector3 d = Vector3.Cross (b, a); //向量a,b的夹角,得到的&#;为弧度,我们将其转换为角度,便于查看! angle = Mathf.Asin (Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))) * Mathf.Rad2Deg; GUILayout.Label ("向量axb为:"&#; e); GUILayout.Label ("向量bxa为:"&#; d); GUILayout.Label ("向量a,b的夹角为:"&#; angle); } }

上面的示例中,我们定义了两个向量a和b。分别求出了他们的点积和叉积,并通过点积和叉积来反过来计算他们的夹角。 这里要说明的是: 1.a.normalized 和 b.normalized 表示的是两个向量的单位向量, 因为在公式里,有向量和模的除法,得出来的结果就是单位向量,所以我们这里和后面都直接用单位向量来计算,省去不少麻烦。 2.Mathf.Rad2Deg表示的是 单位弧度的度数。详情请见本人文章: Unity3D之Mathf.Rad2Deg和Mathf.Deg2Rad 3.通过叉积计算度数是通过公式|c|=|a||b|sin来逆向求&#;。|c| 其实就是叉积的模,换句话说,也代表着Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))的&#;。

结果图如下:

Protecting Content With AssetBundle[Unity] WhilstitispossibletouseencryptiontosecureyourAssetsastheyarebeingtransmitted,oncethedataisinthehandsoftheclientitispossibletofindwaystograbthecontentfromthem.Forinstance,therearetoolsouttherewhichcanr

Unity3D图像后处理特效——Fisheye image effect

unity学习之增删查改 unity学习,希望我的博客能给正在学习unity的朋友们带来帮助今天我们来学习在vs中对数据库中的数据进行增删查改,直接来看代码吧封装,方便方法的

标签: Unity3D之Vector3.Dot和Vector3.Cross的使用

本文链接地址:https://www.jiuchutong.com/biancheng/377292.html 转载请保留说明!

上一篇:Unity游戏开发——C#特性Attribute与自动化(unity游戏项目开发教程)

下一篇:Protecting Content With AssetBundle[Unity]

  • 保险费车船税会计分录
  • 冲销暂估原材料
  • 资产负债表期初和期末的关系
  • 营改增后房地产企业增值税税率
  • 发票进项转出账务怎么做
  • 医院的固定资产是由财务负责的吗?
  • 分配结转制造费用会计分录怎么写?
  • 合伙企业缴纳税款时间
  • 咨询案例模板
  • 发票的金额可以答应客户多开
  • 国税和地税归哪里管
  • 关于进项税额转出的规定
  • 个人缴纳的公积金可以贷款吗
  • 开红字冲红发票 下个月怎么申报
  • 2019一般纳税人和小规模纳税人的区别
  • 苹果系统怎么修改开机密码
  • 租赁合同维修费用
  • 企业所得税汇算清缴表
  • 非营利组织一般纳税人会计准则
  • php介绍
  • 债权转增资本公积账务处理
  • 移动硬盘通过软件改硬盘容量怎么改
  • 补丁自动过期怎么解决
  • 如何预防电脑系统崩溃
  • php技巧
  • PHP:pcntl_waitpid()的用法_PCNTL函数
  • 本部借给分公司的钱用交印花税吗
  • 短期借款产生的利息进入总账吗
  • 企业职工福利费包括哪些内容
  • 尚融宝盈(宁波)投资中心(有限合伙)
  • 前端file对象
  • 竣工结算审计费用在线计算器
  • 本期收入及免税收入
  • 担保合同印花税税率怎么算
  • pytorch m1
  • 织梦cms官网
  • 小规模纳税人的条件
  • 外贸企业有哪些公司青岛
  • 不征税发票需要申请吗
  • sqlserver实现分页查询
  • 企业固定资产如何查询
  • 怎样识别真假增值税发票
  • 发票上的收款人和复核人不写可以吗
  • 社保退回的款怎么入账
  • 工程分包如何开具发票
  • 计提坏账准备金是什么意思
  • 递延所得税如何计提
  • 金税盘的维护费怎么报税
  • 机械租赁公司挂牌流程
  • 企业所得税汇算清缴时间
  • 老板从公司借款怎么处理
  • 农民农作物补偿标准文件
  • 建筑安装企业外雇施工人员劳务费用什么做支付凭证
  • 专用发票样图
  • 经营租入的固定资产计入什么科目
  • 购买发票打印机如何账务处理?
  • 教育费附加计入其他应付款吗
  • 无形资产的费用化支出计入成本吗
  • 农民专业合作社是企业法人吗
  • 税务登记财务负责人条件
  • 预收账款借方和贷方表示什么
  • 什么是收入?企业有哪些
  • Linux下mysql 5.6.17安装图文教程详细版
  • mysql用处
  • XP系统如何设置U盘启动
  • ubuntu怎样
  • win2008远程桌面
  • windows 8whql
  • 关于extjs4如何获取grid修改后的数据的问题
  • Android自定义控件高级进阶与精彩实例
  • python进阶视频
  • python爆破脚本
  • python中pandas.DataFrame排除特定行方法示例
  • Express + Session 实现登录验证功能
  • nvm下载安装
  • shell函数返回多个值包含数组
  • 印花税没有做税种认定怎么办
  • 第一次去税务局领发票
  • 皖事通新农合缴费征收方式是什么?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设