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

R语言建模入门:如何理解formula中y~.和y~x:z的含义?

01 — 如何理解formula中y~.和y~x:z的含义? y~. 和 y~x:z 是一个简单的formula。~和 : 是formula中的运算符,但它们与通常理解的数学运算符存在一定的差距。...- :-表示从模型中移除某一项,y~x-1表示从模型中移除常数项,估计的是一个不带截距项的过原点的回归方程。此外,y~x+0或y~0+x也可以表示不带截距项的回归方程。...(←是大写的i不是小写的L) y~x+I(z^2)的含义: y~x+z^2的含义: (因为z没法和自己交互) 那么,y~x+w+z和y~x+I(w+z)有什么区别呢?...y~x+w+z的含义: y~x+I(w+z)的含义: 可以发现,第二个公式将w+z作为一个整体估计这一变量的参数。...如果要估计动态面板模型,在plm包中,滞后变量(lagged variable)用运算符lag()表示,如lag(x,1)表示x滞后一期的滞后变量,lag(log(z),2)表示log(z)滞后两期的滞后变量

8K31

「音视频直播技术」OpenGL渲染之距阵变换

OpenGLES 在Android下进行视频渲染使用的是 OpenGLES。OpenGLES(OpenGL for Embedded Systems)就是用在嵌入式系统中的 OpenGL。...模型:将要显示的3D物体从模型坐标系变成世界坐标系。 观察:将3D物体从世界坐标系变换成从人眼角度看到物体的坐标系。 投影:就是将3D坐标系换成2D坐标系。也就是3D物理如何在2D平面上展示。...即我们通常说的降维。 下面我们介绍下实现 MVP 转换需要的数学知识。 距阵 在三维图形学用(x,y,z,w)代表一个顶点,它是一个齐次坐标。 其中的 x,y 我们都知道是横轴和纵轴。...z 代表深度,比如按右手坐标来说,离我们眼睛越远的深度越深,z值也就越小。 w 是为了距阵做乘法运算而增加的。 因此,我们在三维图形学中只用到4x4矩阵,它能对顶点(x,y,z,w)作变换。...距阵的旋转 旋转矩阵比较复杂,绕 X 轴旋转使用的距阵: 绕X轴旋转 绕 Y 轴旋转使用的距阵: 绕Y轴旋转 绕 Z 轴旋转使用的距阵: 绕Y轴旋转 累积距阵变换 前面已经学习了如何旋转、平移和缩放向量

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

    使用SharpGL三维建模技术生成3D井眼轨迹图

    一般来说,OpenGL API可以直接用于C/C++应用的开发,但是使用起来比较复杂, SharpGL直接提供了OpenGL全部的功能和扩展。...分别映射到SharpGL三维模型中世界坐标的Y轴坐标、X轴坐标、Z轴坐标。井眼轨迹参数计算本文不作介绍,感兴趣的朋友可以去查找钻井工程计算相关知识,我们这里只介绍软件实现方面内容。...四、三维井眼轨迹实现 4.1 三维绘图中坐标系简单介绍 二维绘图:笛卡尔坐标有一个X轴和一个Y轴组成,X轴为水平方向,Y轴为垂直方向,X和Y相互垂直 三维绘图:笛卡尔坐标多了一个Z轴,Z轴同时垂直于X和...我们把X轴当作东西轴,Z轴当作南部轴。 我们需要在背景面的底部线上和相邻的底部面的一个边上绘制刻度数,比如0米100米200米300米等。 说白了其实就是在不同的屏幕位置绘制文字。...绘制水平投影图,把所有测点的Z坐标设置为0进行绘制。 绘制井底点水平线 查找到最底部的测点,然后绘制一条到Y轴的直线即可。

    4.1K50

    伪 3D 中的贴图纹理的透视矫正

    所以,因为 x’ 、 y’ 和 1/z 是线形关系,因此我们可以在投影面上通过 x’ 和 y’ 对 1/z 进行线性插值。...至此我们可以得到这样的透视纹理映射思路:在投影平面上通过 x’ 和 y’ 对 1/z 线性插值,计算出 1/z 后,通过上面的(1)式计算出原始的 x 和 y ,然后在3D空间中通过 x 和 y 计算出...s 和 t(x、y 和 s、t 都是在 3D 空间中的三角形上定义的,是线性关系)。...并垂直于 z 轴) 从俯视角度观察三维坐标轴,可得到下图; P1P2 为三维空间四边形的某一条对角线,L1L2 为屏幕空间四边形的对角线;F 为近平面距离视点平面的长度;z1 和 z2 分别为 P1 和...代码实现中,直接忽略了四边形和三角形面积计算时 1/2 的系数,也忽略了面积与高 h 的转换关系; 结语 通过上文的推导和计算,使用简单的四边形面片渲染伪 3D 的透视景深效果时,只要有 z 轴信息或者计算

    2.2K30

    OpenGL中投影变换矩阵的反向推导

    初学者比较难理解这两个矩阵是怎么来的。本文从数学角度来反向推导两个投影矩阵。 推导的思路 正交投影和透视投影的作用都是把用户坐标映射到OpenGL的可视区域。...只考虑x轴和y轴,则: 在定义物体的坐标的时候,坐标范围为: 通过上面那个矩阵,就可以转换成[-1,+1]范围内的对应的坐标。下面对此进行证明。...代入方程,得到: ③ 所以 同理,y1和z1的范围也是[-1, +1]。 证明结束。 小结 正交变换是将物体的坐标转换成OpenGL的坐标。...透视矩阵有些特殊,并未说明x和y的范围,下面通过推导得出这个范围。 数学推导 ① 假设物体上的一个坐标为(x,y,z,1)。...总结 矩阵变换在OpenGL坐标变换中起到了非常重要的作用。在二维图像显示时一般使用正交变换,在三维图像显示时就要用到透视变换。理解这两个变换对应的矩阵的作用对我们理解这两个变换很重要。

    2.5K100

    这交互炸了,Android 仿自如APP裸眼 3D 效果 OpenGL 版

    裸眼 3D 原理其它文章都拆解非常清晰了,本着不重复造轮子的原则,这里引用 Nayuta 和 付十一 文章中的部分内容,再次感谢。...在手机左右上下旋转时,上层和底层的图片呈相反的方向进行移动,中层则不动,在视觉上给人一种 3D 的感觉: 也就是说效果是由以下三张图构成的: image.png image.png image.png...,因此,我们只需关注设备本身 x 轴和 y 轴的偏转角度: 拿到了 x 轴和 y 轴的偏转角度后,接下来开始定义图像的位移了。...几个反直觉的细节 3.1 旋转方向 ≠ 位移方向 首先,设备旋转方向和图片的位移方向是相反的,举例来说,当设备沿 X 轴旋转,对于用户而言,对应前后景的图片应该上下移动,反过来,设备沿 Y 轴旋转,图片应该左右移动...省略具体代码 // x轴的偏转角度 float degreeX = (float) Math.toDegrees(values[1]); // y轴的偏转角度

    1.5K20

    NDK OpenGLES3.0 开发(八):坐标系统

    OpenGL 坐标系统 我们知道 OpenGL 坐标系中每个顶点的 x,y,z 坐标都应该在 -1.0 到 1.0 之间,超出这个坐标范围的顶点都将不可见。...观察空间 观察空间(View Space)也被称为 OpenGL 相机空间,即从摄像机的角度观察到的空间,它将对象的世界空间的坐标转换为观察者视野前面的坐标。...通过这四个参数我们定义了近平面和远平面的大小,然后第五和第六个参数则定义了近平面和远平面的距离。这个指定的投影矩阵将处于这些 x,y,z 范围之间的坐标转换到标准化设备坐标系中。 透视投影 ?...OpenGL 3D 变换实现 实现 OpenGL 3D 效果最简单的方式是在顶点着色器中将顶点坐标与 MVP 变换矩阵相乘: #version 300 es layout(location = 0) in...: /** * @param angleX 绕X轴旋转度数 * @param angleY 绕Y轴旋转度数 * @param ratio 宽高比 * */ void CoordSystemSample

    1.5K20

    C# winform用sharpGL(OpenGl)解析读取3D模型obj

    ,所以我怕我代码写多了, 你们反而看起来不好理解hhhhhh 在c++下用OpenGL解析的话可以看我其他博客 运行环境:vs2017,需要配置的库为:sharpGL 一.读取3D模型  在3d图形处理中...读取3d模型有很多种方法,但是最常用的无非就是调用别人写好的库,比如(openmesh),其次呢就是自己读取解析3d模型文件里面的一个个坐标数据,什么v  vf  vn之类的。...    usemtl和mtllib表示的材质相关数据,解析材质数据稍微繁琐,本节我们只是为了说明加载模型的原理,不做讨论。    ...格式为V X Y Z,V后面的X Y Z表示三个顶点坐标。浮点型 public List VT = new List();//表示纹理坐标。...gl.Rotate(y, 0.0f, 1.0f, 0.0f); // 绕Y轴旋转 gl.Rotate(0, 0.0f, 0.0f, 1.0f);

    2.5K50

    万字长文详解如何用Python玩转OpenGL | CSDN 博文精选

    作者 | 天元浪子 来源 | CSDN博文精选 【编者按】OpenGL(开放式图形库),用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口,C、C++、Python、Java等语言都能支持...通常,为了适应不同宽高比的屏幕,在设置视口时,会根据屏幕宽高比调整视景体(增加宽度或高度)。 五、视点 现实生活中,人们看到的三维空间物体的样子取决于观察者站在什么角度去看。...由于glut中的窗口管理函数是不依赖于运行环境的,因此OpenGL中的工具库可以在X-Window、Windows NT、OS/2等系统下运行,特别适合于开发不需要复杂界面的OpenGL示例程序。...这部分函数主要用于连接OpenGL和Windows ,以弥补OpenGL在文本方面的不足。Windows专用库只能用于Windows环境中。...OK,铺垫了这么多之后,我们终于开始第一个 OpenGL 应用程序了:绘制三维空间的世界坐标系,在坐标原点的后方(z轴的负半区)画一个三角形。

    9.5K22

    Android OpenGL 介绍和工作流程(十)

    而顶点数据是用顶点属性表示的,它可以包含任何我们常用数据,比如顶点的位置和颜色 我们可以观察上图,在OpenGL中的物体是有重多的顶点表示的三角形共同构成。...后边将要介绍的view变换和投影变换,也都对应着一个矩阵乘法。 3.在同一个世界坐标系内的各个3D对象共同组成了一个场景(scene),对于这个场景,我们可以从不同的角度去观察。...在裁剪坐标系下,x、y、z各个坐标轴上会指定一个可见范围,坐标超过可见范围的顶点(vertex)就会被裁剪掉,这样,3D场景中超出指定范围的部分最终就不会被绘制,我们也就看不到这些部分了。...它才是真正的由OpenGL ES来定义的坐标。在NDC的定义中,x、y、z各个坐标都在[-1,1]之间。...值得注意的是,虽然NDC包含x、y、z三个坐标轴,但它主要表达了顶点在xOy平面内的位置,x和y坐标它们最终会对应到屏幕的像素位置上去。

    2.3K50

    OpenGL投影矩阵

    矩阵就是用来做这种投影变换的.首先,该矩阵将所有观察空间的顶点坐标变换到裁剪空间,接着,将变换后的顶点坐标(即裁剪坐标)的每个分量(x,y,z,w)(x,y,z,w)(x,y,z,w)除以坐标的 www...这里需要注意的是,观察空间是在右手坐标系下(OpenGL 使用右手坐标系)定义的,但是 NDC 却是在左手坐标系下定义的.换句话说就是,观察空间中的摄像机是指向 -Z 轴的,但是在 NDC 中,摄像机指向的却是...:因为在观察空间中,摄像机是指向 -Z 轴的)....在 OpenGL 中,观察空间中3D坐标点是投影到近裁剪面(即投影面)上的.下面的示意图展示了一个在观察空间中的坐标点 (xe,ye,ze)(x_e, y_e, z_e)(xe​,ye​,ze​),是如何投影到近裁剪面坐标点...(xp,yp,zp)(x_p, y_p, z_p)(xp​,yp​,zp​) 上的. ?

    1.8K00

    投影矩阵推导_矩阵投影变换

    正交投影 OpenGL OpenGL采用的是右手坐标系,z轴朝屏幕向外,因此观察方向是朝着z轴负方向的,那么将x,y,z坐标从区间[l, r], [b,t], [-n, -f]映射到[-1, 1]的函数为...DirectX DirectX则是采用左手坐标系,z轴和观察方向是一致的,因此只需要将z轴坐标从[n, f]映射到[0, 1],x和y轴则和OpenGL是一样的。...透视投影 OpenGL 设P(Px, Py, Pz, 1)是在视锥体内的一点,那么它在近平面z=-n上的投影点,利用相似三角形原则,可以得到: 类似于正交投影,将x,y轴坐标映射到[-1, 1]...在光栅化过程中,必须对z坐标的倒数进行插值,因此需要建立1/z的映射函数,这样就可以对投影深度进行插值,映射函数的形式如下: 将[-n, -f]映射到[-1, 1],可以得到: 解这个简单的二元一次方程组...,可以得到A,B的值 这样就得到了z轴上的映射函数: 3D点(x, y, z)等价于齐次坐标(-xPz, -yPz, -zPz, -Pz),因此x,y,z分量都乘以-Pz得到:

    1.3K30

    OpenGL ES

    在接下来的两节中,我们就分别从2D及3D的角度来讲解Android中如何利用OpenGL ES绘制图形。...示例2.2:​ 在手机屏幕上绘制一个三角形和一个四边形,要求三角形沿X轴旋转、四边开沿Y轴旋转。...其中x指明平移向量的x坐标,y指明平移向量的y坐标,z指明平移向量的z坐标,z必须得在zNear和zFar之间,否则我们看不到图形的效果。...其中angle指明旋转的角度,单位为度,x指明旋转向量的x坐标,y指明旋转向量的y坐标,z指明旋转向量的z坐标 Ø void glVertexPointer(int size, int type, int...在本节中我们就学习如所利用OpenGL ES来绘制3D图形 ​示例​3.3 在屏幕上绘制一个三棱锥和一个立方体,然后给这两个图形填充上颜色,最后设置三棱锥沿Y轴旋转,立方体沿X轴旋转。

    11210

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

    惯性坐标系 它的 X 轴与世界坐标系的 X 轴平行且方向相同,Y 轴亦然,它的原点与模型坐标系相同 它的存在的核心价值是,简化坐标系的转换,即简化模型坐标系到世界坐标系的转换; ---- 二、坐标空间...其次,顶点是用齐次坐标表示{x, y, z, w}, 3D 坐标则为{x/w, y/w, z/w}而 w 就是判断图形是否属于裁剪空间的关键: 锥面 关系 Near z < -w Far z > w Bottom...y < -w Top y > w Left x < -w Right x > w 即坐标值,不符合这个范围的,都会被裁剪掉 坐标 值范围 x [-w , w] y [-w, w] z [-w,...这个阶段过后,所有的点坐标都会标准化(所谓标准化,就是单位为1),x 和 y 值范围均在 [-1.0, 1.0 ]之间,z 就在 [ 0.0, 1.0 ] 之间; x 和 y 值范围均在 [-1.0,...Frustum 函数的 eye x、y、z 就是对应图片中的 Eye at ,即摄像机的位置; 函数的 center x、y、z 就是对应图片中的 z-axis 可视区域的中心点; 函数的 up x、y

    1.8K20

    OpenGL渲染流水线之世界矩阵,相机变换矩阵,透视投影变换矩阵

    OpenGL的坐标系 在3D图形学里,OpenGL为右手坐标系(准确来说,OpenGL的世界空间和相机空间是右手坐标系)。随便提一下,D3D11为左手坐标系。 (1) 右手坐标系 ?...OpenGL的矩阵和向量结合方式 OpenGL的向量为列向量,矩阵和向量采用的方式为“矩阵X列向量”的方式,而D3D11为"行向量X矩阵"的方式。OpenGL的向量矩阵结合如下所示: ?...,旋转矩阵,平移矩阵构成的 (1)缩放矩阵 (ScaleMatrix) 假设在X轴缩放Sx倍,在Y轴缩放Sy倍,在Z轴缩放Sz倍,缩放如下所示: ?...(3)移动矩阵(TranslateMatrix) 假设某个顶点在X轴方向移动dx个单位,Y轴移动dy个单位,在Z轴移动dz个单位 ?...注视向量N的方向跟相机空间(ViewSpace)的Z轴方向是一致的,而竖直向量V的方向与相机空间(ViewSpace)的Y轴方向是一致的,右向量U的方向与相机空间(ViewSpace)的X轴方向是一致的

    1.4K50

    WebGL简易教程(五):图形变换(模型、视图、投影变换)

    为了在二维视图中绘制复杂的三维场景,需要进行相应的的图形变换;这一篇教程,就是详细讲解WebGL的图形变换的过程,这个过程同样也适合OpenGL/OpenGL ES,甚至其他3D图形接口。...这一步由WebGL/OpenGL自动完成。 在参考文献[2]中描述的WebGL/OpenGL整个图形变换过程的坐标系和单位: ?...可以绕X轴,Y轴和Z轴旋转,所以一般都会有三个旋转矩阵。...对于一个点p(x,y,z,1),绕Z轴旋转,因为旋转后的Z值不变,所以可以忽略Z值的变换,只考虑XY空间的变化。此时设r为原点到点p的距离,α是X轴旋转到该点的角度。如图所示: ?...那么p点的坐标表示为式(3): x=r*cosα\\ y=r*sinα\\ \end{cases} \tag{3} 同样的绕Z轴旋转后,得到新的点p’,X轴旋转到该点的角度为(α+β),其坐标值为

    2.9K40

    Android--Camera基本用法

    它的坐标系和我们canvas的绘图坐标有些区别,支持x,y,z轴,三维坐标系变换,如下图 ?...zuobiao.png 其中初始坐标和canvas相同,为左上角,但是y轴不再是向下为正,而是和我们平时数学中的坐标系相同,这点要注意 Camera内部实际上OpenGL。...很多时候我们用OpenGL做3D特效,其实Camera可以满足绝大部分的需要 下面是一张在app中没有做任何变换的图 ?...同样的,我们使用save和restore对矩阵保存和恢复 camera.save(); //往x,y,z方向分别平移100像素 camera.translate...x,y,z轴平移100像素.jpg 很明显,在x,y,z轴平移100像素后,比原来看起来更小(远),并且,y轴平移100不再是往下平移,而是往上平移 ---- camera还支持旋转操作 @Override

    78920
    领券