原文发布时间:2010-07-03

作者:毛毛虫

这一部分内容是演示如何生成一个全球的3D图。

这篇文章中的例子显示了一个以经纬度表示的2D地图如何被转换为3D地球。

我们首先需要创建一个全球范围的矩形,然后把该矩形转换为3D地球,并将我们的一个包含全球国家行政区和南极洲的shape文件添加到这个3D表面上显示出来。

下面是操作过程:

首先创建3D地球。

使用转换器Creator创建一个全球范围的矩形(在后面转换为全球的格网),转换器设置如下:

然后使用AttributeCreator转换器,为这个矩形添加一些需要的属性,设置如下:

(图片已丢失)

使用Tiler转换器把矩形分为格网(例如,以5°为间隔),使用Counter转换器记录每个网格后(polyID),在使用Chopper转换器把网格转换为一个个的点,同时再次使用Counter转换器记录每个点(vexID),然后计算每个点的地心坐标值(x、y、z)。之前需要先获取每个点的经纬度坐标(使用转换器CoordinateExtractor),为了能使用三角转换器计算,需要把度转换为弧度,使用转换器AngleConverter,这两个转换器的设置分别如下:

(注意 Convert Angles On :选项选择 Attributes Only ,我们只转换属性,不转换几何)。
求出弧度之后,就可以计算每个点的地心坐标,可以参考下面公式:

每个点的坐标(x、y、z)计算如下:

x=_radius*cos(long+3.14159)*sin(3.14159/2.0-lat);

y=_radius*sin(long+3.14159)*sin(3.14159/2.0-lat)

z=_radius*cos(3.14159/2.0-lat)

此时的效果:

然后把点转换为3D点(3DpointReplacer转换器):

然后使用Sorter转换器排序,设置如下:

使用PointConnector转换器(注意这个转换器要根据属性polyID分组)重组多边形:

(图片已丢失)

对于LINE输出端口添加一个LineCloser转换器闭合可能的生成的线。

此时的输出结果如下(在pdf中显示的3D效果):

这就是一个生成3D地球的过程。下面我们看一下如何把全球的国家行政区显示在这个3D上。

< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

同样,对shape图层做类似处理,该shape文件视图如下:

(图片已丢失)

为了区分各个行政区,并达到较好的视图效果,可以先使用RandomColorSetter转换器对图层进行渲染。对shape图层进行同样的处理,两个数据各个数据叠加在一起的效果如下:

这个图层的处理与上面的操作不同之处是:

为了区分各个行政区,并达到较好的视图效果,可以先使用RandomColorSetter转换器对图层进行渲染。另外对于shape图层,需要注意一点,如图:

输出结果可能会有这种自相交的情况产生,为了这后面的操作中能生成正确的多边形,需要消除这种情况(可以使用转换器SelfIntersector和Deaggregator)。最后得到的结果如图:

为了更好的视图效果,我们可以对这个shape图层使用转换器Extruder进行一下拉伸,根据前面提到的公式,在x、y和z轴上的拉伸矢量可以设置如下:

vector_x=_elevation*cos(long+3.14159)*sin(lat+3.14159/2.0)/10.0

vector_y=_elevation*sin(long+3.14159)*sin(lat+3.14159/2.0)/10.0

vector_z=_elevation*cos(lat-3.14159/2.0)/10.0

最后的效果如下:

