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

Android开发笔记(一百五十四)OpenGL画笔工具GL10

,需要三个方向坐标,分别为水平方向x轴和y轴,以及垂直方向z轴。...如下图三维坐标系所示,三维空间有个M,该点在x轴上投影为P,在y轴上投影为Q,在z轴上投影为R,因此M坐标位置就是(P, Q, R)。 ?...既然三维空间中每个都存在xy、z三个方向坐标值,那么与物体位置有关方法均需提供xy、z三方向数值。...有了三维坐标系,还要把三维物体投影二维平面上,才能在手机屏幕绘制三维图形。...第二第四个参数为相机位置坐标,第五第七个参数为相机画面中心坐标,第八第十个参数为朝上坐标方向,比如第八个参数为1表示x轴朝上,第九个参数为1表示y轴朝上,第十个参数为1表示z轴朝上

1.2K20

模型矩阵、视图矩阵、投影矩阵

总而言之,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,模型矩阵将顶点从局部坐标系转化世界坐标,视图矩阵将顶点从世界坐标系转化视图坐标系下,而投影矩阵将顶点从视图坐标系转化规范立方体。...综上,变换矩阵为: 齐次坐标还有一个优点,能够区分点和向量:在普通坐标里,和向量都是由三个分量组成,表示位置坐标(x, y, z)和表示方向向量(x, y, z)没有区别。...而在齐次坐标,表示位置坐标为(x, y, z, 1),而表示方向向量为(x, y, z, 0)。平移一个能够得到平移后坐标;而平移一个向量什么都不会发生。...实际上,投影矩阵先把顶点坐标转化规范立方体坐标系(Xc-Yc-Zc),也就是将四棱锥台体空间映射到规范立方体。规范立方体是xy,z都处在区间[-1,1]之间边长为2立方体,如下所示。...顶点在其中坐标,其x值和y值直接就是顶点在屏幕上坐标,而z坐标值可以用来表示顶点深度,如果两个不同顶点投影平面上时重合了,深度可以来确定那个点在前面。

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

博客 | 机器学习数学基础(实战SVM)

直观上,逻辑回归建立初衷是如何使用回归方法求解二分类问题,如何将无穷定义域上x映射为y=1概率,如何使得y属于正类时p(y|x)尽可能趋近于1,属于负类时趋近于0才是问题关键。...比如,决策树算法通常选取与特征空间坐标轴平行线面为决策边界,而KNN通常会以一个大致单调线面区分。...w表示与分割线垂直法向量,u为特征空间中坐标,b代表分割线上任意点在w方向上投影,1为增强模型鲁棒性归一化指标,算法目标就是求解w与b。 决策公式:上述两个最大间隔表示为 ?...目标函数:目标是最大间隔上样本投影差最大,即距离最远投影差= ? ,其中w为与分割线垂直法向量,u和u’分别为y=1和-1最大间隔。将决策公式代入投影差化简= ? 。...2,将其代入决策公式,我们又发现,当新样本到来时,只需要将其与最大间隔上样本做内积再附上各自权重系数求和,即可判断样本类别,其中权重系数为对应 ? ,Duang!原来只要寥寥几个 ?

75320

腾讯地图JavaScript API GL实现文本标记碰撞避让

进行判断具体方式有两种:一是把每个矩形4个顶点投影一个轴上,算出该矩形最长连线距离,判断两个矩形投影是否重叠;二是将两个矩形半径距离投影轴上,然后把两个矩形中心连线投影通一个轴上,判断两个矩形半径投影之和与中心连线投影大小...如上图,A坐标为(xa, ya),OB为线段OA在x轴上投影x单位向量为(1, 0),OA · x轴单位向量 = (xa, ya) · (1, 0) = xa * 1 + ya * 0 = xa...但这里有一个非常重要注意:web页面坐标系与我们平时使用坐标系不同,x轴正方向不变,y正方向向下。我在最开始实现算法过程忽略了这个问题,导致碰撞结果不对,调试了半天才发现原因。...其实就是,矩形在X轴上最远交点,数学上意义就是2条检测轴投影之和。 [1] 两个矩形检测过程,以其中一个矩形检测轴为坐标系,投影另外一个矩形检测轴。...红色线段则是两个矩形中心连线,同样需要计算它在蓝色线段所在X投影长度,如果中心连线投影长度大于两个矩形半径投影之和,那么在这条轴上两个矩形没有碰撞,否则发生碰撞。

