
可任意旋转的地球仪
文章平均质量分 82
juebai123
这个作者很懒,什么都没留下…
展开
-
全景图转换为天空盒图--再尝试
再用matlab 来试试转换思路:先把图像按下图分割,中间三块分别是:左、前、右(块),两边合成 :后(块)上面5块合成:上(块),下面合成:下(块),其中上下两边块合成 1块,然后再这4块转换成三角形,再把4个三角拼成一个正方形 成顶、底(块)读入图像:%全景图转换为天空盒图clear;close all;clc;name='sh.jpg';im=imread(name);im=im...原创 2018-03-06 19:58:04 · 4841 阅读 · 2 评论 -
可任意旋转的地球仪
前面我们已经做了一个有贴图的球,如果把世界地图贴上去,不就是地球仪了吗。主cpp://50 地球仪//左键(+ 移动)旋转,右键(+ 移动)缩放 1,2 切换地图#pragma comment( lib, "opengl32.lib" ) #pragma comment( lib, "glut32.lib")#include <GL/glut.h&g...翻译 2018-02-13 19:03:59 · 7985 阅读 · 0 评论 -
转换世界地图到球纹理图
找来一张高清世界地图:运行我们的程序:图像比较清楚,可惜有块空白。如果能把它两边拉长变成长方图,估计会好一点。用matlab来做这个事情:%世界地图校正clear;clc;rgb = imread('map0.jpg'); % 调试时缩小图像。% rgb = imresize(rgb,0.2);% figure,imshow(rgb) ;[ h, w, v ] = size(...原创 2018-02-14 17:41:56 · 1902 阅读 · 0 评论 -
转换世界地图到球纹理图--续改进
由于前面的转化的图还不理想,这里再改进一下。主要是哪个纬线是两头翘的,如果两边下压,或者中间拉长,可能会好一点;另外,前面的边界点好象平滑,用多项式拟合下。所以分成二个.m文件第一部分:%世界地图校正clear;clc;rgb = imread('map0.jpg'); % 调试时缩小图像。% rgb = imresize(rgb,0.2);% figure,imshow(rgb...原创 2018-02-15 18:06:49 · 801 阅读 · 0 评论 -
opengl全景图转换为天空盒图(成功)
前面哪个opengl程序实际上已经快成功了,只差一点点了。发现只要前、后图对换,左、右图对换就可以了所以这里除了对换外,把哪个要按2次键才能截到正确的图也改一下(延时)具体看代码吧://53 全景球贴图 切分6图 //左键(+ 移动)旋转,右键(+ 移动)缩放 1,2,3,4 切换地图,回车键(enter)全屏切换,按w、a、s、d、f、x、切换视角并截图 #pragma comm...原创 2018-03-07 20:11:37 · 5477 阅读 · 2 评论 -
全景图--球贴图
看一些文章,球纹理图好象是用全景图转换来的。用手机拍摄一组图试试:然后用用ps中的photomerge拼接成:再去掉两头重合部分:直接载入前面的程序中也是可以的,显示在球外视角:如果用右键向缩小方向拉,图像缩小后反向放大,视角就会进入球内部。不过效果不是很好,为了更好的显示,重新修改下cpp://52 全景球贴图//左键(+ 移动)旋转,右键(+ 移动)缩放 1,2,3,4 切换地图,回车键(...翻译 2018-03-01 00:20:08 · 2374 阅读 · 5 评论 -
升级地球仪
前面的地球仪放大时,视点跑到内部去了,破坏了画面完整,现在来改进一下1。视点跟踪球大小。能如意调整地图清晰度和视野 gluLookAt(0.0, 0.0, m_sky.GetSkyR()*ArcBall->zoomRate+5.0,//视点跟踪球大小 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);2。全屏切换。充分利用屏幕空间。 cas...原创 2018-02-25 21:55:28 · 424 阅读 · 0 评论 -
全景图转换为天空盒图
现在来试试 球纹理(=720度全景图)转换为天空盒图(6张,前,后,左,右,顶,底)先找一张全景图:流程:1。载入全景图到opengl 中并贴到天空球上2。把视线分别转到前,后,左,右,顶,底3。截屏保存为文件具体看代码吧://53 全景球贴图 切分6图//左键(+ 移动)旋转,右键(+ 移动)缩放 1,2,3,4 切换地图,回车键(enter)全屏切换,按w、a、s、d、f、x、切换视角并...原创 2018-03-05 22:57:34 · 6872 阅读 · 2 评论 -
matlab绘制地球仪
% matlab绘制地球仪,clc;clear all;%装入地图path='D:\gong\opengl1\opengl1\Data\pic\';name=[path 'world1.jpg'];map=imread(name);map=flipdim(map,1);%垂直镜像(和opengl有点不一样)figure('Name','地球仪');[x y z] = sph...翻译 2018-03-08 10:30:56 · 6199 阅读 · 2 评论