四元数与向量

模长 =根号(x2+y2+z^2) 单位向量 = (x/模长,y/模长,z/模长)

		//向量 是两个点相减的出来的一个点,该点相对于原点的方向   比如向量AB = B-A ,AB 的值是一个新的坐标,他和原点的方向就是向量//V3 可以直接作为一个相对于原点的向量Vector3 V3  = new Vector3(3,4,5);float powValue = Mathf.Pow(3, 2) + Mathf.Pow(4, 2) + Mathf.Pow(5, 2);//开根号 获得模长float modellength_1 = Mathf.Sqrt(powValue);//获得单位向量  (V3_normalized_1模长为1)Vector3 V3_normalized_1 = new Vector3(V3.x / modellength_1, V3.y / modellength_1, V3.z / modellength_1);//直接获得模长的方法float modellength_2 = Vector3.Magnitude(V3);float modellength_3 = V3.magnitude;//直接获得单位向量的方法Vector3 V3_normalized_2 = V3.normalized;

向量加法

   A向量 + B向量 = C向量   规则:向量相加,首位相连(A尾指B头)位置 + 向量 = 平移位置   规则:位置加向量等于平移位置(不分加法左右的位置)位置 +位置   没有几何意义

向量减法

   位置 -位置  得到一个新的向量A向量 - B向量 = C向量   规则:向量相减,头连头,尾部连尾(B头指A头)位置 - 向量 = 平移位置   规则:分左右,向量不可以减位置

向量乘法

   向量只能和标量(一维数)进行乘除法运算向量乘除一个标量 = 向量标量为正数,向量方向不变,放大或者缩小模长标量为负数,方向相反,放大或者缩小模长标量为0,得到零向量

向量点乘

   向量 * 向量 = 标量A*B =(Xa * Xb)+(Ya * Yb)+(Za * Zb)结果 > 0,两个向量的夹角是锐角结果 = 0,两个向量的夹角是直角结果 < 0,两个向量的夹角的钝角Cosβ = 单位向量A * 单位向量Bβ = ACos(单位向量A * 单位向量B)  unity中所有的计算都是弧度,所以得到的β是弧度,要转成角度,还需要乘以Mathf.Rad2Deg(弧度转角度值)

向量叉乘

   向量A 叉乘 向量B = 向量C向量C垂直于向量A和向量B方向四个手指指向叉乘左边的向量A,朝向量B弯曲,此时大拇指方向为向量C的方向(可以通过这个判断AB向量之间的左右关系,需要定一个比较的轴,比如Y轴,则在XZ轴比较左右)

四元数

   一个四元素包含一个标量和一个3D向量四元数Q = [w,v] = [w,(x,y,z)],w为标量,v为3D向量四元数Q = [cos(β/2),sin(β/2)(x,y,z)] = [cos(β/2),sin(β/2)x,sin(β/2)y,sin(β/2)z]  固定公式四元数Q代表围绕着v轴旋转β度四元数结构体Quaternion
       float angle = 60;Vector3 axis = new Vector3(1, 0, 0);Quaternion q1 = new Quaternion(Mathf.Sin(angle/2*Mathf.Deg2Rad)*axis.x,Mathf.Sin(angle/2*Mathf.Deg2Rad)*axis.y,Mathf.Sin(angle/2*Mathf.Deg2Rad)*axis.z,Mathf.Cos(angle/2*Mathf.Deg2Rad));//四元数Q = Quaternion.AngleAxis(角度,轴)Quaternion q2 = Quaternion.AngleAxis(angle, axis);//四元数相乘等于旋转四元数Quaternion q3 = q1 * q2;//旋转了(angle + angle)度,只有(0,180)(0,-180)度
   四元数乘向量 等于旋转向量(左右位置不可变)

向量的叉乘(或外积)是一个重要的数学运算,主要用于三维空间中的向量。它的意义和用途包括:

  1. 垂直性:两个向量的叉乘结果是一个新向量,这个新向量与原来的两个向量都垂直。这在计算法向量时非常有用,比如在图形学中计算表面的法线。
  2. 面积:叉乘的模(长度)等于由这两个向量所张成的平行四边形的面积。这个特性在物理和几何中都有应用。
  3. 方向:叉乘的结果遵循右手法则,即如果你用右手的食指指向第一个向量, middle
    finger指向第二个向量,那么大拇指的方向就是叉乘结果的方向。
  4. 物理意义:在物理中,叉乘用于计算力矩、角动量等。例如,力矩可以用力向量与位置向量的叉乘来表示。

