项目一:自动驾驶仿真云平台开发
【知识点笔记】
1.导入本地文件遇到的问题:
(1)倘若你只是使用Three.js库中所提供的几何体,且不载入任何纹理贴图,则 页是可以从本地的文件系统中打开,并且是能够直接运行的,只需在文件管理器中双击HTML文件,它就可以在浏览器中进行显示。 (此时你将在地址栏中看到类似这样的URL:file:///yourFile.html)
(2)倘若你需要从外部文件里载入几何体或是纹理贴图,由于浏览器same origin policy(同源策略)的安全限制,从本地文件系统载入外部文件将会失败,同时抛出安全性异常,此时可以用python建立一个本地服务器,只需要从命令行里便可以运行它(从工作目录):
这将会在为当前目录在8000端口创建一个服务器,也就是说你可以在地址栏里输入这个地址来访问已经创建好的服务器:
2.three.js基本变量的初始化:
3.var:
(1)在函数内部使用var关键字声明的变量就是私有变量,该变量的作用域仅限于当前函数体内,但是外部不能访问。
(2) 但是如果不使用var关键字定义的变量都是全局变量,不管是在函数内或者函数外,在整个页面脚本中都是可见的。
4.渲染器shader、着色器renderer:
渲染是指以软件由模型(三维物体或虚拟场景)生成图像的过程。
着色是在渲染的过程中的一项重要的工作,即根据物体相对于光线的角度及其与光源的距离来计算图像中各像素的值,这个值决定了最终图像中显示出哪些图形(一些图形可能会被遮挡)及其明暗效果。
5.坐标系:
面对屏幕向上为y轴的正方向,向左为正x轴的正方向,垂直于屏幕向外的为z轴的正方向。如下图所示:
6.Three.js三维模型几何体缩放、旋转和平移。
缩放:
旋转:
平移:
位置属性position、角度属性rotation:
7.JavaScript中const,var,let区别:
(1)const定义的变量不可以修改,而且必须初始化
(2)var是函数局部作用域;定义的变量可以修改,如果不初始化会输出undefined,不会 错。
(3)let是块级作用域。
8.理解JavaScript中的this:
(1)this 返回属性或方法“当前”所在的顶层对象(调用时的顶层)。(函数中指向顶层函数,全局环境中指向window/浏览器窗口)
(2)构造函数:
构造函数中的 this ,指的是实例对象。
(3)对象的方法
只有这一种用法(直接在 obj 对象上调用 foo 方法), this 指向 obj ;其他用法时, this 都指向代码块当前所在对象(浏览器为 window 对象)。
9.搞懂JS中的prototype、__proto__与constructor
(1)prototype对象就是实例函数,a1、a2是实例:
(2)constructor指向构造函数:
(3)重写了Prototype对象后:
10.指针和引用:
指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元,即指针是一个实体。
引用:跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!