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

devtools/2024/12/21 18:13:49/

反三角函数相关知识:

 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.ppmy.cn/devtools/144147.html

相关文章

深度学习的可解释性研究

深度学习的可解释性研究是一个多维度、跨学科的领域,旨在提高模型的透明度和理解性,以便更好地服务于人类社会。这一研究方向不仅在理论上具有重要意义,而且在实际应用中也具有广泛的价值,特别是在信息推送、医疗研究、金融和信息…

DeepSeek-V2的多头潜在注意力机制及其在开源Mixture-of-Experts (MoE)语言模型中的应用

DeepSeek-V2的多头潜在注意力机制及其在开源Mixture-of-Experts (MoE)语言模型中的应用 DeepSeek-V2的架构及其优势 DeepSeek-V2的架构及其优势可以从几个关键方面进行深入探讨: 1. 架构设计 DeepSeek-V2是一个基于Mixture-of-Experts(MoE&#xff0…

leetcode链表

链表中随机访问第k个元素需要一个一个的遍历,链表随机访问的性能没有数组好,需要 O(n) 的时间复杂度。 链表插入、删除比较快,O(1) 单链表 循环链表 双向链表的插入删除更高效 如果你熟悉 Java 语言,你肯…

DCDC降压模块

一、项目介绍 在B站看到工科男孙老师发的DCDC模块视频,后面有提到这款芯片,于是就使用这款芯片自己设计了这款降压模块。 芯片的封装为TSOT23-8,对空间利用率高。 输入电压的范围为3-18V。 输出电压的范围为0-8V。 输出电流最…

Immer编写更简单的逻辑

Immer 当我们在更新一个复杂的嵌套对象时: const [person, setPerson] useState({name: Niki de Saint Phalle,artwork: {title: Blue Nana,city: Hamburg, image: https://i.imgur.com/Sd1AgUOm.jpg,} });如果想要更新person.artwork.city的值,可…

环境变革下 B2B 销售的转型与创新:开源 AI 智能名片与 S2B2C 商城小程序的助力

摘要:本文探讨了在信息科技与互联网迅猛发展所引发的环境改变背景下,B2B 销售工作面临的挑战与机遇。深入分析了传统销售模式的局限性以及新环境对销售人员素质和能力的要求,提出从提供“信息”向提供“业务价值”转变的必要性。同时&#xf…

iOS 核心动画

核心动画 Layer 的自定义动画Layer 自带的仿射动画UIView 隐式动画显式动画CAPropertyAnimation CABasicAnimation repeatCounttimingFunctionfillModedelegate常见的 keyPathCASpringAnimationCAKeyframeAnimation cacluationModerotationMode沿路径的动画CATransitionUIView …

Python中使用单例模式创建类

在 Python 中,实现单例模式有多种方式,每种方式都有其优缺点。先上结论,如果对某种实现方式有兴趣的话可以选择性的阅读。 1. 结论 实现方式优点缺点荐语元类线程安全,灵活实现复杂适合需要灵活性和线程安全的场景threading.Lock…