- 博客(65)
- 收藏
- 关注
原创 八、Three.js生成曲线、几何体
用三维向量表示顶点的x、y、z坐标,作为数组元素创建一组顶点坐标是几何体的一个方法,通过该方法可以把数组中坐标数据提取出来赋值给几何体。具体说就是把pointsArr里面坐标数据提取出来,赋值给属性用二维向量表示顶点的x、y坐标,作为数组元素创建一组顶点坐标。 二维向量构成的数组作为的参数 椭圆弧线的父类是曲线,自然会继承父类曲线方法,通过可以从曲线上获取顶点数据。通过方法可以从曲线上按照一定的细分精度返回沿着曲线分布的顶点坐标。细分数越高返回的顶点数量越多,自然
2025-03-03 16:18:32
472
原创 七、Three.jsPBR材质与纹理贴图
表示模型表面的光滑或者说粗糙程度,越光滑镜面反射能力越强,越粗糙,表面镜面反射能力越弱,更多地表现为漫反射。生活中不同物体表面的粗糙程度不同,比如地面比较粗糙,比如镜子表面就非常非常光滑。的程度, 非金属材料,如木材或石材,使用0.0,金属使用1.0。,0.0表示平滑的镜面反射,1.0表示完全漫反射,默认0.5。默认是0.5,0.0到1.0之间的值可用于生锈的金属外观。threejs的PBR材质,
2025-02-27 11:52:00
946
原创 六、Three.js加载外部三维模型(gltf)
通过gltf加载完成,模型后,你还需要根据自身需要,设置合适的相机参数,就好比你拍照,你想拍摄一个石头,肯定要把相机对着石头,如果希望石头在照片上占比大,就要离石头近一些。如果你想看到工厂的全貌,你可以理解为你坐着无人机向下俯瞰,简单说,相比人漫游工厂,整体预览工厂相机距离工厂距离更远一些,否则你也看不到全貌,当然过于远了,你就看不清工厂了。相机位置怎么设置,你就类比你的眼睛,如果你想模拟人在3D场景中漫游,那么很简单,你把相机放在地面上,距离地面高度和人身高接近即可。
2025-02-24 16:44:53
1697
原创 四、Threejs层级模型
场景对象Scene、组对象Group的.add()方法都是继承自它们共同的基类(父类)Object3D。.add()方法可以单独插入一个对象,也可以同时插入多个子对象。
2025-02-22 16:10:03
515
原创 三、Three.js模型对象、材质
这里之所以强调这一点,课程目的不单单是给你介绍具体的知识点,也是在引导你学会查文档,降低记忆压力。网格模型沿着x轴正方向平移100,可以多次执行该语句,每次执行都是相对上一次的位置进行平移变换。属性用一个三维向量表示,那意味着,以后你想改变位置属性,就应该查询文档Vector3。,如果想对这些模型进行旋转、缩放、平移等操作,如何实现,可以查询Threejs文档。表示很多种数据,本节课提到的比较简单,就是位置。表示模型对象的xyz三个方向上的缩放比例,等方法本质上改变的都是模型的位置属性。
2025-02-20 19:53:59
568
原创 二、Three.js几何体BufferGeometry顶点笔记
通过javascript类型化数组创建一组xyz坐标数据用来表示几何体的顶点坐标。//类型化数组创建顶点数据0, 0, 0, //顶点1坐标50, 0, 0, //顶点2坐标0, 100, 0, //顶点3坐标0, 0, 10, //顶点4坐标0, 0, 100, //顶点5坐标50, 0, 10, //顶点6坐标]);通过threejs的属性缓冲区对象表示threejs几何体顶点数据。// 创建属性缓冲区对象//3个为一组,表示一个顶点的xyz坐标。
2025-02-18 12:01:30
446
原创 TS学习笔记
安装命令第一步:新建index.html和demo.ts第二步:在index.html引入demo.ts文件第三步:运行TS的命令注意:运行命令后,会将ts文件转换成js文件如果想要实时转换运行命令。
2024-11-01 11:19:08
435
原创 Vue3的router和Vuex的学习笔记整理
第二步:在src/view下面创建两个vue文件,一个叫Home.vue和About.vue。路由组件第二步:src/router/index.js文件里引入且配置。第一步:新建两个页面,一个Foo.vue和Bar.vue;第一步:src/router/index.js创建文件。第三步:配置src/router/index.js文件。第三步:在About.vue文件中配置二级路由和跳转。在App.vue文件中使用。
2024-10-31 12:36:52
602
原创 各种文件的预览下载(docx,pdf,txt,图片)
注意:直接用a标签,可以跳转预览,但是会出现乱码的问题。注意:这个下载可能会出现文件损坏,无法打开的问题。
2024-08-14 11:48:26
632
原创 JS实现数据结构与算法
求中间元素的值mid,即:mid = left + (right - left) / 2 得到中间下标。需要找的数先去找数组中中间的值,去作对比,大于就往右边找,小于就往左边找。注意:快速排序的规则就是先找中间的数,比中间大的放在左边,小的放在右边,再去对两边的数进行同样的操作。注意:循环一次是O(n),双层循环是O(n^2),二分查找O(logn),快速排序是O(n*logn)注意:广度优先遍历是,先遍历根节点,再同层从左到右遍历。时间复杂度是O(logn)注意:二分查找首先是查找的内容是已排序。
2023-11-12 07:12:00
322
原创 React-Router-6学习笔记
6、重新打开终端,安装react-router(版本:"react-router-dom": "^6.16.0")注意:最简单的区别就是路由访问的时候一个有#一个没有。注意:查询只字符串传参的方式比较简单,参数的形式以问号拼接到地址后面。注意:利用createHashRouter创建的路由属于hash模式。注意:路由跳转过去后,直接销毁上一页路由,点击返回无法返回上一页。5、删除多余的东西,保留app.jsx和main.jsx文件即可。:创建路由实例在方法中定义路由path和组件的对应关系。
2023-10-14 00:51:53
955
原创 第一次创建vue3出现的坑,爬坑之旅
首先查了说是node版本太低问题,但是我查了一下,我的电脑版本node是 v18.15.0所以不会node版本问题。首先直接用hBuilder新建的vue3.2.8的项目,建好后直接运行就出现了报错。
2023-08-02 12:04:43
461
原创 webpack5高级配置
注意:针对多个html文件的时候我们需要生成多个html文件,需要在通过new HtmlWebpackPlugin去实现。注意:webpack5基本配置只是打包产出一个html文件 ,想要产出多个html就需要进行过入口的配置。注意:输出的时候利用[name]根据输入的文件名来确定导出的文件名称!新建两个文件,一个other.html,一个other.js文件。注意:公共文件中的入口需要引入两个js文件。注意:打包文件会分包打包出不同的文件。
2023-07-09 18:19:56
1754
原创 前端遇见的各种方法自我整理(所有方法都需要背下来)
render函数会插入jsx生成的dom结构,react会生成一份虚拟dom树,在每一次组件更新时,在此react会通过其diff算法比较更新前后的新旧DOM树,比较以后,找到最小的有差异的DOM节点,并重新渲染。唯一用于控制组件重新渲染的生命周期,由于在react中,setState以后,state发生变化,组件会进入重新渲染的流程,在这里return false可以阻止组件的更新。组件第一次渲染完成,此时dom节点已经生成,可以在这里调用ajax请求,返回数据setState后组件会重新渲染。
2023-07-09 16:07:34
822
原创 前端面试刷题整理
JavaScript中的垃圾回收机制是一种内存管理技术,其主要目的是在不再使用的内存资源被回收前,使其成为可用的内存。标记清除是JavaScript中最常见的垃圾回收技术之一,它通过标记无用的内存资源并清除它们来释放内存。
2023-07-08 03:35:51
1417
原创 Redux 应用
注意:stateToProps只有映射出来的值才可用props的方式访问显示出来,没有做映射的不可以访问。在index.js文件中去全局应用redux。注意:state的值需要深度拷贝一遍。
2023-05-21 14:04:49
151
原创 React项目中函数组件利用useState平替class组件(Hooks)
【代码】React项目中函数组件利用useState平替class组件(Hooks)
2023-04-14 02:03:32
229
原创 JSX实现作用域插槽
总结:JSX实现作用域插槽的原理主要是,将父组件内需要渲染的内容元素封装成一个函数,当做props传递给子组件,子组件渲染数据,直接执行该函数进行传值。
2023-04-13 02:45:24
572
原创 Vue3的composition API实现逻辑复用(鼠标移动显示出x和y)
【代码】Vue3的composition API实现逻辑复用(鼠标移动显示出x和y)
2023-04-05 23:07:00
164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人