1.5K40

Android自定义系列——13.Matrix Camera

坐标系 2D坐标系 3D坐标系 原点默认位置 左上角 左上角 X 轴默认方向 右 右 Y 轴默认方向 下 上 Z 轴默认方向 无 垂直屏幕向内 3D坐标系在屏幕各个坐标轴默认方向展示: 注意y轴默认方向是向上...结论: 一致是指平移方向和平移距离一致,在默认情况下,上面两种均可以让坐标系向右移动x个单位。 沿y轴平移 两个坐标系相互关联,但是两者y轴方向是相反,很容易把人搞迷糊。...,在屏幕上投影就是一个。...我们都知道,在2D,不论是旋转,错切还是缩放都是能够指定操作中心位置,但是在3D却没有默认方法,如果我们想要让图片围绕中心旋转怎么办?...* @param centerY 旋转中心y坐标 * @param depthZ 最远到达z轴坐标 * @param reverse true 表示由从0depthZ,

1.2K10

ArcMap获取要素在栅格图像中所处行号与列号

这里需要注意,如果大家数据(栅格图像与要素图层)含有地理参考信息(比如同时含有地理坐标系或同时含有投影坐标系),同样是可以求取要素所处行列号。...,如果是两个图层一个含有投影坐标系,一个含有地理坐标系,那么也需要进行坐标统一才可以。...简单来说,要么两个图层都没有任何坐标系,要么两个图层都有地理坐标系,要么两个图层都有投影坐标系,才可以进行后面的操作。   ...再次执行同样操作,建立第二个字段,后期存放点要素在图像Y值。   配置完毕后,如下图所示。   ...随后,可以看到这两个字段都已经有了具体数值;这两个数值就表示每一个点在栅格图像位置。若要准确来说,这两个值其实是每一个点在ArcMap软件当前坐标XY值。   接下来,我们即可开始计算。

2.7K10

【专业技术】Android平台下使用OpenGL

同理top、right、bottom值表示是edgeRight、edgeTop、edgeBottom这几条边在坐标位置。 3、 上面第二定出了作图范围xy范围。...near表示是眼睛作图平面的距离(绝对值哦!),far表示眼睛最远可见处平面范围。于是,默认情况下z作图范围就是在-near-far位置。...4、 好了,我们已经确定好xy、z方向作图范围了。回过头来,就可以发现,这张“立体”纸,是一个方椎体切去头部平截头体。...下面,主要讲下,如何将顶点数据和颜色数据放入符合 Android OpenGL 数组缓冲区。...其中第一个参数表示是每个有几个坐标。例如顶点,有 xy、z值,所以是 3;而颜色是 r、g、b、a 值,所以是 4。 3.3.4、画图!

1K60

SceneKit_入门05_照相机

