为什么四元数有四个变量?

2024-02-24

Unity 引擎的官方文档不包含此内容,而且我的数学/物理研究还不够深入,还没有遇到过四元数,但我知道它与旋转有关。我不明白的是为什么四元数有四个变量,w,x,y,z,而Unity中只有三个旋转轴。


“四元数基本上是 3D 空间中的一个轴,具有绕该轴旋转的角度。四个值组成一个四元数,即 x、y、z 和 w。其中三个值用于以向量格式表示轴,并且第四个值是绕轴旋转的角度。”

http://www.real3dtutorials.com/tut00011.php http://www.real3dtutorials.com/tut00011.php

因此,简单来说,您可以将其视为旋转的旋转!

就像下面评论中指出的 Hellium 一样;如果不确切知道自己在做什么,Unity 建议您不要直接摆弄四元数。就像 Hellium 还指出的那样,无论你想完成什么,你可能都想使用四元数类 https://docs.unity3d.com/ScriptReference/Quaternion.html。它们非常有用且易于使用,可以完成您想要通过旋转完成的大多数事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么四元数有四个变量? 的相关文章

  • Unity2D - 如何在 2D 游戏中围绕圆移动和旋转游戏对象?

    我正在尝试围绕目标行星移动和旋转一些云 目前只是一个圆圈 我把动作搞定了 但旋转部分我真的很挣扎 我希望它按其在圆上的位置成比例旋转 但我一直试图猜测正确的数字 这是代码 public class CloudMovement MonoBeh
  • 从 Resources 子文件夹中获取文件名

    在我的资源文件夹中 我有一个图像子文件夹 我想从该文件夹中获取这些图像的所有文件名 尝试了几个Resources loadAll之后获取 name 但没有成功的方法 这是实现我在这里想做的事情的正确做法吗 没有内置 API 可以执行此操作
  • 在 Unity 中创建带有延迟的无限循环

    我需要在 Unity 中创建一个无限循环而不使用主线程 我看到了一些例子 但它没有用 while true var aa debug log print 我想添加一些延迟 例如2秒 如果有人知道解决方案请帮忙 首先定义一个协程 https
  • 如何在 Visual Studio Code 中获取 Unity 函数名称的智能感知?

    我正在关注有关 Unity 的教程 我发现讲师在编写方法名称时具有智能感知功能 然而 我只有类和变量的智能感知 我的意思是像 Rigidbody 这样的 Unity 类和我自己的变量 我还读过 自动补全在 Visual Studio 中不起
  • 即使速度非常低,物体也会立即移动到新位置

    我想将一个对象缓慢地从其原始位置移动到稍高的位置 但此代码会立即将对象移动到最高位置 即使我使用非常慢的速度 如 0 0001f 我在另一个代码中仅调用 LiftObj 1 次 并告诉它运行直到达到 liftOffset 这段代码有什么问题
  • 在 Unity 3D 中使用触摸输入在地形上移动相机

    我是 Unity 新手 我正在尝试弄清楚如何使用触摸输入在地图 地形上移动相机 摄像机将以 90 0 0 的旋转角度俯视地形 地形位于第 8 层 我用键盘移动它没有问题 现在我尝试移动到触摸 如果你想在 iOS 上保持预期的使用情况 那就非
  • 如何在 Unity 中创建类似 illustrator/photoshop 的钢笔工具来创建贝塞尔曲线

    我需要创建复杂的分段贝塞尔曲线 因此我想更新代码以创建类似 illustrator photoshop 的钢笔工具贝塞尔曲线 该视频展示了如何pentool 的行为 https youtu be H pfdq qG28 t 25 请注意 我
  • Unity使用Invoke在另一个脚本上调用方法

    我有两个脚本 其中一个重新启动场景 另一个是倒计时器 而不是在第一个脚本中调用重新启动场景方法 但是 它没有重新启动 即使没有错误 我也不明白为什么 重新启动场景的第一个脚本 using UnityEngine using UnityEng
  • 从通用平面获取轴对齐坐标

    标题可能是错误的 因为我不知道足够的数学知识来实际用一个小句子描述我的问题 我有一个 3D 矢量闭环 我将其称为 3D 多边形 我需要对其执行仅 2D 操作 这将返回一个 不同的 2D 点集 我需要将这些新的 2D 点转换回 3D 我目前的
  • 移动 Rigidbody 游戏对象的正确方法

    我刚刚开始学习Unity 我尝试使用此脚本进行简单的盒子移动 前提是 每当有人按下 w 时 盒子就会向前移动 public class PlayerMover MonoBehaviour public float speed private
  • Unity 协程在后台停止

    我的问题如下 目前我在 Android iOS 游戏中运行了几个协程 但是当我将游戏发送到后台以便用手机尝试其他操作时 这些协程会停止 只有在我返回游戏后才恢复 有什么办法可以让协程在游戏在后台时继续运行吗 Android 将按设计暂停您的
  • 2D 弹跳公式无法正常工作

    我是 Unity 的新手 我正在尝试创建一个弹跳球 所以我做了很多关于弹跳相关物理的研究 我找到了一个公式 Formula 2 V dot N N V 其中 V 是速度矢量 N 是球弹跳表面的法线 这是我的脚本 using UnityEng
  • 如何通过脚本使Texture2D可读

    我想让用户能够解码从图库加载的 QR 图像 我找到了一个插件来探索图像并将其加载为texture2D 但是要解码该 QR 代码 Texture2D 必须是可读 可写的 我检查了该插件 对于 Android 它使用 jar 进行探索和加载内容
  • Unity3d 协程在 while 循环后停止

    我有一个加载关卡的单例 LevelManager 等待来自新加载关卡的脚本将 GameObject 分配给 LevelManager 然后对其进行处理 我有以下代码 some GameObject calls the loadLevel c
  • 如何让一个不可见的透明按钮起作用?

    查看 Unity 论坛和问答网站中的一些答案 如何制作隐形按钮的答案不起作用 因为删除与按钮关联的图像会使其不起作用 如何解决这个问题并保持不可见属性 同时允许按钮实际工作 这是 Unity 的怪异之处之一 100 的现实世界项目都需要这个
  • 从 Unity WebGL 调用 Angular2 函数

    目前 我正在使用 Angular2 版本 2 1 2 和 Unity 可视化工具 使用 Unity 5 5 构建 我需要做的是从 Unity 到 Angular2 进行通信 我正在使用类似于下面的代码 public void GetBill
  • 我在统一复制门时遇到问题

    我正在尝试统一复制我的门 但是 当我尝试这样做时 只有原来的门正在执行打开和关闭等动画 我有一个 UI 按钮 它使用 OnClick 函数来操作门 当我输入触发器时它会弹出 这是带有OnClick功能的按钮UI https i stack
  • 获取单位圆上 (0, 0) 处的随机点

    我正在使用 Unity 和 C 并且想编写一个函数 以 0 0 单位圆上随机点的 Vector2 形式返回 x 和 y 坐标 好像有一个功能UnityEngine Random insideUnitCircle 得到单位圆内的随机点 有Un
  • unity 3d 根据加速度计旋转游戏对象

    我想做一款类似 神庙逃亡 的游戏 我需要根据设备倾斜的程度来旋转播放器的平台 我正在尝试加速计 但无法使游戏对象倾斜 请指导我 谢谢 这是我的代码 我之前在注释中使用了代码 现在我尝试使用注释中的代码 public class tilt M
  • 在 Unity 中使用 MRTK 和 Vuforia - 选择什么相机?

    我是 AR 新手 最近几天在 Unity 上设置了 MRTK 和 Vuforia 两者独立运行良好 现在我想在一个项目中使用两者 但问题是两者都有相机 MRTK 有自己的 MixedRealityCamera 和 Vuforia ARCam

