首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【笔记】《计算机图形学》(16)——计算机动画

一种替代方法是使用欧拉角(Euler-angle)进行插值, 欧拉角将一个物体旋转表示为分别绕xyz三轴旋转组合, 这样我们通过分解和组合旋转角度就可以用旋转矩阵来实现旋转插值....欧拉角旋转有一个常见问题是著名万向节死锁问题(常平锁定, 框架自锁; Gimbal Lock), 下图是这种情况典型情况....由于欧拉角旋转是首先按照世界坐标系中一个轴进行旋转, 这个旋转改变局部其余两个轴朝向, 然后再依次绕局部轴进行旋转(见下图常平示例图, 这里是依YZX顺序)....://www.bilibili.com/video/BV1Lt411U7og 而关于四元详细数学计算可以参考下面Krsjt笔记: 四元与三维旋转 https://github.com/Krasjet...四元乘法法则 有了这个对应表后我们就可以以向量运算方式对四元进行运算了, 看表中有颜色区域我们很容易意识到四元乘法并不满足交换律. 如果一个四元s项为0, 称为纯四元.

1.6K30

用 Mathematica 玩转环面

这里我们考虑一种特殊曲线:内摆线。内摆线定义如下,它将是我们这一节讨论,不同于圆环绕曲线。 ? 在这一小节,我们只讨论改变 A 情形,下一节“环面上曲线”会讨论推广改变 B 情形。...这个函数里 k 表示了截面是正 k 边形,n 则表示自身旋转扭曲程度,相比原来多旋转了 n/k 圈。下图展示了 k 分别为 3、4、5 时环面: ?...所用方法和一开始我们从圆得到环面是一样:找到沿着曲线一个局部标,然后就可以得到参数方程了。幸运是,微分几何中提供了空间曲线一种局部标:Frenet 。...要计算这种,先要知道是曲线一阶和二阶导数,这可以说是 Mathematica 强项: ? ?...有了一阶和二阶导数就可以得到组成 Frenet 三个单位向量,进而定义上述"弹簧"管状版本函数: ? 我们用和之前相似的做法,可以到上述管状曲线 GIF 动画: ? ? ?

2.7K61
您找到你想要的搜索结果了吗?
是的
没有找到

坐标转换与姿态描述

,按照不同轴顺序进行旋转得到欧拉角也是不同旋转变换可以归结为若干个沿着坐标轴旋转组合组合个数不超过三个并且两个相邻旋转必须沿着不同坐标轴,总共有12种旋转方式,分别是XYZ、XZY、XYX...而航空专业通常采用旋转方式是ZYX顺序,下图是一飞机按照ZYX组合进行旋转产生欧拉角过程,其中,ψ为偏航角,θ为俯仰角,φ为滚转角。 ?...所以下图陀螺仪中运动那个方向其实是被锁住了,你在俯仰角达到±90°时就不可能有这个方向运动,这是因为当你俯仰角达到±90°时,你改变了第三个要旋转方向,它与你第一次旋转Z轴重合了,所以在空间中失去了一个自由度...这说明你改变φ和ψ值都是一个效果,而矩阵第一行和最后一列始终是保持不变,这说明无论你怎么改变φ和ψ,你旋转轴一直是Z轴不变,要想改变φ和ψ有不同效果,你只能是去改变θ值,以上就是用数学方法来解释为什么俯仰角在...基本运算规律 四元是由1个实数加上3个复数组合而成,通常可以表示成w+xi+yj+zk或者(w,(x,y,z)),其中w、x、y、z都是实数,而i^2 = j^2 =k^2 = -1, i^0 = j

2.3K20

Gimbal Lock欧拉角死锁问题

\alpha 和改变 \gamma 值,得到效果是一样。...或者说,两个向量之间变换轨迹不是唯一。 Gimbal平衡环死锁 在参考链接2中,作者自己画了一个平衡环用于表示欧拉角死锁问题。非常直观,本章节中图片都来自于参考链接2。...但是在后来长期应用中,人们发现了四元在几何旋转表示中独特优势。在蛋白质折叠软件AlphaFold2和MEGAProtein中都使用到了四元,用于表征分子结构三维旋转。...关于四元介绍材料,可以参考一下参考链接3、4,分别是英文版和中文翻译版。 要理解四元,至少需要了解复数,可以把四元当做是复数一个推广形式。...在最前面的章节中,我们讲Gimbal Lock欧拉角死锁问题时,提到了一个比较重要点:在特定条件下(如绕一个指定旋转90度),两个空间向量中间可以对应无穷多个欧拉角组合

