- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
形象解说四元数
形象解说四元数
By daode1212 2016-03-16
前言:
四元数(Quaternions)是由爱尔兰数学家哈密顿(William Rowan Hamilton,1805-1865)在1843年发明的数学概念。四元数四元数的乘法不符合交换律(commutative law)
四元数理论创立人:William Rowan Hamilton,1805-1865
一,四元数的几种表示形式:
OpenTK中,为建立四元数提供了多种方式:
public Quaternion(float x, float y, float z, float w);
public Quaternion(OpenTK.Vector3 v, float w);
例如用Quaternion(float x, float y, float z, float w):
OpenTK.Quaternion q = new OpenTK.Quaternion(0.51f, -0.71f, 0.31f, 0.7071f);
1, 四元数建构方式一:
?? ?i^2=j^2=k^2=-1?? ?ij=-ji=k,jk=-kj=i,ki=-ik=j
q=w+ix+jy+kz,i,j,k分别对应轴向量X(1,0,0),Y(0,1,0),Z(0,0,1)
2, 四元数建构方式二:转动角之半+轴向量的方向余弦:
3, 四元数建构方式三:转动角之半+单位球面上的点:
二,四元数的OpenTK中有:
1, q.Length;
返回值是:
2, q.LengthSquared;
返回值是:,与点积(内积)q·q是一致的。
三,四元数的
四元数建构方式二、方式三在这方面有明显优势。
四,四元数的S=(q+q*)/2;
2、四元数的向量部:V=(q-q*)/2;
五,四元数的四元数的bool b = q2.Equals(q1);
七,四元数的 Multiply( q,*)
加法的定义:
public static OpenTK.Quaternion Add(OpenTK.Quaternion left, OpenTK.Quaternion right)
减法的定义:
public static OpenTK.Quaternion Sub(OpenTK.Quaternion left, OpenTK.Quaternion right)
乘法有二种:
public static OpenTK.Quaternion Multiply(OpenTK.Quaternion quaternion, float scale)
public static OpenTK.Quaternion Multiply(OpenTK.Quaternion left, OpenTK.Quaternion right)
注意,乘法没有交换律:q2*q1 != q1*q2
乘法的定义和数学算法如下:
例如:
四元数与标量相乘,是对原四元数在正方向或反方向进行伸缩:
OpenTK.Quaterniond q2 = OpenTK.Quaterniond.Multiply(q1, 0.5f); //q1*0.5
四元数与四元数相乘,是两种旋转的叠加作用:
OpenTK.Quaterniond q3 = OpenTK.Quaterniond.Multiply(q2, q1); //q2*q1
q3 = q1·q2 =
(a1a2-b1b2-c1c2-d1d2) +????? i(a1b2+b1a2+c1d2-d1c2) +????? j(a1c2+a2c1+b2d1-d2b1) +????? k(a1d2+d1a2+b1c2-c1b2)
四元数与四元数相乘是不容易心算的游戏,就方向的变化也很难摸准,见下例:
//向量连乘效果图:
private void QuatMults() //向量连乘效果图
{
qs[0] = new OpenTK.Quaternion(.5f, -.6f, -.7f, .4f);
DwQuat(qs[0], Color.FromArgb(255, 255, 0), 4f);
qs[1] = new OpenTK.Quaternion(-.6f, -.5f, .4f, .6f);
DwQuat(qs[1], Color.FromArgb(0, 255, 255), 4f);
for (int i = 0; i 255; i++)
您可能关注的文档
- 中考政治专题复习精华.docx
- 如何成为第一批在微信里直播的人.docx
- 建筑设计常规.doc
- 建筑设计院奖金分配办法.doc
- 建筑试验培训试题.doc
- 建行【行测部分】标准卷含答案doc.doc
- 建设工程施工安全标准化管理资料七doc.doc
- 建设项目职业卫生“三同时”试题及答案.doc
- 建设项目职业病危害风险分类管理.docx
- 建造合同简介.doc
- 第一单元++新闻写作+++课件+++2025-2026学年统编版语文八年级上册.pptx
- 专题01+赏析标题-2026年中考语文跟着课文学阅读(全国通用).pptx
- 中考语文一轮复习:《非文学性文本阅读情境化题型探究》课件.pptx
- 整本书阅读《红岩》:铁窗烈火铸忠骨++狱岭寒霜砺赤心(情境任务教学课件)语文统编版2024八年级上册.pptx
- 2026届高考语文复习之病句辨析与修改复习.pptx
- 第四讲:论点之翼——分论点的分解艺术与思维建构+课件++2025-2026学年统编版高一语文必修上册.pptx
- 2026届高考语文复习:2025年诺贝尔奖获得者及写作素材运用示例+课件.pptx
- 2026届高考语文复习:“敬自己”领航联考现象类作文讲评+课件.pptx
- 2.1《长征胜利万岁》课件+2025-2026学年统编版高二语文选择性必修上册.pptx
- 8.3《党费》课件+2025-2026学年统编版高二语文选择性必修中册.pptx
最近下载
- 新闻记者职业资格《新闻采编实务》考试题库(含答案).docx VIP
- “十五五”消防事业发展规划.docx VIP
- 江苏开放大学宪法学060856第二次平时作业.docx VIP
- 一种利福霉素S-Na盐的合成方法.pdf VIP
- 东南大学领导力素养期末测试题及答案.docx VIP
- NBT 47044-2014 电站阀门标准规范.docx
- 中医通过八纲辨证看周围血管疾病!.pptx VIP
- 2020年秋学堂在线《C++语言程序设计基础(2020秋)》课后章节测试答案精品.pdf VIP
- 信号处理入门学习总结(傅里叶分析.ppt VIP
- 2025年秋新统编版道德与法治八年级上册全册同步教案.docx
文档评论(0)