在这里我们看到判断Lod的级别主要有三个条件: * 1.相机视角范围,视角范围越大,所包含的tileSize就越大 * 2.相机与瓦片距离,距离越远,所包含的tileSize也就越大 * 3.相机视锥与瓦片是否相交 相对应我们可以把视角剔除方法理解成以下三步: * 1.根据视角范围,画个大圈,把大圈里的大瓦片全加进来 * 2.根据相机与瓦片的距离进行细化瓦片,如果太远的瓦片仍然保持很大,而近处的瓦片需要进一步更新,计算子瓦片. * 3.每计算一个瓦片都需要判断它是否在视锥里,否则剔除身后看不到的…
WW的纹理,DEM数据,及LOD模型 以earth为例 1. 地形数据: 默认浏览器纹理数据存放在/Cache/Earth/Images/NASA Landsat Imagery/NLT Landsat7 (Visible Color),和高程数据一样分层存储,从服务器下载的图像为JPG格式,512*512像素,下载完毕后转换为DDS格式,DTX3压缩,所占空间会增大一倍多,但据说运行时可节约50%内存,下载的临时文件后缀为jpg.tmp,下载出错后会多一个0字节的jpg.txt文件.国界数据存…
上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容,必须得掌握哦~ 小白:师兄,上次听你讲了李群李代数,有种“听君一席话胜读十年书”的赶脚~后来看书感觉容易理解多了呢!师兄:是吗?那太好啦,给你讲的过程也加深了我的理解呢小白:那师兄今天要不要继续加深理解一下相机成像模型 的部分呢?师兄:额..好啊(感觉被套路了,不过想想上次小白师妹请客吃了烧烤呢)小白:讲完…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十三章:计算着色器(The Compute Shader) 代码工程地址: https://github.com/jiabaodan/Direct12BookReadingNotes GPU已经被优化为处理单个地址或者连续地址(流操作)的大量内存数据:这和CPU的随机内存访问形成鲜明对比.因为顶点和像素可以独立处理,所以GPU被架构为大量的并行运算:比如NVIDIA…
人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍 工业机器人,家用机器人这些只是人工智能的一个细分应用而已.图像识别,语音识别,推荐算法,NLP自然语言,广告算法,预测算法,数据挖掘,无人驾驶.医疗咨询机器人.聊天机器人,这些都属于人工智能的范畴. 人工智能现在用到的基础算法是深度学习里面的神经网络算法,具体应用场景有不同的专业算法实际上很多细分领域的,差别还是很多的机器人的对运动控制算法,图像识别算法要求比较高像alphaGo,推荐算法…
相机分为透视相机和正交相机(还有第三人称相机不介绍). var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); •第一个参数 (75) 定义了相机的垂直 视野, 并采用度为单位(从视图的底部到顶部).这是任意时间在屏幕上看到的 可观察 内容的范围.水平 FOV 是通过使用垂直 FOV 计算出来的. •第二个参数 (window.innerWidth / win…
在同步IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行.而异步IO方式中,线程发送一个IO请求到内核,然后继续处理其他的事情,内核完成IO请求后,将会通知线程IO操作完成了. 如果IO请求需要大量时间执行的话,异步IO方式可以显著提高效率,因为在线程等待的这段时间内,CPU将会调度其他线程进行执行,如果没有其他线程需要执行的话,这段时间将会浪费掉. 协程 协程(Coroutine),又称微线程. 我们平常使用的函数又称子程序,是层级调用的,即A函数调用B,B函…
tableView自适应高度 效果图: 源码: class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { var tableView:UITableView? override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from…
原文链接:http://www.limerence2017.com/2018/01/11/python22/ 本文介绍python如何使用数据库方面的知识. SQLite SQLite是一种嵌入式数据库,本身是*.db的文件.通过python操作数据库的步骤:1 连接数据库返回connection连接2 通过connection连接获取cursor,cursor即游标3 通过cursor执行语句4 通过cursor查询结果,如fetchall5 关闭游标cursor6 提交事务7 关闭连接 下边…
kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用.      首先我们通过OpenCV中的随机数产生器RNG,生成一些均匀分布的随机点,这些点的位置对应一副图像中的像素位置,然后使用kmeans算法对这些随机点进行分类,并计算出分类簇的中心点.      随机产生的簇的数量是2到5之间的值,采样点的数量范围是1-1000,一维矩阵centers存放kmeans算法结束…
本来希望从GlobeMapper中生成切片直接加载到WorldWind中,但是没有成功!所以想比较一下和dstile生成的瓦片到底有什么区别? 所以这才第一次生成并加载了影像瓦片.貌似和GlobeMapper中的区别是路径的命名方式不一样!GlobeMapper是xx_xx.jpg,文件夹也都是两位.而dstile或者说WW需要的是4位,即xxxx_xxxx.jpg. ——2013.10.24------------------------------------- 今天又测试了一下,证明了Gl…
代码 // 获取当前三维范围 function getCurrentExtent() { // 范围对象 var extent = {}; // 得到当前三维场景 var scene = viewer.scene; // 得到当前三维场景的椭球体 var ellipsoid = scene.globe.ellipsoid; var canvas = scene.canvas; // canvas左上角 var car3_lt = viewer.camera.pickEllipsoid(new C…
'''''''''1.高阶函数:将函数作为参数传递到另一个函数中,作为这个函数的参数,这样的方式叫高阶函数(1)map:两个参数,一个是函数,一个是iterator,将函数依次作用于Iterator中的每一个元素,结果返回一个Iterator'''#高阶函数举例a=abs(-10) #abs()是python内置的取绝对值的函数print(a)f=abs #将函数abs本身赋值给变量f,也可以理解为将函数abs的函数名更改为f,这样就可以调用f来取代abs的功能b=f(-10)print(b)#…
Three.Camera Camera是所有相机的抽象基类, 在构建新摄像机时,应始终继承此类. 常见的相机有两种类型: PerspectiveCamera(透视摄像机)或者 OrthographicCamera(正交摄像机). Camera子类型有ArrayCamera, CubeCamera, OrthographicCamera, PerspectiveCamera, StereoCamera, 这些相机中, 我认为比较有趣的是CubeCamera, 它包含6个PerspectiveCam…
前提是已经知道了有哪些 key 值 Model 类: .h @interface ListModel : NSObject @property (nonatomic, copy)NSString *time; @property (nonatomic, copy)NSString *cname; @property (nonatomic, copy)NSString *summary; @property (nonatomic, copy)NSString *title; @property (…
一.文件下载简述 1.使用浏览器从网页上下载文件,Servlet需要增加一些响应头信息 (1)response.setContentType("application/force-download"); (2)response.setContentLength(fis.available()); (3)response.setHeader("Content-Disposition","attachment;filename="+filename)…
1.文件上传概述 (1)使用<input type="file">的方式来声明一个文件域. (2)表单提交方式一定要是post方式才行 (3)表单属性enctype 默认提交属性:application/x-www-form-urlencoded 这个类型表示传递的是键值对类型 需要改成:multipart/form-data  这个类型表示将要传递的是字节码类型 (4)使用httpWatch查看http协议的请求部分,可以发现 在Content-type后面的bounda…
1.自定义视图 1> 概述   定义视图:系统标准UI之外,自己组合而出的新的视图. 定义视图的优点: iOS提供了很多UI组件,借助它们我们可以实现不同的功能.尽管如此,实际开发中,我们还需要自定义视图.积累自己的代码库,方便开发.自己封装的视图,能像系统UI控件一样,用于别的项目中,能大大降低开发成本,提高开发效率. 高质量代码的特点:可复用,可移植,精炼等.(高内聚,低耦合) 2> 自定义视图步骤(以登录框为例(LTView)) 根据需求的不同,自定义视图继承的类也有所不同.一般自定义的…
>_<:太多啦,感觉用英语说的太慢啦,没想到一年做的东西竟然这么多.....接下来要加速啦! >_<:注意这里必须用MFC和前面的Win32不一样啦! >_<:这也是第一次出现MFC游戏,其框架和逻辑的写法和Win32有很大的区别,建议先看一下MFC的基础再理解代码: >_<:TicTac.h #define EX 1 //该点左鼠标 #define OH 2 //该点右鼠标 class CMyApp : public CWinApp { public: v…
在<C++基类和派生类的赋值>一节中讲到,基类的指针也可以指向派生类对象.请看下面的例子: #include <iostream> using namespace std; class People{ protected: char *name; public: People(char *name):name(name){} void display(){ cout<<"People: "<<name<<endl;} }; c…
SnapKit是Swift中自动布局的框架,相当于Objective-C中的Masonry 下面是tableView自定义cell,使用SnapKit布局的效果图: 详细代码如下: TYCustomCell.swift import UIKit import SnapKit class TYCustomCell: UITableViewCell { var imgView: UIImageView? var titleLab:UILabel? var despLab:UILabel? requi…
// 枚举 常备用于为特定的类 或 结构体实现某些功能, 类似的, 枚举可以方便的定义工具类 或 结构体, 从而为某个复杂的类型所使用, 为了实现这种功能, Swift 允许你定义 嵌套类型, 可以在支持的类型中定义嵌套的,枚举, 类和 结构体 // 要在一个类型中嵌套 另一个类型, 将嵌套类型的定义写在其外部类型的 {} 内, 而且可以根据需要定义多级嵌套 struct BlackjackCard{ // 嵌套的枚举 enum Suit: Character { case Spades = "…
转自 http://www.cnblogs.com/BeginMan/p/3183656.html 一.模块基础 1.模块 自我包含,且有组织的代码片段就是模块 模块是Pyhon最高级别的程序组织单元,它将程序代码和数据封装起来以便重用.实际的角度,模块往往对应Python程序文件. 每个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名.模块可以由两个语句和一个重要的内置函数进行处理. import: 使客户端(导入者)以一个整体获取一个模块. from:容许客户端从一个…
type函数可以检测任何值或变量的类型. 例子: def printType(var): print(type(var)) class TestClass: pass printType(1) printType(1.5) printType('str') printType(True) printType(['a','b','c']) printType(('a','b','c')) printType(set(['a','b','c'])) printType({'Tom':18,'Lily…
Django CSRF CSRF攻击过程 攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登陆网站A: 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登陆网站A成功,可以正常发送请求到网站A: 3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B: 4.网站B收到用户请求后,返回一些攻击性代码,并发出一个请求,要求访问第三方站点A: 5.浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息…
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] } 如果你愿意,也可以在函数名前加上关键字 function: function function_name () { list of commands [ return value ] } 函数…
一.TCP/UDP通信在Qt中的实现过程: 废话不说,首先下面是Qt中TCP/UDP的实现图解: 1.Qt下TCP通信详解: 针对上图进行简单的说明:         QTcpServer用来创建服务器对象,服务器对象创建以后,调用成员函数listen()进行监听某个IP和某个端口,其中listen()包含了IP和Port(即地址和端口).其实服务器的监听操作是用来将该服务器和某个地址以及某个端口绑定.你可以理解为Qt为了区分服务器和客户端而创造了监听操作.具体代码如下: _server = n…
一.概述 1.接下来介绍在k8s上运行pod对象时我们如何去监控我们系统级的资源指标以及业务级别的资源指标.数据如何获取和监控.在此之前先介绍一下Pod对象的资源请求和资源限制.即容器的资源需求和资源限制.在docker中说到过容器是可以资源限额的,在启动容器时候我们可以定义一个容器可以使用多少的cpu和内存资源.在当时说过cpu资源是可压缩资源,一个pod或一个容器在应该获取指定资源获取不到时等待即可,但是对内存来讲就不是这样的,假如他用到的资源不够就有可能会因为内存资源耗尽而被killd .…
格式化包括:百分号方式和format方式 1.百分号 - %s   (%.4s   表示截取了4个字符) 传单个值: 例如: print('i am %s sex boy is ljj'%123) 运行结果: i am 123 sex boy is ljj Process finished with exit code 0 传多个值: ','ss')) 运行结果: i am 13 sex boy is ss Process finished with exit code 0 - %d (只能传数…
你是如何理解 HTML 语义化的? 语义化:指对文本内容的结构化(内容语义化),选择合乎语义的标签(代码语义化). 举例:段落用 p,边栏用 aside,主要内容用 main 标签. 好处: 便于开发者阅读和维护 有利于SEO:让浏览器的爬虫和辅助技术更好的解析, 语义化标签介绍: 在HTML5出来之前,我们习惯于用div来表示页面的章节或者不同模块,但是div本身是没有语义的.但是现在,HTML5中加入了一些语义化标签,来更清晰的表达文档结构. meta viewport 是做什么用的,怎么写…