1.2K30

【提升效率】新手最容易忽略6个AI“冷技巧”

面板,点击面板下方图标,出现下拉菜单,然后点击“色簿”\ PANTONE+ Solid Coated(这里可选择自己需要查找色卡类型) 第三步,色卡类型选好后,单击“颜色参考”面板推荐颜色,然后切换到...第五技: 使用吸管工具复制样式 关于吸管工具用法,这里只介绍它与快捷键组合功能。 与Shift键组合:仅提取目标颜色并应用到当前属性,以下图为例,红色矩形提取黑色来填充而不影响描边。...与Alt键组合:提取并应用当前软件设置属性(很重要,提高效率必备良药) 按住Alt键后,吸管图标会变成这样 与Alt键组合可以提取并应用对象属性很多,比如填充/描边颜色,文字字体字号等 第六技...文字、区域文字、路径文字、竖向文字、竖向区域文字、竖向路径文字 【T】 椭圆、多边形、星形、螺旋形 【L】 增加边、倒角半径及螺旋圈(在【L】、【M】状态下绘图) 【↑】 减少边、倒角半径及螺旋圈...将所选对象变成参考线 【Ctrl】+【5】 将变成参考线物体还原 【Ctrl】+【Alt】+【5】 贴紧参考线 【Ctrl】+【Shift】+【;】 显示/隐藏网格 【Ctrl】+【”】 应用敏捷参照

1.6K30

行列式几何意义,计算公式_n阶行列式几何意义

以二维空间为例,旋转变换就是一种线性变换(不了解旋转变换请看上条推送),其对应矩阵叫旋转矩阵: 该变换作用在二维空间任一个向量,相当于将该向量逆时针旋转θ角度,于是该变换可以把整个二维空间旋转θ...全排列: 由高中数学排列组合可知,n个元素排列种数为n阶乘。比如三个1、2、3,则有六种组合:123、132、231、213、321、312。...上面的解法是看该元素前面有几个比它大,还有另一种解法,看该元素后面有几个比它小,还是上个题,可以这样算: 对于3,其后面有两个数比它小,分别是1、2,所以其逆序数为2; 对于2,其后面只有一个比它小...,除了系数外,都可写为 其中第一个下标(行)是标准次序123,p1、p2、p3 是1、2、3某个排列,前文提到,这三个排列有六种,所以得出上式右侧六个乘积项,而系数计算方法为: p1、p2...所以,各项系数可以表示为(-1)t ,其中t是该项各元素列排列逆序数。 本文以三阶为例,高阶依此类推。

61520

OpenGL坐标系及坐标转换

世界坐标系以屏幕中心为原点(0, 0, 0),在OpenGL中用来描述场景坐标。比如使用这个坐标系来描述物体及光源位置。世界坐标系,是不会被改变。...OpenGL中几种变换 视点变换 视点变换确定了场景中物体视点位置和方向,就向上边提到,它象是 在场景中放置了一照相机,让相机对准要拍摄物体。...投影变换 经过模型视景转换后,场景中物体放在了所希望位置上,但由于显示器只能用二维图象显示三维物体,因此就要靠投影来降低维(投影变换类似于选择相机镜头)。...缺省时,参数值即(0, 0, winWidth, winHeight) 指的是屏幕窗口实际尺寸大小。所有这些值都是以象素为单位,全为整型。...参考博文

3.9K70

欧拉角_欧拉角 图

欧拉角 来源 https://www.zhihu.com/question/47736315 参考 https://zhuanlan.zhihu.com/p/45404840 为何要引入四元?...2.1 什么是万向节(Gimbal) 平衡环(英语:Gimbal)为一具有枢纽装置,使得一物体能以单一轴旋转。...由彼此垂直枢纽轴所组成一组三只平衡环,则可使架在最内物体维持旋转轴不变,而应用在船上陀螺仪、罗盘、饮料杯等用途上,而不受船体因波浪上下震动、船身转向影响。...: 万向节死锁根源在于欧拉角定义方式 万向节死锁结果,不是说不能旋转了,而是会导致旋转不自然 要规避万向节死锁,需要选择合适旋转顺序(有12种旋转顺序) 4 总结 在编程中很难规避死锁问题,所以现在很多时候都使用四元实现旋转...,四元那又是另外的话题了。

68130

逆天PPT技巧:如何画“球”,要不先来个蛋白酶体试试!

图3右下用红色虚线模拟PPT里面的智能参考线,使对称位置球对齐。 ? 图3 球画法及排列方式 通过“右键-置于顶层/置于底层”,调整球先后顺序,使之符合透视原理(图4左)。...图4 调整各个球体层次顺序 选中8个球作为一个整体,复制两次,拖动到合适位置;选中其中一组8个球,右键-设置形状格式-填充-渐变填充,改变渐变光圈里面的色(下图红圈表示)颜色,中间改成一个浅橙色,最右边改成橙色...如果不喜欢紫棕色、橙色和黄色配色,我们改变一下颜色配置,既可以获得其他颜色蛋白酶体,我们这里画了一个蓝色系蛋白酶体。 ?...这里为了省事直接画椭圆,几个椭圆调整方向组合成一个高光区域。...绘制好一个调节单元之后,复制粘贴并旋转180°,作为另一个调节单元,但是在旋转之后另一个调节单元高光区域已经发生变化,所以要根据实际进行修改,最后把两个调节单元和中间核心单元拼接在一起就是一个蛋白酶体

2.6K20

Solidworks(一)

---- 零件篇 前言:我学习是2021版Solidworks,不过应该都大差不差,做一个简单学习记录,操作都很琐碎,不及下次就忘喽~ ---- 常用指令: 按住滚轮 旋转图像 回归原视图面:...延伸 延伸算是剪裁实体模块下一个小功能 按住shift键+鼠标延伸线段 ---- 实体 实体相关操作需要退出草图 实体显示类型 点击下图中显示类型按钮 常用两种显示方式: 带边线上色 线图...(即投影面) 3.拉伸实体: 从:等距 方向:1.先点该栏目下左上角切换方向 2.选择所需即可 eg:给定深度 转换实体引用+拉伸实体 ---- 旋转实体 特征——旋转凸台/基体(指定旋转轴即可)...扫描 将草图轮廓沿着另一线性草图扫描出来实体 等距实体 同心圆类似的道理 尺寸标注 点击智能尺寸进行标注,输入指定尺寸即可 从动尺寸 相当于因变量,只能随其他长度改变改变;若想自主改变长度,则需点击尺寸标注...,在其他里将从动对勾取消 驱动尺寸 相当于自变量,可以自主改变 拉伸切除 同上(自定义切除深度即可) 旋转切除 同上(选择旋转轴,与切除深度等) 尺寸标注 ---- 自建基准面 特征栏——参考几何体—

1.6K20

Solidworks(一)

零件篇 前言:我学习是2021版Solidworks,不过应该都大差不差,做一个简单学习记录,操作都很琐碎,不及下次就忘喽~ 常用指令: 按住滚轮 旋转图像 回归原视图面: 3.点击草图文件 4...延伸 延伸算是剪裁实体模块下一个小功能 按住shift键+鼠标延伸线段 ---- 实体 实体相关操作需要退出草图 实体显示类型 点击下图中显示类型按钮 常用两种显示方式: 带边线上色 线图...(即投影面) 3.拉伸实体: 从:等距 方向:1.先点该栏目下左上角切换方向 2.选择所需即可 eg:给定深度 转换实体引用+拉伸实体 旋转实体 特征——旋转凸台/基体(指定旋转轴即可) 扫描 将草图轮廓沿着另一线性草图扫描出来实体...等距实体 同心圆类似的道理 尺寸标注 点击智能尺寸进行标注,输入指定尺寸即可 从动尺寸 相当于因变量,只能随其他长度改变改变;若想自主改变长度,则需点击尺寸标注,在其他里将从动对勾取消 驱动尺寸...相当于自变量,可以自主改变 拉伸切除 同上(自定义切除深度即可) 旋转切除 同上(选择旋转轴,与切除深度等) 尺寸标注 自建基准面 特征栏——参考几何体——基准面 圆角和倒角 特征——圆角——选择边线

61450

当车削加工时出现振刀打刀现象该如何处理?

一般切削点离夹持点距离,如果长径比超过3的话就容易振刀,可以考虑改变下工艺; 薄壁零件外圆车削; 箱形部品(如钣金焊接结构件)车削; 超硬材质切削。...二、排查机床及装卡部位原因 查找一下你活顶尖是不是伸出过长,轴承是不是良好。里面有平面滚动轴承组合。...实在怀疑,可以用死顶尖换用,注意中心孔牛油润滑; 查找一下你尾顶夹紧情况,夹紧条件下是不是左右里、上下里与机床主轴不同心; 把大中小拖板都紧一些,尤其是中拖板; 如果是机床部分你暂时无法去检查...目前应用于加工现场中有一些比较具体而实用方法: 减轻造成振动部份工作重量,惯性越小越好; 针对振动最大地方予以固定或夹持,如中心、工作保持器等; 提高加工系统刚性,例如使用弹性系数较高刀柄或使用加入动态减振器特殊抗震力...,以吸收冲击能量; 从刀片与工作旋转方向下功夫; 改变刀具外型与进角,刀具鼻端半径越小越好,以降低切削阻力。

2.7K50

自定义View(一)-动画- XML生成View动画

百分、百分p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件左上角加上自己宽度50%做为起始点...android:fromYDelta 起始点Y轴从,可以是数值、百分、百分p 三种样式; android:toXDelta 结束点X轴坐标 android:toYDelta...translatel.gif rotate-旋转变化 android:fromDegrees 开始旋转角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数 android:toDegrees 结束时旋转角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数 android:pivotX 缩放起点X轴坐标,可以是数值、百分、百分...rotate.gif set-组合动画 这个前面没有提到,这也是一个动画属性,不过他没特殊独有属性,只有继承基类Animation共有属性,他特点就是可以将多个动画组合在一起。如下: <?

81910

【技术】SPSS因子分析

小兵也凑个热闹,参考《SPSS统计分析》书中案例,运用SPSS进行因子分析,作为我博客 SPSS案例分析系列 第三篇文章。...【三、解决方案】 1、spss因子分析 同一指在不同地区是不同,用单一某一个指标难以对12个地区进行准确评价,单一指智能反映地区某一方面。所以,有必要确定综合评价指标,便于对比。...但是可以通过可观测到变量获得。前面说到,因子分析模型是原始变量为因子线性组合,现在我们可以根据回归方法将模型倒过来,用原始变量也就是参与分析变量来表示因子。从而得到因子得分。...【四、结果解释】 1、验证数据是否适合做因子分析 主要参考kmo结果,一般认为大于0.5,即可接受。...同时还可以参考相关系数,一般认为分析变量相关系数多数大于 0.3,则适合做因子分析;从 KMO=0.575 检验来看,不是特别适合因子分析,基本可以通过。

1.9K90

CSS样式更改——2D转换

前言 上篇文章主要讲述了CSS样式更改中裁剪、Z-Index、清除、改变元素特性基础知识,这篇文章我们来介绍下CSS样式更改中2D转换基础用法。...); /* Safari and Chrome */ -o-transform:matrix(1.3,0.32,1.32,0.22,0.54,0.65); /* Opera */ } 定义6个矩阵...测试 rotate3d(x,y,z,angle) 定义 3D 旋转 rotateX(angle) 定义沿着 X 轴 3D 旋转 rotateY(angle) 定义沿着 Y 轴 3D 旋转 rotateZ...(angle) 定义沿着 Z 轴 3D 旋转 其它都是差不多用法,不过还有一个用法不同就是: perspective(n) 为3D转换元素定义透视视图。...参考文档:W3C官方文档(CSS篇) 总结 这篇文章主要介绍了CSS样式更改篇中2D转换基本设置,希望对大家学习有帮助。

99710

数据结构(5):数组

数组与线性表关系:数组是线性表推广。一维数组可视为一个线性表;二维数组可视为其元素也是定长线性表线性表,以此类推。数组一旦被定义,其维和维界就不再改变。...因此,将非零元素及其相应行和列构成一个三元组(行,列,值)。然后再按某种规律存储这些三元组。稀疏矩阵压缩存储后便失去了随机存取特性。...这里我选择两个比较简单应用:有效独以及旋转图像。 ? 有效独 ? 判断一个 9×9 独是否有效,只需要根据以下规则,验证已填入数字是否有效即可。...独部分空格内已填入数字,空白格用'.'表示。 说明: 一个有效独(部分已被填充)不一定是可解。 只需根据以上规则,验证已填入数字是否有效即可。...给定数独永远是 9×9 形式。 思路 ? 一个简单解决方案是遍历该 9×9 独三次,以确保: 行中没有重复数字。 列中没有重复数字。 3×3 子独内没有重复数字。