向量的点乘(或称为内积)有几个重要的几何和代数意义:

  1. 角度关系:点乘可以用于计算两个向量之间的夹角。具体来说,若有两个向量 A 和 B, 它们的点乘公式为:A⋅B=∣A∣∣B∣cos(θ)
    其中 θ 是两个向量之间的夹角。通过这个公式,我们可以判断向量的方向关系:
    如果点乘为正,说明角度小于 90 度。
    如果为零,说明角度为 90 度(即垂直)。
    如果为负,说明角度大于 90 度。
  2. 投影:点乘可以用来计算一个向量在另一个向量上的投影

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1548706.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一站式家装服务管理系统

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本一站式家装服务管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数…

基于Hive和Hadoop的病例分析系统

本项目是一个基于大数据技术的医疗病历分析系统&#xff0c;旨在为用户提供全面的病历信息和深入的医疗数据分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 Spark…

《征服数据结构》哈夫曼树(Huffman Tree)

摘要&#xff1a; 1&#xff0c;哈夫曼树的介绍 2&#xff0c;哈夫曼树的构造 3&#xff0c;哈夫曼树带权路径长度计算 4&#xff0c;哈夫曼树的编码 5&#xff0c;哈夫曼树的解码 1&#xff0c;哈夫曼树的介绍 哈夫曼树(Huffman Tree)也叫霍夫曼树&#xff0c;或者赫夫曼树&am…

学校周赛(1)

A - Short Sort 题目&#xff1a; 思路&#xff1a; 本条题目只允许改一处地方&#xff0c;只有三个字母&#xff0c;我们可以直接枚举所有移动过的结果&#xff0c;同时使用哈希去记录其值&#xff0c;对于每一个输入我们都寻找是否有这个值记录&#xff0c;有则输出YES否则…

微深节能 环形运动机械定位控制系统 格雷母线

微深节能的环形运动机械定位控制系统中的格雷母线&#xff0c;是一种高精度、无磨损的非接触式位置检测系统&#xff0c;特别适用于环形运动机械的定位控制。该系统主要由格雷母线、天线箱、电气柜等关键部件组成&#xff0c;其核心在于格雷母线这一特殊的编码线。 格雷母线概述…

JAVA一站式台球学习平台多端畅享助教教练系统小程序源码

​一站式台球学习平台 —— 多端畅享助教教练系统 &#x1f31f;【开篇&#xff1a;解锁台球新境界】&#x1f31f; 你是否厌倦了传统台球学习的枯燥与局限&#xff1f;想要随时随地&#xff0c;都能享受专业级的台球指导吗&#xff1f;今天&#xff0c;就让我为你揭秘一款颠覆…

JITWatch安装使用方法

JITWatch 版本1.4.2 JDK 版本 11以上 1.下载JITWatch&#xff1a; https://github.com/AdoptOpenJDK/jitwatch/releases/download/1.4.2/jitwatch-ui-1.4.2-shaded-win.jar 2.启动 bat脚本执行&#xff1a;通过启动jar包方式启动JITWatch echo off start cmd /c "ti…

SpringBoot+Activiti7工作流入门实例

目录 文章目录 目录准备Activiti建模工具1、BPMN-js在线设计器1.1 安装1.2 使用说明1.3运行截图 2、IDEA安装Activiti Designer插件2.1安装插件2.2 设置编码格式防止中文乱码2.3 截图 简单工作流入门实例1. 新建Spring Boot工程2. 引入Activiti相关依赖添加版本属性指定仓库添加…

探索分布式IO模块的介质冗余:赋能工业自动化的稳健之心

在日新月异的工业自动化领域&#xff0c;每一个细微环节的稳定性都直接关系到生产线的效率与安全。随着智能制造的深入发展&#xff0c;分布式IO&#xff08;Input/Output&#xff09;模块作为连接现场设备与控制系统的关键桥梁&#xff0c;其重要性日益凸显。我们自主研发的带…