3D地球的生成(一)——生成全球的3D图相关推荐

  1. 2022-2028全球铝制3D打印机行业调研及趋势分析报告

    据恒州诚思调研统计,2021年全球铝制3D打印机市场规模约 亿元,2017-2021年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2028年市场规模将接近 亿元,未来六年CAGR为 ...

  2. 3d stroke插件下载_推荐一款好用的PS 3D地图插件,PS插件3D Map Generator ,一键生成地图神器...

    今天,给大家推荐一个强大的Photoshop(PS)地图插件--3D Map Generator,可以方便制作3D特效效果. 3D Map Generator插件是什么 3D Map Generato ...

  3. 3d 自动生成物体_Adobe发布3D建模、AR内容生成应用Scantastic

    10月27日消息,Adobe展示了一款支持3D AR扫描的全新移动应用原型Scantastic,该应用结合3D扫描.设计和AR技术,让你用手机就能将周围的物体扫描并生成3D模型. 据青亭网了解,Sca ...

  4. 证件照转数字人只需几秒钟,微软实现首个3D扩散模型高质量生成效果,换装改形象一句话搞定 | CVPR 2023...

    转载自 微软亚洲研究院 量子位 | 公众号 QbitAI 一张2D证件照,几秒钟就能设计出3D游戏化身! 这是扩散模型在3D领域的最新成果.例如,只需一张法国雕塑家罗丹的旧照,就能分分钟把他" ...

  5. CVPR 2023 | 微软提出RODIN:首个3D扩散模型高质量生成效果,换装改形象一句话搞定!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[扩散模型]微信技术交流群 转载自:微软亚洲研究院 编者按:近日,由微软亚洲研究院提出的 ...

  6. 搜狗发布全球首位 3D AI 主播,背后分身技术有玄机

    作者 | 陈利鑫 头图 | CSDN 下载自东方 IC 又是一年两会时间,平时关注新闻的朋友们可能会发现,新华社关于两会的报道,进行消息播送的主持人队伍加入了一位漂亮小姐姐,而这位小姐姐竟然不是真人, ...

  7. 【实战篇】40 # 如何实现3D地球可视化?

    说明 [跟月影学可视化]学习笔记. 如何实现一个 3D 地球 学习笔记源码实现:https://github.com/kaimo313/visual-learning-demo 整体实现效果如下: 1 ...

  8. 图像生成对抗生成网络gan_GAN生成汽车图像

    图像生成对抗生成网络gan Hello there! This is my story of making a GAN that would generate images of cars, with ...

  9. 机器人系统设计与制作:Python语言实现2.4 用LibreCAD生成机器人的二维CAD图

    2.4 用LibreCAD生成机器人的二维CAD图 我们来看看LibreCAD的主界面,如图2-3的屏幕截图所示. 图2-3 LibreCAD主界面图 左边的CAD工具栏是绘制模型必不可少的组件,图2 ...

最新文章

  1. Xamarin图表开发基础教程(2)OxyPlot框架
  2. python怎么学最快-浅谈:从为什么学习python到如何学好python
  3. java之DocumentBuilderFactory解析xml
  4. Linux之VI命令详解
  5. 不动产中心考试计算机测试题,2005年全国计算机二级考试VFP笔试模拟题
  6. 网页设计框架布局代码_网页设计中的分屏切割布局法
  7. python timer 死掉_Python timer定时器两种常用方法解析 Python中如何在一段时间后停止程序...
  8. IT从业者几大职位薪酬对比
  9. 粒子运动模拟 - Verlet积分算法简介
  10. mysql 锁怎么使用_MySQL锁的用法之行级锁
  11. 45岁以后的IT人生
  12. 大数据,数据分析,机器学习,架构等相关系统名称名词解释
  13. DataFactory造数-常用的数据产生方式
  14. sdk 今日头条_今日头条大数据分析平台艰辛成长路
  15. 【富文本】3如何制作U盘系统盘
  16. host映射主机名和端口
  17. 【解决方法】友盟分享 已安装QQ,但总提示“没有安装手机QQ客户端”
  18. 杭电1007 Quoit Design
  19. 赴台旅学前奏~台湾旅游知识普及篇
  20. 06 OpenCV 阈值处理、自适应处理与ostu方法

热门文章

  1. 计算机调剂深圳大学2017,深圳大学2017年考研调剂信息
  2. http抓包工具及协议登录技巧讲解
  3. deepin 为什么没有gedit命令
  4. java 漂亮ui开发_Java UI也可以很漂亮
  5. 小羊驼和你一起学习cocos2d-x之四(摇杆)
  6. java string类型 转 BigDecimal类型
  7. 【Twitter 舆论分析】Twitter 实时推文爬虫
  8. aria2的控制文件*.aria2的技术说明
  9. 2022年注册会计师财务管理历年真题易错题详解第一章
  10. NetApp 人工智能解决方案