90410

花里胡哨背景渐变

at position:可选,指定径向渐变起始位置,可以是具体像素值或比例值,或者关键字 top、 bottom、 left、 right,或者它们组合形如 top left。...color-stop-list:色组,表示径向渐变颜色和渐变位置。可以是一个或多个颜色值,以及它们位置百分比,形如 color stop....实际生产代码中已经与设计师沟通去掉了旋转角度,以左上角为圆心,100rpx 为纵轴,父盒子宽度为横轴径向渐变。...crimson, cyan); 这个表示旋转 0.5 圈后,从绯红到青色一个渐变,模拟了一个烟囱浓烟污染天空效果。...blue 0, black 8%); 看到这里,我想到一个好玩:我们动态改变结束色值位置,会是什么样效果呢?

27521

Deep Learning(深度学习)神经网络为啥可以识别?

注:用“空间”二字是指被分类并不是单个事物,而是一类事物。空间是指这类事物所有个体集合。 升维/降维 放大/缩小 旋转 平移 “弯曲” ?...若确定 Y是三维向量,就会形成如下网络形状 (神经网络每个节点表示一个维度)。通过改变权重值,可以获得若干个不同物质。右侧节点数决定了想要获得多少种不同新物质(矩阵行数)。 ?...若减少右侧一个节点,并改变权重 W 至(2),那输出Y就会是两个新物质, [ O_{0.3} ;CO_{1.5}]。...比如下图就是经过放大、平移、旋转、扭曲原二维空间后,在三维空间下就可以成功找到一个超平面分割红蓝两线 (同SVM思路一样)。 ? 上面是一层神经网络可以做到空间变化。...如果我们完全掌握一飞机是如何从分子开始一层一层形成,拿到一堆分子后,我们就可以判断他们是否可以以此形成方式,形成一飞机。

68060

一文搞懂 星座图 原理!

以上图中 16 QAM 格式为例,每个符号表示着四个二进制位一种可能组合。对于这四个二进制位来说,总共可能有16个组合。换言之,每个符号表示着四位。...符号率等于比特率除以每个符号可以传输比特。例如,在 QPSK 中,每个符号表示两个比特。QPSK 符号率就是其比特率一半。信号带宽和符号率成正比。...在极坐标中,矢量表示正弦波峰值电压幅度对于相位改变关系。相位旋转360度表示一个完整频率周期。请注意,相向符号提供了一种表示正弦波相位随时间变化便捷方法。...其中,幅度:是一个绝对值 相位:相对于一个参考值(载波)。 幅度:是一个绝对值 相位:相对于一个参考值(载波) 上图中正弦波表示了一种信号幅度随时间变化过程。矢量不能直接提供任何频率信息。...事实上,我们测量矢量相对于载波信号参考相位。这意味着,矢量仅在频率不同时会发生旋转

71610

第4章-变换-4.0

4.0 变换 要是愤怒航船改变了方向 围绕着你沉睡脑袋,和身体 那就永远不必去害怕 穷苦世界抽象风暴之暴行 --罗伯特·佩恩·沃伦 变换是一种采用点、向量或颜色等实体并以某种方式转换它们操作...此函数称为缩放变换,因为它会更改对象缩放(大小)。旋转变换是另一种线性变换,它围绕原点旋转向量。 缩放和旋转变换,实际上所有三元素向量线性变换,都可以用 矩阵表示。...将函数保持在迄今为止使用简单形式中,很难轻松地将它们组合起来。 可以使用仿射变换来组合线性变换和平移,通常存储为 矩阵。仿射变换是先执行线性变换然后再进行平移变换。...仿射矩阵主要特征是它保留了线平行度,但不一定保留了长度和角度。仿射变换也可以是单个仿射变换任何级联序列。 本章将从最基本仿射变换开始。本节可以看作是简单转换参考手册”。...然后描述更专业矩阵,然后讨论和描述四元,这是一种强大变换工具。然后是顶点混合和变形,这是表达网格动画两种简单但有效方法。最后,描述了投影矩阵。

88270
领券