举例说明: 在游戏引擎,照相机好比就是你眼睛,你眼睛在X轴(左右看)和Y轴(上下看)有个最大角度,这个角度我们叫做xFov和yFov,想想一下,如果是这视野大了,我们能看到范围就会变大,这个时候...记住: 我们显示在手机屏幕物体都是能被照相机看到物体。...) NSString *name; X轴方向视角(默认为60度) @property(nonatomic) double xFov; Y轴方向视角(默认为60度) @property(nonatomic...调节X轴和Y轴视角 // 调节视角 camera.xFov = 20; camera.yFov = 20; 运行结果: 学习是一件很开心事情,就像玩一样 设置焦距 camera.focalDistance...,照相机对准(0,0,0)沿着球体表面旋转 2.两个手指头平移手势,照相机是在X轴和Y轴移动 3.捏合手势,是在Z轴移动 致读者 SceneKit 游戏框架照相机使用,基本内容已经讲解完毕,你学会了吗

84920

PythonArcPy读取Excel数据创建矢量图层并生成属性表

现有一个记录北京市部分PM2.5浓度监测站点信息Excel表格数据,格式为.xls;文件内包含站点编号、XY坐标、站点名称等四列数据,部分数据如下所示。   ...我们需要将该表格文件中所记录全部站点信息导入Python,并将全部站点创建为一个要素矢量图层;此外,需要同时可以指定该矢量图层投影坐标系,并将表格文件四列信息作为矢量图层属性表字段与内容...System参数表示需要对站点矢量数据进行投影坐标系类型(在本文中我们以“WGS 1984 UTM Zone 50N”投影为例),Output File参数表示投影后站点矢量数据具体文件。...sheet_data.row(i)[1].value y=sheet_data.row(i)[2].value point_object.X=float(x) point_object.Y...查看该图层属性,可以看到其已经具有了我们在代码中所指定投影坐标系。

1.2K10

OpenGL ES 2.0 (iOS):坐标空间 与 OpenGL ES 2 3D空间

惯性坐标系 它 X 轴与世界坐标 X 轴平行且方向相同,Y 轴亦然,它原点与模型坐标系相同 它存在核心价值是,简化坐标转换,即简化模型坐标系到世界坐标转换; ---- 二、坐标空间...y < -w Top y > w Left x < -w Right x > w 即坐标值,不符合这个范围,都会被裁剪掉 坐标 值范围 x [-w , w] y [-w, w] z [-w,...这个阶段过后,所有的坐标都会标准化(所谓标准化,就是单位为1),xy 值范围均在 [-1.0, 1.0 ]之间,z 就在 [ 0.0, 1.0 ] 之间; xy 值范围均在 [-1.0,...调整视窗位置和尺寸 glDepthRange 调整视景体 near 和 far 两个面的位置 (z) glViewport void glViewport(GLint x, GLint y, GLsizei...Frustum 函数 eye xy、z 就是对应图片中 Eye at ,即摄像机位置; 函数 center xy、z 就是对应图片中 z-axis 可视区域中心; 函数 up xy

1.7K20

相机成像模型分析

图像坐标系:以CCD 图像平面的中心为坐标原点,X轴和Y 轴分别平行于图像平面的两条垂直边,用( x , y )表示其坐标值。图像坐标系是用物理单位(例如毫米)表示像素在图像位置。...相机坐标系(光心坐标系):以相机光心为坐标原点,X 轴和Y 轴分别平行于图像坐标 X 轴和Y 轴,相机光轴为Z 轴,用(Xc, Yc, Zc)表示其坐标值。...像素坐标系:以 CCD 图像平面的左上角顶点为原点,X 轴和Y 轴分别平行于图像坐标 X 轴和Y 轴,用(u , v )表示其坐标值。...其中(u0, v0)是图像坐标系原点在像素坐标坐标,dx 和 dy分别是每个像素在图像平面xy方向上物理尺寸。 图像坐标系与相机坐标转换为: ?...其中 mr(xr,yr)表示实际投影像平面坐标系下物理坐标,mi(xi,yi)表示理想投影像平面坐标系下物理坐标。 对于相机畸变,可以包括径向畸变和偏心畸变和薄棱镜畸变等。

2.1K10

理解单目相机3D几何特性

所以我们首先必须了解相机如何将3D场景转换为2D图像基本知识,当我们认为相机坐标物体场景是相机原点位置(0,0,0)以及在相机坐标XY、Z轴时,摄像机将3D物体场景转换成由下面的图描述方式...通过上图,我们可以了解,相机坐标xy、z位置和相机焦距(fx、fy),可以使用所描述公式计算图像相应u、v像素,这些公式类似三角形公式缩放,其中焦距是每台摄像机固有常数参数,可以通过摄像机校准来确定...这里b[xy,z,1]有助于用[R | t]进行积,以获得3D空间中该相机坐标,R表示旋转矩阵,t表示平移矩阵,该矩阵首先将旋转到相机坐标系方向,然后将其平移到相机坐标系,[R | t]也称为相机外参矩阵...相机坐标定义一个可以用K(摄像机矩阵)投影图像平面上,K是一个内参矩阵,它采用fx和fy,将相机坐标xy值缩放为图像平面的u和v值,此外,K还涉及sx和sy,它们将图像原点从图像中心转换到左上角图像坐标系下...方形矩阵可以有其逆矩阵H-1,它可以将图像u,v像素映射到世界坐标xy,0坐标,如下所示: 事实上,图像图像映射也是可以,因为在z=0世界坐标平面可以理解为一个图像,在游泳比赛电视转播

1.6K10

自动驾驶视觉融合-相机校准与激光投影

然而激光雷达得到是3D云, 而单目相机得到是2D图像, 如何将3D空间中投影图像平面上, 从而获得激光雷达与图像平面相交区域, 是本文研究重点....为了将在激光雷达传感器坐标测量投影相机, 我们需要在投影操作添加其他转换, 以使我们能够将车辆坐标关联相机坐标系, 反之亦然....以下等式说明了如何使用齐次坐标在相机0图像平面上将空间中3D激光雷达X投影2D像素Y(使用Kitti自述文件表示法): RT_velo_to_cam * x :是将Velodyne坐标...x投影编号为0相机(参考相机)坐标 R_rect00 *RT_velo_to_cam * x :是将Velodyne坐标x投影编号为0相机(参考相机)坐标, 再以参考相机0为基础进行图像共面对齐修正...(这是使用KITTI数据集进行3D投影必要操作) P_rect_00 * R_rect00 *RT_velo_to_cam * x :是将Velodyne坐标x投影编号为0相机(参考相机)

1.6K11

OpenGL矩阵变换数学推导

h表示近平面高度 w表示近平面宽度 n表示Camera近平面的距离 f表示Camera远平面的距离 P代表视野一个 那么接下来要求投影矩阵,就是能将P正确地投影近平面上,设P(x0, y0..., z0),我们从y轴正向往负向看,即看xoz平面,看到画面是这样:  [2wwkbyft9g.jpeg] 假设投影x坐标x1 ,由三角形相似原理则易得:  [x20xrd9qn6.png]...,于是列一个kx+b类型方程组并解得k和b:  [4kukgtomh5.jpeg] 令xn表示Px坐标投影归一化后值,代入kx+b得:  [szoo1h8nyp.png] 同理可得点Py坐标投影归一化后值...yn:  [x9s0mvw9xs.png] 下面我们来构造带有未知数投影矩阵然后求解它们,设待投影为(x0,y0,z0,1),我们先来构造投影矩阵第一第二行:  [pfz6z6uzqm.jpeg]...这里强调一个细节,投影矩阵仅帮我们完成投影变换,不会归一化,上面的x2、y2、z2指投影后归一化前值,还记得前面计算xn和yn吗?

6.2K62

Canvas绘制坐标

从图中可以看出如果想要绘制一个坐标系,具体需要做以下步骤: 计算坐标原点坐标 计算坐标x最远坐标点以及对应三角形坐标点 计算坐标y最远坐标点以及对应三角形坐标点 上面是写出了大概步骤...计算坐标原点坐标的思路 如果要计算坐标原点坐标,首先需要这两个基本要素。 ? 从上面的示意图来看,需要这几个基本参数就可以计算出原点坐标。...- space 计算坐标y最远坐标点以及对应三角形坐标y最远坐标点 ( x = space, y = space ) 那么对于三角形好像就没那么好定位点了,下面来看看理解图。...也就是说还需要定义一个三角形大小值 arrowSize,通过最远坐标和arrowSize就可以计算出绘画三角形需要。...计算坐标x最远坐标点以及对应三角形坐标x最远坐标点( x = CanvasWidth - space,y = CanvasHeight - space) 下面来看看三角形计算示意图,如下

1.5K30

教程 | 从特征分解协方差矩阵:详细剖析和实现PCA算法

其实在线性代数,矩阵就是一个由各种标量或变量构成表格,它和 Excel 表格并没有什么本质上区别。...因为投影这条直线(红色)上数据点离均值(空心)有最大方差,即所有蓝点到灰色线平均距离为最大方差,所以这一个主成分将保留最多信息。 ?...因此,如果两个变量协方差越大,相关性越大,投影主成分后损失就越小。我们同时可以考虑协方差和方差计算式而了解他们关系: ?...也就是将数据集坐标系重新变换为由主成分作为基轴新空间,当然这些主成分都保留了最大方差。 我们上面所述 x 轴和 y 轴称之为矩阵基,即矩阵所有的值都是在这两个基上度量而来。...黑色实线代表 x-y坐标系而红色虚线是另外一个坐标系。在第一个坐标 v = (1,1),而在第二个坐标 v = (1,0)。因此矩阵和向量可以在不同坐标系中等价变换。

4.5K91

OpenGL矩阵变换数学推导

h表示近平面高度 w表示近平面宽度 n表示Camera近平面的距离 f表示Camera远平面的距离 P代表视野一个 那么接下来要求投影矩阵,就是能将P正确地投影近平面上,设P(x0, y0..., z0),我们从y轴正向往负向看,即看xoz平面,看到画面是这样: 假设投影x坐标x1 ,由三角形相似原理则易得: 同理有: 设l和r分别为近平面左、右边框x坐标,则有l=-w/2,...r=w/2,投影归一化后坐标范围为-1~1,最左边是-1,最右边是1,l和r归一化至-1~1是线性变换,于是列一个kx+b类型方程组并解得k和b: 令xn表示Px坐标投影归一化后值,代入kx+...b得: 同理可得点Py坐标投影归一化后值yn: 下面我们来构造带有未知数投影矩阵然后求解它们,设待投影为(x0,y0,z0,1),我们先来构造投影矩阵第一第二行: 这里强调一个细节,投影矩阵仅帮我们完成投影变换...,不会归一化,上面的x2、y2、z2指投影后归一化前值,还记得前面计算xn和yn吗?

99730

Three.js camera初探——转场动画实现

three.jscamera three.jscamera分为两种,一种是正投影相机,一种是透视投影相机,两种大致区别是: (图片来自webGL中文网) 在透视投影下,同样大小物体,在屏幕下远处物体会比近处物体小...在这之前,我们先了解一下three.js坐标系,使用是右手坐标系,如下图所示: 就是这么有气质手势~~大拇指指向x轴正方向,食指指向y轴正方向,中指指向z轴正方向。...~~ 2.将照相机移到y轴上,旋转正方体和照相机使之正对,如下图所示: 在初始化时,我们便记录了正方体坐标值(x,y,z),正方体从面向屏幕面向y轴要旋转多少角度,我这里用了初中数学方法——反三角函数算出...如下图所示分别为四个象限物体需要旋转角度值。 旋转了正方体后,照相机只要和正方体旋转同样角度,并坐标y值移到和正方体同向,就可以拍摄正方体正面了。...,还可以让正方体再绕y方向随机转动一定角度,照相机再绕正方体中心旋转到正对正方体正面的位置: 计算方法如下: 如上图所示,照相机原来是在正方体中心和原点连线上坐标(x,z),绕正方体中心

20.9K63

M2DP:一种新三维云描述子及其在回环检测应用

在M2DP,我们将3D投影多个2D平面,并为每个平面的云生成密度签名,然后使用这些签名左奇异向量值和右奇异向量值作为三维描述子。...主要内容 A 算法总览 本文M2DP云描述子是签名类型;考虑一个云P和两个投影平面XY,将P投影XY平面上,得到Px、Py,假设XY不平行,且投影无遮挡,那么可以利用XY之间角度从Px...对云进行主成分分析,利用第一和第二个主成分来定义描述子参考坐标x轴和y轴。...把云、中心、x投影X上;将二维平面划分为多个容器(bin)。...以投影中心为中心,生成l个同心圆,半径为[r, 22r, …, l2r],另外,最大半径与最远点到中心距离相等;上面的一系列圆环,每个圆环都分成t个bin,并按照x轴把这些bin编号;这样就把一个平面分成了

91810
领券