草庐IT

CLARK变换

全部标签

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

webgl 系列 —— 变换矩阵和动画

其他章节请看:webgl系列变换矩阵和动画动画就是不停地将某个东西变换(transform)。例如将三角形不停地旋转就是一个动画和CSStransform类似,变换有三种形式:平移、缩放和旋转。简单的变换用普通表达式容易实现,如果事情复杂,比如旋转后平移,这时就可以使用变换矩阵。普通表达式平移比如要平移一个三角形,只需要将三个顶点移动相同的距离即可(这是一个逐顶点操作)用二维向量表示,就像这样:[x1,y1]+[tx1,ty2]=[x2,y2]比如要实现如下效果:前面我们已经讲过三角形了,这里不再冗余,改动的核心代码如下:constVSHADER_SOURCE=`attributevec4a_

webgl 系列 —— 变换矩阵和动画

其他章节请看:webgl系列变换矩阵和动画动画就是不停地将某个东西变换(transform)。例如将三角形不停地旋转就是一个动画和CSStransform类似,变换有三种形式:平移、缩放和旋转。简单的变换用普通表达式容易实现,如果事情复杂,比如旋转后平移,这时就可以使用变换矩阵。普通表达式平移比如要平移一个三角形,只需要将三个顶点移动相同的距离即可(这是一个逐顶点操作)用二维向量表示,就像这样:[x1,y1]+[tx1,ty2]=[x2,y2]比如要实现如下效果:前面我们已经讲过三角形了,这里不再冗余,改动的核心代码如下:constVSHADER_SOURCE=`attributevec4a_

Opengl ES之矩阵变换(上)

前言说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师,在实际应用中线性代数哪些复杂的计算根本不用我们自己去算,绝大部分情境下直接使用Matrix这个类或者glm这个库即可。关于矩阵与向量的相关知识,矩阵的加减乘除等规则,这里就不展开细说,感兴趣的同学自行查阅线性代数即可,不过这些规则忘记了也没关系,反正有API可用。我们知道在Opengl中有很多中坐标系,在Opengl中矩阵的一大作用就是将坐标从一个坐标系转换到另一个坐标系下,同时还可以通过矩阵实现一些形变的效果,今天我们就使用矩阵的方式搭配Openg

Opengl ES之矩阵变换(上)

前言说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师,在实际应用中线性代数哪些复杂的计算根本不用我们自己去算,绝大部分情境下直接使用Matrix这个类或者glm这个库即可。关于矩阵与向量的相关知识,矩阵的加减乘除等规则,这里就不展开细说,感兴趣的同学自行查阅线性代数即可,不过这些规则忘记了也没关系,反正有API可用。我们知道在Opengl中有很多中坐标系,在Opengl中矩阵的一大作用就是将坐标从一个坐标系转换到另一个坐标系下,同时还可以通过矩阵实现一些形变的效果,今天我们就使用矩阵的方式搭配Openg

Opengl ES之矩阵变换(上)

前言说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师,在实际应用中线性代数哪些复杂的计算根本不用我们自己去算,绝大部分情境下直接使用Matrix这个类或者glm这个库即可。关于矩阵与向量的相关知识,矩阵的加减乘除等规则,这里就不展开细说,感兴趣的同学自行查阅线性代数即可,不过这些规则忘记了也没关系,反正有API可用。我们知道在Opengl中有很多中坐标系,在Opengl中矩阵的一大作用就是将坐标从一个坐标系转换到另一个坐标系下,同时还可以通过矩阵实现一些形变的效果,今天我们就使用矩阵的方式搭配Openg

Opengl ES之矩阵变换(上)

前言说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师,在实际应用中线性代数哪些复杂的计算根本不用我们自己去算,绝大部分情境下直接使用Matrix这个类或者glm这个库即可。关于矩阵与向量的相关知识,矩阵的加减乘除等规则,这里就不展开细说,感兴趣的同学自行查阅线性代数即可,不过这些规则忘记了也没关系,反正有API可用。我们知道在Opengl中有很多中坐标系,在Opengl中矩阵的一大作用就是将坐标从一个坐标系转换到另一个坐标系下,同时还可以通过矩阵实现一些形变的效果,今天我们就使用矩阵的方式搭配Openg

CSS3中Transition过渡、Animation动画、Transform之2D&3D变换总结

css3中transition和animation都能够实现动画效果,所谓动画本质就是物体的一种状态变换成另外一种状态的过程呈现,我们可以结合2D或者3D变换做出很多酷炫的动画,下面针对这四部分分别做一个用法上的小结。一、Transition过渡1.定义过渡动画:是从一个状态渐渐地过渡到另外一个状态经常:hover等等一起搭配使用,也就是说一般会经过一个动作触发之后,再进行变换。2.用法transition:要过渡的属性花费时间运动曲线何时开始;属性:想要变换的css属性,宽度、高度、背景颜色、内外边距都可以,如果想要所有的属性都变化过渡。花费时间:单位是秒(必须写单位)比如0.5s运动曲线:

CSS3中Transition过渡、Animation动画、Transform之2D&3D变换总结

css3中transition和animation都能够实现动画效果,所谓动画本质就是物体的一种状态变换成另外一种状态的过程呈现,我们可以结合2D或者3D变换做出很多酷炫的动画,下面针对这四部分分别做一个用法上的小结。一、Transition过渡1.定义过渡动画:是从一个状态渐渐地过渡到另外一个状态经常:hover等等一起搭配使用,也就是说一般会经过一个动作触发之后,再进行变换。2.用法transition:要过渡的属性花费时间运动曲线何时开始;属性:想要变换的css属性,宽度、高度、背景颜色、内外边距都可以,如果想要所有的属性都变化过渡。花费时间:单位是秒(必须写单位)比如0.5s运动曲线: