当前位置: 首页 > article >正文

向量的叉乘+Vector3补充+四元数

反三角函数相关知识:

 float a = Mathf.Asin(0.5f) * Mathf.Rad2Deg;
 Debug.Log("a:" + a);

运行结果如下:

向量的叉乘

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

数学角度:a(x,y,z)     b(i,j,k)

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

Vector3的补充

player.transform.position=Vector3.SmoothDamp(player.transform.position,cube.transform.position,ref speed,2);

第一个参数:当前位置;    第二个参数:目标位置;      第三个参数:物体移动时运动速度;

第四个参数:移动的花费时间。

四元数

在使用欧拉角进行旋转时,有一定几率会发生万向节死锁的的情况

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

虚数:1^2=-1

复数:实数+虚数

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

X=nx*sin(theta/2);

Y=ny*sin(theta/2);

Z=nz*sin(theta/2);

W=cos(theta/2);

例如cube沿着z轴旋转60度,代码为:

cube.transform.rotation=new Quaternion(0,0,Mathf.sin(30*Mathf.Deg2Rad),Mathf.cos(30*Mathf.Deg2Rad));

实例运用部分API

代码如下:

public GameObject cube;
void Update()
{
        Quaternion q2 = Quaternion.Euler(0, 60, 0);
        cube.transform.rotation = Quaternion.Lerp(cube.transform.rotation, q2, 0.1f);
}

运行实现效果如下:

 运行游戏,挂载脚本的物体旋转到指定的角度

 当运行游戏时,我们可以通过控制鼠标在水平轴上的移动来控制cube的旋转,具体实现代码可如下所示:

private float mouseX;
 void Update()
    {
        mouseX = Input.GetAxis("Mouse X");
        Quaternion q1 = Quaternion.AngleAxis(mouseX, Vector3.up);
        cube.transform.rotation *= q1;
    }

该段代码实现的效果如下:

该系列专栏为网课课程笔记,仅用于学习参考。 


http://www.kler.cn/a/445715.html

相关文章:

  • Pytorch | 利用FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • EasyExcel 导出文件
  • docker springboot 运维部署详细实例
  • SpringBoot开发——整合JSONPath解析JSON信息
  • CarWatchdog
  • SQL语句整理五-StarRocks
  • Qt之CAN设计(十三)
  • R语言在数量生态学中的应用
  • go mod tidy 命令
  • 《算法SM2》题目
  • 【Python爬虫实战】深入解析 Scrapy 管道:数据清洗、验证与存储的实战指南
  • VSCode 配置远程连接免密登录
  • YOLOv8目标检测(七)_AB压力测试
  • 【QT实战の心情笔记】
  • //需求 定义方式实现随机产生一个5位的验证码 //验证方式: 长度为5位, 前四位是大写字母或者小写字母,最后一位是数字
  • 【华为OD-E卷-获得完美走位 100分(python、java、c++、js、c)】
  • 进行科技查新对避免重复申请专利有何帮助?
  • 图漾相机-ROS1_SDK_ubuntu版本编译(新版本)
  • 【HarmonyOS之旅】DevEco Studio的安装与环境配置
  • Intent的匹配规则
  • Springboo 和ORM整合
  • 基于master开发了一个feature/new_fun分支,但是开发过程中origin/master发生更新了,此时应该怎么做?
  • 《Java核心技术I》Swing中滚动窗格
  • 疾风大模型气象系统:精准预报,引领未来
  • 我不是挂王-用python实现燕双鹰小游戏2
  • 【YOLO 项目实战】(11)YOLO8 数据集与模型训练