
虚拟现实
文章平均质量分 72
一片云略过
这个作者很懒,什么都没留下…
展开
-
读取Honolulu地形的txt文件,并为其添加上天空盒和模型反光效果
读取Honolulu地形的txt文件,并为其添加上天空盒和模型反光效果实现效果如下所示:Honolulu地形读取完成地形读取的思想路线:由于txt文本中的前两个是矩阵的行列值,因此我们读取地形矩阵的大小,之后按照对应位置遍历得到相应位置的高度,这样我们便能获取真个地形图。完成过程可以有一下几步:1.我们读取txt文件的信息。我们读取前两个获取地形矩阵的大小,然后我们使用vector方法将地形的高度值记录下来。这里我们用到了c++的ifstream类的方法,并且向右移位操作,当遇见空格的时候原创 2021-08-16 16:42:27 · 272 阅读 · 0 评论 -
opengl--圆锥和圆柱光照和纹理
圆锥和圆柱光照和纹理由于在圆锥的侧面中和底面圆中,重合的底面圆上的点的法向量是不同的,同时在纹理贴图时候,必有在同一个圆上位置,此处有两个顶点,其中一个的纹理索引是起始点,另一个是终点。若将底面圆类在实现时,等同于被分为m个线段,则圆锥总的顶底需要一个底面圆心+底面圆周的点+侧面扇形上顶点+等同于m的圆锥顶点。即共需要顶点(m+1)*3+1个。法向量和纹理:在圆锥中:顶点数组中,索引为1到m+1个的底面圆上的点、索引为0的底面圆心组成底面圆,法向量为垂直于圆平面单位向量。侧面上的法向量,例如对于索原创 2021-07-27 14:51:26 · 1181 阅读 · 1 评论 -
旋转矩阵到欧拉角的变换以及注意点(matlab的dcm2angle函数和网络常见的python函数对比分析)
欧拉角两种不同的定义方式外旋:在从一个坐标系旋转到另一个的过程中,以固定的最初的坐标系为依据,绕X、Y、Z三个轴的指向方向做旋转;**内旋:**在一个坐标系旋转到另一个过程中,例如旋转顺序为x-y-z,那么在最初绕x轴旋转后,Y、Z的轴发生变化,之后绕Y轴旋转时按照第一步旋转过后的Y’方向做旋转,以此类推, 完成Z轴的旋转。Tips:欧拉角表示的旋转方式必须要有对应的旋转顺序(如X-Y-Z、Y-X-Z等),不同的旋转顺序将导致不同的结果。计算过程验证通过维基百科的内旋表查看,不同的旋转方式也原创 2021-07-16 16:12:23 · 1613 阅读 · 0 评论 -
opengl画圆柱体、圆锥等并使用四元数旋转
opengl画圆锥和圆柱体具体资源欢迎下载:https://download.youkuaiyun.com/download/qq_32563773/13077923画圆锥如要画出想画的立方体,必须计算出来顶点数组对象,并且根据顶点定义的位置,简历索引关系,进而使用CreateGLResources函数完成绘画。第一步计算出顶点位置:我们可以将底面的圆看成是一条直线绕一个顶点旋转,这样旋转一定的角度后,另一个定点的位置即所要求的顶点坐标。若我们分的够多,即旋转角度设立的越小,越相似于圆形。(类似于古代割圆术的原创 2020-10-30 15:51:04 · 3025 阅读 · 0 评论 -
基于CUDA的并行计算技术+opencv完成图像高斯滤波和双边滤波,开发版本为VS2019+openCV3.4
实验三-基于CUDA的并行计算技术及其应用CUDA基础知识GPU并不是一个独立运行的计算平台,而需要与CPU协同工作,可以看成是CPU的协处理器,因此当我们在说GPU并行计算时,其实是指的基于CPU+GPU的异构计算架构。在异构计算架构中,GPU与CPU通过PCIe总线连接在一起来协同工作,CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device),如下图所示。CUDA程序中既包含host程序,又包含device程序,它们分别在CPU和GPU上运行。同时,host与devic原创 2020-05-22 10:32:36 · 2994 阅读 · 0 评论 -
stl、obj、3DS三种3D模型加载,使用OpenGl+GLSL框架并添加双层纹理,并完成逐顶点光照和逐像素光照(GouraudShading+PhongS)
搭建自己的OpenGl+GLSL框架并添加第二张纹理前言在第一个实验中,我发现使用glut的一些不方便之处,同时意识到实验一中的不足,对**于OBJ文件并没有读取出其中的纹理信息,**因此,在查阅相关的文档后发现,GLFW代培GLAD是目前较为流行的方案,相对于glut来说,glad更新更流行,因此换用了次框架,同时使用了Assimp库。一个非常流行的模型导入库是Assimp,它是Open Asset Import Library(开放的资产导入库)的缩写。Assimp能够导入很多种不同的模型文件格式原创 2020-05-22 10:18:44 · 2058 阅读 · 0 评论 -
C++方式实现stl、obj、3DS三种3D模型加载,并实现Arcball方法控制旋转缩放平移(采用glut库等文件,具体可在项目文件中实现),开发软件为VS2019
获取建模得到的三维模型并解析STL****文件STL (STereoLithography, 立体光刻)是由3D Systems软件公司创立、原本用于立体光刻计算机辅助设计软件的文件格式。它有一些事后诸葛的字头语如“标准三角语言(Standard Triangle Language)”、“标准曲面细分语言(Standard Tessellation Language)”、“立体光刻语言(STereolithography Language)”和“(立体光刻曲面细分语言)”。许多套装软件支持这种格式,它.原创 2020-05-22 09:59:44 · 9724 阅读 · 15 评论