向量叉乘与叉乘矩阵

本文以三维向量来说明向量的叉乘计算原理以及叉乘矩阵如何求取

1、向量叉乘的计算原理

             a、b分别为三维向量:

                                  

                                  

             a叉乘b一般定义为:

                                     或

             可是这只是一个符号的定义啊,具体怎么得到代数值

                关键方法就是引入单位坐标向量

             这里用i j k来表示三维坐标轴,这里只是举例,可以扩展到更多维,只是比较抽象

                a、通过引入单位向量,向量就可以转化为代数形式:

                                         

                                         

                 b、定义单位向量间的运算规则

                                                               

                                                              

                                                       

                 c、计算叉乘

                                

                                

2、计算叉乘矩阵

             

              把叉乘结果写成向量的形式:

                                

              变换形式得到叉乘矩阵:

                                

               其中称为a向量的叉乘矩阵。

3、高维向量求取叉乘矩阵

                   对于三维和三维以下向量的叉乘计算和叉乘矩阵的求取通过定义单位向量间的运算规则可以计算得到。

               对于高维向量,这种方法显得有些繁琐不易理解且容易出错。

               下面介绍另外一种方法,先举个二维的例子:

                   假设向量a是一个二维的向量(这里只使用二维是为了让例子容易理解)

                                

               这里引入一个反对称(anti-symmetric)矩阵H:

                                

               通过计算,发现结果为0

               由叉乘的规则,a叉乘a的结果为0:

                                

               通过对比,可以发现 aH 就是a向量的叉乘矩阵,当a为列向量时为a向量的叉乘矩阵。

 

               如果a为三维向量,那么H为:

                             

               可以发现H就是由一个个反对称矩阵构成。

4、扩展

               对于向量的点乘、四元数乘法都可以通过定义单位向量 i j k…之间的运算规则来推导。

时间: 2024-10-08 15:25:33

向量叉乘与叉乘矩阵的相关文章

TYVJ P1051 选课 Label:多叉转二叉&&树形dp(虐心?)

描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得相应的学分. 在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修.例如<Frontpage>必须在选修了<Windows操作基础>之后才能选修.我们称<Windows操作基础>是<Frontpage>的先修课

题目1009:二叉搜索树(二叉搜索树的建立)

题目链接:http://ac.jobdu.com/problem.php?pid=1009 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: // // 1009 二叉搜索树.cpp // Jobdu // // Created by PengFei_Zheng on 09/04/2017. // Copyright © 2017 PengFei_Zheng. All rights reserved. // #include <stdi

二叉搜索树(二叉排序搜索树)

二叉搜索树 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4117    Accepted Submission(s): 1802 Problem Description 判断两序列是否为同一二叉搜索树序列 Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接下去一行是一个序列,序列长度

二叉搜索树//二叉搜索树

题目: 二叉搜索树 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6945    Accepted Submission(s): 3077 Problem Description 判断两序列是否为同一二叉搜索树序列 Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束.接下去一行是一个序列,序列

将一行向量转为每行相同的矩阵

比如:原本向量为[1,2,3,4]为了得到维度为(3,4)的矩阵即[[1,2,3,4][1,2,3,4][1,2,3,4]] 原理:进行矩阵加减运算的时候会自动对齐维度 方法: txt_pre=[1,2,3,4]zero_mat=np.zeros((3,4))print((txt_pre+zero_mat).shape)#输出(3,4) 原文地址:https://www.cnblogs.com/kjkj/p/11881160.html

hdoj-3791-二叉搜索树(二叉搜索树模板题)

#include <cstring> #include <cstdio> #include <iostream> using namespace std; typedef int ElemType; template<typename T> int getArrayLength(T &array) { return (sizeof(array) / sizeof(array[0])); } typedef struct node{ ElemType

叉乘实现角色和敌人的位置判断(左上,左下,右上,右下)

我们常常在游戏中遇到这种问题. 比如敌人遇到了主角就会朝他旋转过去. 或者判断主角在左边还是右边等等 效果图:   向量A,B的叉乘获得一个垂直于他们的C向量,我们可以通过这上面的值来判断敌人四个区域的某一区   代码的实现: using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public Transform a; public Transform b; public TextMesh

HDU 2108 Shape of HDU (判断是不是凸多边形 叉乘)

Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5575    Accepted Submission(s): 2531 Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,“徐队”的称呼逐渐被“徐总”所取代,海东集团(HDU)也算是名副其实了.

在A*寻路中使用二叉堆

接上篇:A*寻路初探 GameDev.net 在A*寻路中使用二叉堆 作者:Patrick Lester(2003年4月11日更新) 译者:Panic 2005年3月28日 译者序:     这一篇文章,是"A* Pathfinding for Beginners.",也就是我翻译的另一篇文章<A*寻路初探>的补充,在这篇文章里,作者再一次展现了他阐述复杂话题的非凡能力,用通俗易懂的语句清晰的解释了容易让人迷惑的问题.还是那句话,如果你看了这篇文章仍然无法领会作者的意图,那