随机推荐

  • Java不发送客户端证书

    我在 Java 1 7 上使用 HttpClient 4 2 3 连接到 nginx 托管的远程服务器 我的组织广泛使用 PKI 并且远程和客户端都具有由通用 CA 颁发的证书 服务器有一个如下的签名链 CN Server 123 OU S
  • .NET 中泛型集合和非泛型集合之间的内存使用差异

    我读到收藏品如今在 NET 中 众所周知 使用有一些优点通用集合 over 非通用的 它们是类型安全的 没有转换 没有装箱 拆箱 这就是通用集合具有性能优势的原因 如果我们认为非泛型集合将每个成员存储为object 那么我们可以认为泛型也具
  • 适用于 OS X 的虚拟 HID 键盘

    我正在尝试创建一个虚拟的蓝牙Mac 操作系统的键盘客户端 这意味着我的 Mac 将充当 BT KB 我读到了 OS X 中的蓝牙 API 在 ObjC 中 并且我还发现了适用于 Mac 的 HID API 在 C 中 为了完成这项工作 我知
  • 如何使用Android Studio获取代码覆盖率?

    我正在使用 Android Studio 开发应用程序 我能够运行测试代码 但是 我不知道如何在 android studio 中获得代码覆盖率 我已经看过以下链接 Android Gradle 代码覆盖率 https stackoverf
  • PHP/MYSQL 父子关系

    我有一个这样的表 id name 父 ID 然后我想根据它们的 id 选择某些行 所以像这样 SELECT FROM TABLE WHERE id IN 1 5 8 9 35 我想从这个查询中也显示父 子关系 例如 id parent 1
  • AWS S3图像保存丢失元数据

    我正在使用用 python 2 7x 编写的 AWS Lambda 函数 该函数下载 保存到 tmp 然后将图像文件上传回存储桶 我的图像元数据从带有 http 标头 例如 Content Type image jpeg 等 的原始存储桶开
  • 如何以编程方式设置 app:srcCompat="@drawable/pic" 的 ImageButton 属性?

    如何设置ImageButton的财产 app srcCompat drawable pic 以编程方式 就像是myImageButton setBackgroundResource R drawable eng2 但财产app srcCom
  • 当我尝试连接到服务器时出现“远程服务器超时”异常

    尝试连接时openfire服务器通过以下代码 Connection connection new XMPPConnection https 192 168 0 101 5222 connection connect 我收到一个异常 上面写着
  • 将 NULL 日期时间值从 T-SQL 返回到 C# DataTable ==> DataRow 而不是空字符串

    该值 row 10 来自 DataRow 对象 来自 T SQL 中的 SQL 结果集 我相信它有一个 对象 类型 在我的数据库中 该特定记录的该字段的值为 NULL 但它在结果集中返回空字符串 而不是空值 我想解决根本问题并让我的结果集返
  • RDCOMClient (Outlook) - ggplot

    我正在使用RDCOMClient用于创建 Outlook 电子邮件的库 我想发送一个ggplot作为电子邮件正文内的图像 内联 not作为附件 我认为这可能的唯一方法是将绘图作为图像添加到HTMLBody财产 我尝试了两种不同的方法来在 h
  • XAML 中的中心弹出窗口

    我使用以下代码创建了一个弹出窗口 但我不知道如何将其居中我尝试在运行时自动更改边距 但我不知道该怎么做 但是有人知道如何使弹出窗口居中吗 它没有标准维度 因为我需要全球化我的程序
  • Android android.view.InflateException 二进制 XML 文件第 16 行:错误膨胀类片段

    这是 MainActivity 类 import java io BufferedReader import java io IOException import java io InputStream import java io Inp
  • Asp.net Web API 2.2 OData4 是否支持 group by 子句?

    Asp net Web API 2 2 OData v4 是否支持聚合和 group by 子句 我找不到任何决定性的答案 另一种方法是使用以下方式实现您的服务QueryByCube提供的linq扩展方法自适应LINQ http www a
  • 如何使用 Boost XML 解析器

    我编写了一个 XML 解析器来读取 XML 文件并将其转换为我的 Position 类的对象 效果很好 请看下面它的代码 XML 文件
  • 当两个错误具有相同的字符串时,errors.Is(err, target error) 返回 false

    这不应该失败 因为两个错误具有相同的字符串 但它仍然失败 if errors Is err testspec expectErr t Errorf Error mismatch want v get v testspec expectErr
  • Java中包和目录的区别

    In a Java项目 是否保留所有 java同一文件夹中的文件意味着它们位于同一包中 有什么区别与将所有项目文件保存在一个文件夹中相比 为我们的项目制作一个包 这个线程 https stackoverflow com questions
  • 在 Linux 上使用 bfd.h 编译错误

    我是 Linux 编程新手 正在尝试使用 BFD 库 这是我正在尝试编译的当前代码 include
  • MySQL 中保护列,不允许更新,仅允许在 NULL 时插入

    我想保护日期列中的现有日期不被覆盖 因此 不允许更新日期列 仅当现有字段值为 NULL 日期列默认为 NULL 时才允许插入 是triggers http dev mysql com doc refman 5 0 en triggers h
  • 有没有办法查看 Sql Server 2005 中最近的昂贵查询?

    我最近发现了活动监视器SQL Server 2008 我知道 呃 对吧 最近昂贵的查询 选项卡对我帮助很大 现在我正在尝试调试一个客户端中数据库的过度使用 但是那里的服务器SQL Server 2005 那里有一个活动监视器 但没有 最近昂
  • 为什么四元数有四个变量?

    Unity 引擎的官方文档不包含此内容 而且我的数学 物理研究还不够深入 还没有遇到过四元数 但我知道它与旋转有关 我不明白的是为什么四元数有四个变量 w x y z 而Unity中只有三个旋转轴 四元数基本上是 3D 空间中的一个轴 具有