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

第4章-变换-4.1-基础变换

请注意,向量 不受乘以 的影响,因为方向向量无法平移。相比之下,点和向量都受到其余仿射变换的影响。平移矩阵的逆是 ,即向量 的反。 图4.1....当对 和 也应用相同的想法时,我们得出基矩阵的变化如上。 4.1.7 法向量变换 单个矩阵可用于一致地变换点、线、三角形和其他几何图形。相同的矩阵也可以变换沿着这些线或三角形表面上的切向量。...或者,要创建一个可以产生归一化结果的正常变换矩阵,可以将原始矩阵的 左上角除以这个比例因子一次。 请注意,在变换后,表面法线从三角形导出的系统中,法线变换不是问题(例如,使用三角形边线的叉积)。...根据有关变换的可用信息,可以使用以下三种计算矩阵逆的方法之一: 如果矩阵是单个变换或具有给定参数的简单变换序列,则可以通过“反转参数”和矩阵顺序轻松计算矩阵。例如,如果 ,则 。...有关如何使用伴随来反转变换法线,请参见第4.1.7节。 优化时也可以考虑逆向计算的目的。例如,如果逆是用于变换向量,那么通常只需要在矩阵的 左上部分(见上一节)求逆。

4K110

JAX 中文文档(十三)

diagonal(x, /, *[, offset]) 提取矩阵或矩阵堆栈的对角线元素。 eig(a) 计算方阵的特征值和特征向量。...n (int, 可选) – 输出的转换轴的长度。如果 n 小于输入的长度,则对输入进行裁剪。如果大于输入,则用零填充。如果未给出 n,则使用由 axis 指定的轴的输入长度。...有关填充问题的注释,请参阅注释。 axis (int, 可选) – 计算逆离散傅里叶变换的轴。如果未给出,则使用最后一个轴。...如果 n 大于输入长度,则用零填充输入。如果未给出 n,则使用由 axis 指定的轴上的输入长度。 axis (int, 可选) – 执行 FFT 的轴。如果未给出,则使用最后一个轴。...norm({“backward”, “ortho”, “forward”},可选) 返回: out – 通过轴指示的轴或由参数部分上述 s 和 a 的组合截断或零填充的输入,最后一个转换轴的长度将为

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

    线性代数--MIT18.06(十四)

    线性代数--MIT18.06(十三):第一部分复习 14....以直角三角形为例,在二维空间,正交也叫垂直。从向量角度去理解的话,直角三角形可以写成 ? 。 根据勾股定理,我们知道直角边的长度的平方和为斜边的平方,即 ?...,对于向量来说则就是直角向量的长度的平方和为斜边向量的长度的平方,因此我们就可以得出 ? 即表示两个向量正交。 因为对于向量来说 ? 就是该向量的长度的平方,即可以将上式表示为  ?...是否能够填充整个 ? 空间。从维度和正交的角度来看, ? 空间为 ? 中的 ? 空间, ? 空间为 ? 中的 ? 空间,并且两个空间正交,他们是可以构成整个 ?...而我们也知道基向量之间彼此正交,两个空间彼此正交,因此现在的系数矩阵是可逆的,所以 ? 总是在该系数矩阵的列空间之中,即该问题的答案为--可以。 PS: 1.

    79020

    OpenGL-投影和摄像机

    ,超出视野范围的部分就无法被观察到(人总不可能观察到耳朵两边和后脑勺的物体吧。)...说明:视点为摄像机的位置;离视点较近,垂直于观察方向向量的平面为近平面,离视点较远,垂直于观察方向向量的平面为远平面, 代码调用:使用Matrix.orthoM()来设置正交投影。.../** * @param m 生成的投影矩阵,float[4*4] * @param mOffset 填充时候起始的偏移量 * @param left 近平面left边的...当up向量为X正方向时,正如我们向右90度歪着脑袋去看这个三角形,看到的三角形就会是向左旋转了90度的三角形。...物体空间->世界空间 乘以物体变换矩阵,比如将三角形先旋转30°再平移(0, 1, 2),这样按照操作顺序生成的矩阵就是物体的变换矩阵。

    3.3K121

    自注意力中的不同的掩码介绍以及他们是如何工作的?

    注意力的填充掩码 在使用填充掩码(padding mask)计算注意力之前,我们需要将掩码 M 添加到等式中: 我们已经有了QKᵀ和V,但是M是什么样的呢?...这个令牌出现的原因是,句子的长度是变化的而矩阵并不能处理不同的大小。所以为了把很多句子放在一起作为一批处理,可以在较短句子中添加令牌,使所有句子的长度相同。...所以D对任何其他元素都没有影响,这意味着任何PAD令牌(这里的D)对序列的其余部分都没有影响。这就是使用对填充进行掩码的原因:不希望它影响序列中的任何其他令牌。...但是矩阵最后一部分的结果向量只是 V 的 1/4 加权分量的组合。这会导致 D 丢失其自身的所有信息,这也意味着结果向量中 D 的新表示将是 D 的的一个糟糕的表示方式。...唯一的变化与掩码有关。 前瞻掩码的矩阵在右上角有一个三角形 -∞,在其他地方是 0。让我们看看这如何影响权重矩阵的 softmax。

    1K10

    plot函数的用法_ezplot函数

    matlab的图形绘制是非常重要的一种功能,所有关于数据分析挖掘方面一定会用到此项功能。 在我们开始第三章数据可视化之前,必须先把plot函数必须弄得清清楚楚才行,下面让我们看看关于它的一切吧!...一.plot 首先,plot有几种形式 (1)plot(X,Y):创建数据Y相对于中相应值X的二维折线图 其中,若X,Y是向量,长度必须相等,图是Y对X的 若X,Y是矩阵,大小必须相等...,图是列Y对与列X的 若X或Y一个是向量,一个是矩阵,矩阵必须具有一定的尺寸,使得其尺寸之一等于向量的长度。...如果矩阵行的数量等于向量长度,则该plot函数将绘制每个矩阵列与向量的关系。如果矩阵列的数量等于矢量长度,则该函数将绘制每个矩阵行与矢量的关系。...,Xn,Yn,LineSpecn) 设置每条线的线型,标记类型和颜色 (4)plot(Y)创建数据的二维折线图Y与每个值的索引 若Y是向量,则x轴刻度范围为1到Y的长度那么大 若Y是矩阵,图像是列Y和行号的关系

    1.1K20

    【笔记】《游戏编程算法与技巧》1-6

    尽管我们无法得到当前帧的时间, 但是可以依据上一帧甚至之前的多帧来预测当前帧可能的耗时, 尽量保证游戏在各种帧率下都能正常运行, 而不是像早期游戏一样依赖于CPU频率或者显示器刷新率等 与物理有关的游戏当帧率波动的时候按照不稳定的增量时间模拟出的结果可能产生很大的误差...结合原始的向量乘法公式来记忆即可 向量长度的平方就是用自己与自己点乘 求反射向量 与向量有关的问题画图会比较好理解, 求反射向量需要有入射向量本身与反射点的法线 首先将入射向量反向然后与法线点乘, 得到入射向量在法线方向上的投影长度...这里都按照行向量表示 3D中3x3矩阵只能表示向量的线性变换(旋转, 缩放, 错切), 但是无法表示非常常用的平移变换(非线性), 因此引入了一维(w)表示平移, 称为仿射变换....大多数时候三维旋转使用xyz三个轴固定下的轴对齐欧拉角旋转矩阵连乘得到....屏幕坐标系: 将投影后的坐标系(-1, 1)进一步移动和缩放到对应屏幕像素分辨率的坐标系上, 供给像素着色器的处理 投影变换 正交投影: 最简单的投影矩阵, 由右侧的平移部分和左侧的缩放部分组成, 注意这里是基于列向量的

    4.2K31

    挑战NumPy100关,全部搞定你就NumPy大师了 | 附答案

    创建一个5x5矩阵, 其对角线下方的数值正好是1,2,3,4 (★☆☆) ? 19. 创建一个8x8矩阵并用棋盘图案填充它 (★☆☆) ? 20....使用5种不同的方法提取一个随机数组里的整型数据部分 (★★☆) 37. 创建一个5x5矩阵,行值从0到4 (★★☆) 38. 已知一个生成器函数, 可以生成10个整数....使用矩阵乘法并把(纵列)向量当作n×1 矩阵,点积还可以写为: a·b=a^T*b ,这里的a^T指示矩阵a的转置 70....设有10个三元组(例如[x1, y1, z1]), 每个三元组代表一个三角形. 这些三角形可能还有共同的顶点. 现在需要找出组成这10个三角形的所有线段的集合(还要去重哦) (★★★) 74....设有一个任意数组,编写一个函数,以给定元素为中心, 提取具有固定形状的子部分(必要时可以用固定值来做填充)(★★★) ? 81.

    4.9K30

    游戏开发中的向量数学

    正常化 归一化向量意味着将其长度减小到,1同时保留其方向。这是通过将其每个组成部分除以其大小来完成的。...因为这是这样一个共同的操作, Vector2并Vector3提供一种用于归一化的方法: a = a.Normalized(); 警告 由于规范化涉及除以向量的长度,因此无法规范化length的向量0...这意味着我们可以使用点积来告诉我们有关两个向量之间的角度的一些信息: 使用单位矢量时,结果将始终在-1(180°)和1(0°)之间。 面对 我们可以利用这一事实来检测一个对象是否面向另一个对象。...如果我们有三角形,ABC则可以使用矢量减法找到两个边AB和AC。使用叉积, 产生一个垂直于两个方向的向量:表面法线。...我们还需要知道要旋转的轴。通过计算当前朝向和目标方向的叉积可以发现。所得的垂直向量是旋转轴。 更多信息 有关在Godot中使用向量数学的更多信息,请参见我后续的文章: 进阶向量数学 矩阵与变换

    1.4K10

    OpenGL光照学习以及OpenGL4环境

    在计算光照的过程中,需要注意三角形的材质、三角形的法线、光源的光线; 法向量也是单位向量。 标准化:把向量的长度化为1.0。...求三角形ABC法向量:给出三角形ABC三个顶点的坐标后,通过GLKVector3Subtract可以算出两个向量AB, AC; 通过GLKVector3CrossProduct 求出AB和AC的叉积,...逆矩阵(Inverse Matrix)和转置矩阵(Transpose Matrix) 无论何时当我们提交一个不等比缩放(注意:等比缩放不会破坏法线,因为法线的方向没被改变,而法线的长度很容易通过标准化进行修复...修复这个行为的诀窍是使用另一个为法向量专门定制的模型矩阵。这个矩阵称之为正规矩阵(Normal Matrix),它是进行了一点线性代数操作移除了对法向量的错误缩放效果。...1、GLFW 如果没有 GLFW,Xcode 创建的项目只能运行 OpenGL 2.1 的版本,而无法使用系统支持的 4.x 版本。 解决方案 环境配置 2、CMake ?

    1.4K70

    OpenGL ES——导入.stl格式的3D模型

    前言 在上一章中,我们使用OpenGL ES绘制了一个平平无奇的三角形。那么如何绘制3D模型呢?其实,在计算机的世界中,所有的3D模型都是由无数的三角平面拼接而成。...顶点坐标 和上一章我们画三角形的原理类似,三角形的三个顶点坐标,将决定三角平面的位置与形态。 法向量 三点只能确定一个三角形的平面,但平面有两面,到底哪一面是对外的,却无法确定。...此时,我们可以设置一个法线,法线的方向就是三角形平面的外面。法线的方向,由xyz三个轴上的分量长度决定。 值得注意的是,如果我们不设置法线,或设置(0,0,0)。...,一个法向量有3个点 // 而绘制模型时,是针对需要每个顶点对应的法向量,因此存储长度需要*3 // 又同一个三角面的三个顶点的法向量是相同的, // 因此后面写入法向量数据的时候...余下的部分都是非常套路的绘制三角形,不再重复分析。 以上,就是通过STL文件,导致三维模型数据并绘制的全过程。 如有问题,欢迎指正。

    1.9K40

    变换(Transform)(1)-向量、矩阵、坐标系与基本变换

    向量的叉积运算注意运算结果的方向与坐标系的类型有关系,如果是左手系需要用左手定则判断结果向量的方向,右手系则要用右手定则。...如果三个叉积向量的方向全部相同,则点 `P` 在三角形内部。 5. 如果三个叉积向量的方向有任何不同,则点 `P` 在三角形外部。...正交基向量不一定是单位向量,即它们的长度可以不是1。很常见的就是坐标轴。标准正交基是一组不仅正交而且归一化的基向量。在标准正交基中,每个基向量不仅相互正交,而且都是单位向量(长度为1)。...暂时无法在飞书文档外展示此内容具体来说,如果给定一个方向 ,首先将其分解为3个标准正交向量,然后构建旋转变换矩阵\mathbf{F} = \begin{bmatrix} \mathbf{f^x} &...M_{3×3}旋转矩阵是正交矩阵(注意,这里说的是非齐次坐标下的矩阵,也就是只有 的部分),而且多个旋转矩阵之间的串联同样是正交的。

    41510

    模拟试题C

    维向量表示一个n维向量 B)将图形的变换统一为图形的坐标矩阵与某一变换矩阵相乘的形式 C)易于表示无穷远点 D)一个n维向量的齐次坐标表示是唯一的 4.在三维齐次变换矩阵中,平移线性变换对应的矩阵元素的最大非零个数是...( ) A)平移变换不改变图形大小和形状,只改变图形位置; B)错切变换虽然可引起图形角度的改变,但不会发生图形畸变; C)旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变...( ) 2.边填充算法适用于硬件实现。( ) 3.多边形裁剪与直线裁剪没有本质上的区别。( ) 4.在种子填充算法中所提到的四向连通区域算法同时可填充八向连通区。...要求使用齐次坐标且点坐标采用行向量形式T= 。 4.实体模型表示大致分为三类,分别是 、 、 。 5.用于表现粗糙表面的纹理映射称为 。...(7分) 4.已知三角形ABC各顶点的坐标A(1,2)、B(5,2)、C(3,5),相对直线y-x-1=0作对称变换,请写出变换的步骤和每一步变换的矩阵。

    2.1K30

    【Udacity并行计算课程笔记】- Lesson 4 Fundamental GPU Algorithms (Applications of Sort and Scan)

    但是现在有个更复杂的问题就是假如有如下图的两个绿色的三角形怎么办?它们都只有一部分可见。为了将它们转化成三角形,我们需要结合边界对它们进行切割从而得到三角形。...也就是说每一个输入三角形都需要创建一个长度为5个输出三角形的输出数组(中间数组),接着对结果进行压缩即可。 但是!!!这样做有如下缺点: 浪费空间 需要扫描整个中间数组,而这个数组过于庞大。 ?...但是很显然实际上很多网页之间是没有关联的,所以最终这是一个非常庞大的稀疏矩阵。 ?...在CSR格式中,我们需要设置三个向量对矩阵进行压缩,分别是: Value Vector(值向量):用于存储非0值,左边的矩阵展开后得到向量 [a b c d e f] Column Vector(列向量...下图给出了详细的步骤 1.首先要将值向量和行指针向量共同创建一个值向量的分段表示,也就是说每一段表示稀疏矩阵的一行,即得到 [ a b | c d e | f ] 2.结合列向量索引值得到需要相乘的向量的索引

    80230

    Unreal随笔系列1: 移动实现中的数学和物理

    向量加法,力和加速度 向量加法可以使用几何的方法, 使用平行四边形法求解....但在后续玩家移动的引擎原生实现中,会对这个ControlInputVector再次标准化,最终输入只是提供了移动的方向。 矩阵转换 在进行下一部分前, 我们看下之前的求单位向量的矩阵转换。...FMath::SinCos(&SP, &CP, (T)FMath::DegreesToRadians(Rot.Pitch)); 正弦就是将弧度角对应的直角三角形中, 该角的对边长度除以斜边长度。...余弦就是将弧度角对应的直角三角形中, 该角的邻边长度除以斜边长度。 4. 反平方根 对于开平方我的印象是很很清楚的,X^(1/2)。 乍看到反平方根时,有点回忆不起其含义。...简单的讲,向量长度就是xx+y*y+z*z(使用勾股定理)开平方。 除以向量长度,就相当于乘以它的反平方根。为什么直接使用反平方根,可能是这样整体的计算量更小些?

    1K20

    R 语言中的矩阵计算

    这种分解法所得到的上下三角形矩阵不唯一,一对上三角形矩阵和下三角形矩阵,矩阵相乘会得到原矩阵。...,所以称为 QR 分解法,与此正规正交矩阵的通用符号 Q 有关。...和 QR 分解法相同, 原矩阵 A 不必为正方矩阵。使用 SVD 分解法的用途是解最小平方误差法和数据压缩。...通过对相同顺序的对称 Pascal 矩阵执行 LU 分解并返回下三角矩阵,可以容易地获得它。 帕斯卡的三角形是由数字行组成的三角形。...第一行具有条目1.每个后续行通过添加前一行的相邻条目而形成,替换为 0,其中不存在相邻条目。pascal 函数通过选择与指定矩阵维度相对应的 Pascal 三角形部分来形成 Pascal 矩阵。

    4.1K20

    【Udacity并行计算课程笔记】- Lesson 4 Fundamental GPU Algorithms

    [image.png] 但是现在有个更复杂的问题就是假如有如下图的两个绿色的三角形怎么办?它们都只有一部分可见。为了将它们转化成三角形,我们需要结合边界对它们进行切割从而得到三角形。...也就是说每一个输入三角形都需要创建一个长度为5个输出三角形的输出数组(中间数组),接着对结果进行压缩即可。 但是!!!这样做有如下缺点: 浪费空间 需要扫描整个中间数组,而这个数组过于庞大。...如果网页R和网页C有链接,那么对应位置上的值不为0。但是很显然实际上很多网页之间是没有关联的,所以最终这是一个非常庞大的稀疏矩阵。...[image.png] 在CSR格式中,我们需要设置三个向量对矩阵进行压缩,分别是: Value Vector(值向量):用于存储非0值,左边的矩阵展开后得到向量 a b c d e f Column...[image.png] 下图给出了详细的步骤 1.首先要将值向量和行指针向量共同创建一个值向量的分段表示,也就是说每一段表示稀疏矩阵的一行,即得到 a b | c d e | f 2.结合列向量索引值得到需要相乘的向量的索引

    1.2K10

    【笔记】《Deep Geometric Texture Synthesis》的思路

    因此这里就将每个边转写为了四个特征:边的长度和其所对的三角形顶点在这个本地坐标系中的坐标表示。如下图每个三角形实际上是储存了三个顶点对应的四元组信息 ?...对称面的卷积需要两部分卷积合作完成: 1*1的卷积来实现有顺序不变性特性的面特征嵌入 考虑了对应三角形面的单环领域信息的对称面卷积 面特征嵌入卷积是为了将各个面的特征转换为输入特征并学习,这里使用式子...这一部分的卷积将原始的矩阵转为了3*d的结果值,其中d是我们想要从中提取的隐特征维数,3是顶点的数量。...经过这块就得到了一个三角形面片的特征向量 对称面卷积部分则要在上一部分作用到当前三角面片和邻域三个三角面片得到四个特征向量后,使用式子g(S, ^f|Ws,Wf,b) = S*Ws + ˆf*Wf +...b 来处理这些特征,在这里S是3*d的三个邻域面片的特征向量矩阵,^f是中心面片的1*d的特征向量,Ws是d*(d+1)的权重,Wf是d*(d+1)的权重,b自然是偏移权重,可以看到处理后的新特征向量为

    1.4K11
    领券