cesium编程入门(一)cesium简介】的更多相关文章

cesium编程入门 cesium是什么 Cesium 是一个跨平台.跨浏览器的展示三维地球和地图的 javascript 库. Cesium 使用WebGL 来进行硬件加速图形,使用时不需要任何插件支持,但是浏览器必须支持WebGL; Cesium是基于Apache2.0 许可的开源程序.它可以免费的用于商业和非商业用途. Cesium官方网站 cesium能做什么 支持2D,2.5D,3D 形式的地图展示, 可以绘制各种几何图形.高亮区域,支持导入图片,甚至3D模型等多种数据可视化展示 可用…
cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下: 由此思路就出来了: 根据要旋转的角度,构建一个三阶旋转矩阵 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算, 最后将计算结果再赋值给modelMatrix,完成. 参考代码: var m = tileset.modelMatr…
cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置,值就为一个默认给定的GUID name 名称,可以不唯一 availability 可用性 show 可见性 description 描述 position 位置 orientation 方向 viewFrom 查看此对象的初始偏移量 parent 父节点 properties 与此实体关联的任意属…
cesium编程入门(八)设置材质 Cesium中为几何形状设置材质有多种方法 第一种方法 Material 直接构建Cesium.Material对象,通过设置Material的属性来进行控制,官方示例和API描述的比较清楚, API说明 材质示例 第二种方法 MaterialProperty 今天介绍通过MaterialProperty设置: Cesium 材质相关的类为 MaterialProperty,它有一下几个子类: ColorMaterialProperty ImageMateri…
cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下: 由此思路就出来了: 根据要旋转的角度,构建一个三阶旋转矩阵 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算, 最后将计算结果再赋值给modelMatrix,完成. 参考代码: var m = tileset.modelMatr…
添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级渲染,将大数据量三维数据以分块,分层的形式组织起来,可以大量减轻浏览器和GPU的负担是一个优秀的,并且格式公开的数据格式. 3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据. 参考 官网 3dtiles 介绍 3D Tiles 3D Tiles将用于流式传输3D内容,包括建筑…
添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级渲染,将大数据量三维数据以分块,分层的形式组织起来,可以大量减轻浏览器和GPU的负担是一个优秀的,并且格式公开的数据格式. 3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据. 参考 官网 3dtiles 介绍 3D Tiles 3D Tiles将用于流式传输3D内容,包括建筑…
通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer.entities.add**({ name : 'Red box with black outline', position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0), box : { dimensions : new Cesium…
感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV) Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助. Animation : 动画器件,控制视图动画的播放速度.…
搭建最简的开发环境 这一节来搭建一个最简单的能运行的helloworld,以后的代码也会在这一节的基础上慢慢增加 创建文件夹 mkdir cesium-test cd cesium-test 引入编译成果 将cesium源码中的Build文件夹,拷入cesium-test 创建html 将cesium-1.4.0/Apps/ 中的HelloWorld.html 拷入cesium-test 使用vscode 等编辑器打开 修改js和css的文件路径 <script src="../Build…
环境搭建 环境搭建 编译 node 安装 Node.js安装包及源码下载地址为:https://nodejs.org/en/download/. 安装完成后,打开命令行,输入:node -v,如果结果为版本号,表明安装成功 $ node -v v6.10.3 cnpm 设置 国内使用npm时有时速度很慢,推荐使用cnpm替代,使用方法和npm一样,链接:淘宝 NPM 镜像 $ npm install -g cnpm --registry=https://registry.npm.taobao.o…
通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer.entities.add**({ name : 'Red box with black outline', position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0), box : { dimensions : new Cesium…
感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV) Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助. Animation : 动画器件,控制视图动画的播放速度.…
cesium编程中级(二)源码编译 有些情况下,比如我们自己从Github下载了最新的代码,或者自己临时修改了一点代码,想要编译后的Build文件夹的内容,需要自行编译源码,这里介绍一下编译的方法 下载源码之后,可以发现根目录存在一个gulpfile.js文件,编译源码就是使用 gulp 编译的成果有四部分, 生成Apps文件夹,包括helloworld程序和沙盒Sandcastle 编译后的部署环境下的Cesium文件夹 编译后的调试环境下的Cesium文件夹 API文档 解压,或者git c…
cesium编程中级(一)添加示例到Sandcastle 添加示例到Sandcastle在cesium编程入门(七)3D Tiles,模型旋转中提到过,这里是一份完整的说明 创建例子 开启node服务后打开 http://localhost:8080/Apps/Sandcastle/ 会自动跳到 hello world 示例 可以选择点击左上角的[New]按钮新建一个页面,也可以就在当前页面的[JavaScript code]面板中进行修改 如果需要添加界面元素,比如输入框,按钮之类,需要在[H…
Cesium入门1 - Cesium介绍 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium简介 Cesium官网:https://cesiumjs.org 官网中标题写到: An open-source JavaScript library for world-class 3D globes and maps Cesium是一款开源的基于JavaScript的3D地图框架.其实他就是一个地图可视化…
cesium编程中级开篇 其实初级,中级并无定论,我理解的初级是根据官方教程,先学会如何部署环境,搭建hello world,使用官方提供的工具,完成一些示例, 而中级就是在这些的基础上,自己定制一些内容,或者项目过程中自己的一些思路,以及发现问题,解决问题的一些经验记录 不知不觉已经写了一些了,加油O(∩_∩)O哈哈~…
Cesium入门5 - Cesium ion Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium ion是一个提供瓦片图和3D地理空间数据的平台,Cesium ion支持把数据添加到用户自己的CesiumJS应用中.下面我们将使用Sentinal-2二维贴图和Cesium世界地形,二者都需要ion的支持. 备注 在我们使用Cesium的过程中,如果没有申请ion,同时没有自己的数据源用的cesium…
Cesium入门3 - Cesium目录框架结构 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ app目录 下载官网上的文件,我们能看到以下CesiumJS库结构: Source/: Cesium应用程序代码及数据 ThirdParty/:外部依赖库,不同于Cesium的第三方库 LICENSE.md:Cesium的License介绍 index.html:Web首页,需要按照Cesium要求定义页面,同时…
Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验证浏览器 Cesium需要浏览器支持WebGL,可以通过CesiumJS官网提供的一个HelloWorld例子来测试自己的浏览器是否支持Cesium.(推荐使用Chrome) 测试地址: https://cesiumjs.org/Cesium/Apps/HelloWorld.html 选择IDE 官…
PC游戏编程(入门篇) 第一章 基石 1. 1 BOSS登场--GAF简介 第二章 2D图形程式初体验 2.l 饮水思源--第一个"游戏"程式 2.2 知其所以然一一2D图形学基础 2.3 进入图形世界的钥匙--GAFDDraw 2.4 2D图像的本质--图层表面 2.5 场景的秘密--背景卷动 2.6 诱惑--来自"精灵"的问候 2.7 餐后甜点--GAFApp/GAFDDraw的其他法宝 第三章 塞壬的歌声魔力和第三类接触 3.1 1,2,3--计算机音乐概述…
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事.   另外,以下是与本文内相关知识点有关联的文章,可详细阅读之: <P2P 技术详解(一):NAT详解——详细原理.P2P简介> <P2P 技术详解(二):P2P…
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言   老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用Ping命令Ping一下服务器看看通不通.甚至在有些情况下通过图形化的Ping命令工具对目标网络进行长测(比如:<两款增强型Ping工具:持续统计.图形化展式网络状况 [附件下载]>.<网络测试:Android版多路ping命令工具EnterprisePing[附件下载]>),可以…
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交道的网络应用层协议之一,它的重要性可能不需要再强调(有鉴于此,即时通讯网整理了大量的有关http协议的文章,如有必要可从本文的相关链接处查阅).但是实际上很多人(包括我自己),虽然每天都会跟http的代码打交道,但对http了解的并不够深入.本文就我自己的学习心得,分享一下我认为需要知道的http常…
1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机网络编程的基础,TCP/UDP收发消息都靠它.我们熟悉的web服务器底层依赖它,我们用到的MySQL关系数据库.Redis内存数据库底层依赖它.我们用微信和别人聊天也依赖它,我们玩网络游戏时依赖它,读者们能够阅读这篇文章也是因为有它在背后默默地支持着网络通信. 本篇文章依然尝试使用动画图片的方式,来对这个知识…
.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方式,来对这个知识点进行“脑残式”讲解(哈哈),期望读者们可以更加简单.直观地理解TCP网络通信交互的本质. 另外,社区里的另两篇文章<理论经典:TCP协议的3次握手与4次挥手过程详解>.<理论联系实际:Wireshark抓包分析TCP 3次握手.4次挥手过程>也是不错的入门文章,有兴趣…
上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类. 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在显示器和打印机上显示图形.我们在MFC开发中经常会使用GDI来输出文本或图形图像(当然现在也有了GDI+,本教程主要讲解GDI).文本实际上就是一种特殊的图形,它只不过是根据事先指定的“字体”绘制出来的图形. 字体通常用来为字符集中每一个字符,如字母.数字.标点符号等,指定其形状等外表特征.窗口创建…
上一节中鸡啄米讲了工具栏的创建.停靠与使用,本节来讲解状态栏的知识. 状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态.状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息. 用MFC向导生成的单文档或多文档程序都会自动创建状态栏,大家可以运行下VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)中创建的Example34程序,在结果界面中可以看到窗口底部有个状态栏,该状态栏被分为了几个窗格,分…
前面几节讲了菜单.工具栏和状态栏的使用,鸡啄米本节开始将为大家讲解文档.视图和框架的知识. 文档.视图和框架简介 在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工程Example34中,我们可以看到MFC向导自动为我们生成了CExample34Doc类.CExample34View类和CMainFrame类,它们就分别是文档类.视图类和框架窗口类. 文档/视图结构是MFC提供的一种不错的设计,它将数据的处理和显示分开来,这样更便于我们对程序的维护和扩展.下面…
上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏. 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成.当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息. 一般工具栏中的按钮在菜单栏中都有对应的菜单项中,即点击工具栏按钮与点击菜单项的效果相同.但工具栏中的按钮都显式的排列出来,操作很方便,而且按钮上的图片描述功能更直观,所以工具栏作为用户操作接口来说比菜单…