RAG+llamaindex+DSW实操

本文纯干货,不做任何原理性讲解,适合于有一定基础的伙伴进行实践,本次文章将分为以下几个部分来介绍: 环境搭建LlamaIndex 使用本地知识库准备基本原理: 1. 环境搭建 1.1 配置基础环境 创建虚拟环境,环境名称可以自行取,我的是"llamaindex" conda create -n ll…

「iOS」——KVC

iOS学习 前言KVC模式KVC设值KVC取值KVC使用keyPathKVC处理异常处理不存在的key处理nil异常 KVC处理字典KVC高阶消息传递 总结 前言 对KVC模式的简单学习和总结。 KVC模式 KVC&#xff08;Key-Value Coding&#xff0c;键值编码&#xff09;是一种通过字符串来访问对象属性的机…

双端之Nginx+Php结合PostgreSQL搭建Wordpress

第一台虚拟机:安装 Nginx 更新系统包列表: sudo apt update安装 Nginx及php扩展: sudo apt install nginx php-fpm php-pgsql php-mysqli -y启动 Nginx 服务: sudo systemctl start nginx检查 Nginx 是否正常运行: xdg-open http://localhost注意:终端命令打开网址 …

腾讯云SDK产品功能

本文主要介绍音视频终端 SDK&#xff08;腾讯云视立方&#xff09;的核心功能。 直播推流 音视频终端 SDK&#xff08;腾讯云视立方&#xff09;为终端直播场景提供强大的 RTMP、RTC 推流能力&#xff0c;配合云直播&#xff08;CSS&#xff09;全球布局的2000节点&#xff0…

数据结构及基本算法

目录 第一章 概论 第一节 引言 第二节 基本概念和常用术语 第三节 算法的描述与分析 第二章 线性表 第一节 线性表定义和基本运算个 一、线性表的逻辑定义 二、线性表的基本运算 第二节 线性表的顺序存储和基本运算的实现 一、线性表的顺序存储 二、顺序表上基本运算…

【网络安全】-访问控制-burp(1~6)

文章目录 前言   1.Lab: Unprotected admin functionality  2.Lab: Unprotected admin functionality with unpredictable URL   3.Lab: User role controlled by request parameter   4.Lab:User role can be modified in user profile  5.Lab: User ID controlled by…

山海优选电商平台卷轴模式订单系统核心架构解析

山海优选卷轴模式的订单核心源码是涉及订单处理、支付、搜索、状态管理等关键功能的代码部分。由于直接提供完整的源代码可能涉及版权和隐私保护问题&#xff0c;我将基于参考文章中的信息&#xff0c;概述该模式订单核心源码的主要结构和功能点。 一、订单核心源码概述 在山海…

C语言线程

线程 多个进程中通过轮流使用CPU来完成自己的任务&#xff0c;如果多个进程的操作都一模一样那么CPU的开销就会很大&#xff0c;因为进程的地址都是私有的&#xff0c;如果CPU对相同的操作只执行一次&#xff0c;后面再遇到直接去获取即可&#xff0c;这样大大降低了CPU的开销…

【AI战略思考5】工欲善其事,必先利其器。我的利器是什么?

目录 导言1.不要忽视时间本身复利的巨大威力2.只赚自己认知以内的钱&#xff0c;只把握自己能力以内的机会3.多做有难度的事来激发自己的潜力和提升自己4.学会抵制诱惑5.减少冗余思考和冗余操作 导言 工欲善其事&#xff0c;必先利其器。我的利器是什么&#xff1f; 虽然我中考…

【C++拓展(四)】秋招建议与心得

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; C拓展 1. 前言2. 今年秋招形势到底如何?3. 学历…

Proteus如何添加数码管

1、打开安装好的Proteus&#xff0c;点击上方菜单栏中的“库”&#xff0c;再选择“从库选取零件”&#xff0c;或者在左侧元件列表中单击鼠标右键&#xff0c;再点击右键菜单中的“从库中挑选”选项。 2、之后在元器件库中&#xff0c;点击类别中的“Optoelectronics”&#…