- 博客(69)
- 资源 (3)
- 收藏
- 关注
原创 11.Three.js使用indexeddb前端缓存模型优化前端加载效率
indexeddb 介绍和学习可以参考这里:https://zhuanlan.zhihu.com/p/429086021IndexedDB主要用来客户端存储大量数据而生的,我们都知道cookie、localstorage等存储方式都有存储大小限制。如果数据量很大,且都需要客户端存储时,那么就可以使用IndexedDB数据库。它是一种前端的非关系型数据库,同样具有增删改查的功能。//数据库名称//数据库版本号//数据库仓库// 根据模型的url地址,请求模型。
2024-11-03 01:30:00
649
原创 10.Three.js射线拾取,实现点击选中场景中的物体
Ray(射线)是类似几何数学中的射线的概念,由一个发射起点和射线方向组成。相当于在三维空间中,一条线把一个点作为,然后沿着某个无限延伸。可以用来判断是否和几何面,是否相交等等。由很多应用。比如用来计算物体间的距离、物体拾取、是否和物体相交等等。
2024-10-31 00:54:03
690
原创 9.Three.js的光源
在Threejs中,需要有光源,才能看得见物体,否则,我们看到的物体是黑暗的。同时,光源配合材质的反射效果,能更加展示3D场景。光源用Light表示,它是所有光源的基类。它有一个参数hex,接受一个16进制的颜色值。
2024-10-27 13:18:17
722
原创 8.three.js相机详解
在Threejs中相机的表示是THREE.Camera,它是相机的抽象基类,其子类有两种相机,分别是正投影相机THREE.OrthographicCamera和透视投影相机THREE.PerspectiveCamera:正投影和透视投影的区别是:透视投影有一个基本点,就是远处的物体比近处的物体小。
2024-10-22 14:34:10
937
原创 7.three.js通用几何体加载与gltf模型、obj模型加载
three.js中提供了各种各样通用的几何体对象,方便我们进行通用几何体的构建,不必通过geometry基类来自定义顶点、面信息来进行构建,简化了我们开发。如BoxGeometry(方形几何体)、CircleGeometry(圆平面几何体)、CylinderGeometry(圆柱几何体)等等。
2024-10-21 22:44:20
593
2
原创 6.Three.js贴图与uv映射(uv坐标)理解和实践
贴图是构建计算机三维物体的重要组成部分,通过加入贴图,才能使Three.js构造的三维物体更具真实性。
2024-10-21 18:09:16
1053
原创 5.Three.js坐标轴与绘制自定义几何体
/1.1:创建顶点,加入到geometry中//1.2:使用顶点来创建几何体的各个三角面,加入到geometry中// 1.3:计算法向量//计算法向量 这决定了对光做出的反应。
2024-10-20 16:28:34
664
原创 4.three.js网格模型介绍和绘制基础点、线、面
/创建顶点//创建几何体对象// 顶点添加到Geometry的顶点数组vertices中//创建面//设置这个面的法向量//设置各个顶点对应颜色//设置网格材质,这里设置为Lambert材质为一种不发光材质});//创建网格模型(line)
2024-10-20 15:18:09
845
原创 Cesiumlab发布3dtiles白膜流程与前端可视化加载
1.1 安装CesiumLab并注册(1.2 最好安装有Qgis可以进行简单数据处理(如果有完整数据可以不用)(1.3 了解cesium.js。
2024-10-17 17:23:06
1477
原创 qgis3.32安装包
地址:https://download.youkuaiyun.com/download/qq_44849312/89896265。
2024-10-17 14:38:01
563
原创 3.Three.js程序基本框架结构和API说明
一个基本的Three.js程序,基本都需要设置场景、渲染器、相机、灯光等等通用操作,因而我们可以把Three.js基本程序框架进行整理,如下。其中,我们可以用Three.js提供的OrbitControls拓展库对Three.js场景进行鼠标操作。
2024-10-16 17:07:45
265
原创 2.实现第一个three.js程序
注意一个版本问题:three.js版本并不稳定,几乎每个月都会更新一个小版本,尽可能使用固定版本进行开发,事实上我们入门的话,只掌握其中一个版本即可,如果使用新版本,需要查看新版本与旧版本的差异。这里使用96dev版本:下载地址:https://download.youkuaiyun.com/download/qq_44849312/89884271。
2024-10-14 06:25:20
704
原创 1.Three.js简介
three.js官网:https://threejs.org/Three.js是用JavaScript编写的一个第三方库,用于实现很多的3D功能,它是基于WebGL进行封装的。而WebGL又是由OpenGL ES2.0+Javascript进行封装的,而OpenGLES 2.0又是OpenGL 三维图形 API 的一个子集,而OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。
2024-10-14 04:42:03
895
原创 分享开源且强大的HTML5网页视频播放器
随着互联网技术的飞速发展,视频内容已成为现代网络体验中不可或缺的一部分。无论是在线教育、娱乐还是企业宣传,高质量的视频播放器都是确保用户获得良好观看体验的关键。HTML5的出现极大地推动了网页视频播放技术的进步,逐渐取代了传统的Flash播放器,提供了更高效、安全和跨平台的解决方案。本文将为您推荐几款开源且功能强大的HTML5网页视频播放器,帮助您在不同的应用场景下选择最适合的工具。
2024-09-23 15:39:56
5105
原创 十.在vue中,发送axios请求应该放在created里还是mounted里?详解
事实上,axios请求在created和mounted中发生是都可以的,但是具体根据业务来判断使用,比如存在父子组件,并且业务上要求子组件的数据要比父组件的数据先出来,那么就应该是:子组件请求放在created或mounted里,父组件请求必须仿真mounted里。在回答这个问题之前,我们需要知道vue的生命周期钩子顺序:beforecreated(组件创建前,dom元素、data都为undefined)beforemounted(组件挂载前,dom元素为undefined、data有值)
2024-09-13 14:40:07
503
原创 java中的Opencv:Opencv简介与开发环境部署
OpenCV ( Open Source Computer Vision Library )是一个广泛应用于计算机视觉和图像处理领域的开源库。它提供了丰富的图像处理算法和工具,能够处理图像和视频数据,实现诸如特征提取、目标检测、图像分割等功能。OpenCV 是由 Intel 公司于 1999 年开发的开源计算机视觉库,旨在提供一套丰富的图像处理和计算机视觉算法。
2024-08-26 16:54:20
5295
3
原创 windows.showOpenFilePicker方法,不用input也可以触发文件上传,可个性化文件上传控件
showOpenFilePicker(options) 方法中是可以传参的,具体支持的参数如下:multiple布尔值,默认值是 false ,表示只能选择一个文件。布尔值,默认值是 false ,表示是否排除下面 types 中的所有的accept文件类型。types:表示文件或者文件夹的描述,字符串,可选。accept:接受的文件类型,对象,然后对象的键是文件的MIME匹配,值是数组,表示支持的文件后缀。具体可以下面的示意。
2024-08-25 13:26:58
1107
原创 九、前端中的异步方法Promise,Promise详解
Promise是异步编程的一种解决方案,它的构造函数是同步执行的,then 方法是异步执行的。
2024-08-25 13:17:02
1061
原创 vue项目中,修改elementui一些复杂控件样式
在vue项目中,我们为了快速开发,会用到elementui。但很多时候,elementui的样式不满足于我们项目的样式需求。这时候我们需要修改原生elementui的样式。
2024-08-24 14:45:41
572
原创 前端实现两张图片合成,图片换背景,简单p图程序
最近在自己做一个图文工具网站,图片背景替换功能,后台通过opencv的AI算法抠出了图片主元素,现在需要把抠出来的元素换一个背景色,或者合成到一张背景图片中,如何操作呢?
2024-08-24 14:16:33
512
原创 vue2项目 预渲染 Unable to prerender all routes 错误排查与解决方案
今天在做我的Vue2项目的SEO优化时,我采用了prerender-spa-plugin与vue-meta-info的一套官网前端SEO预渲染方案。但是,在打包时,报错Unable to prerender all routes。尝试了很多种网上方案,都没有成功,最后从源码排除终于找到了原因。
2024-08-23 13:15:21
697
2
原创 八、SPA单页面实现SEO优化之预渲染prerender-spa-plugin
六、什么是SEO优化(搜索引擎优化)?SPA单页面应用如何实现SEO优化?通过上一篇文章我们介绍了服务端渲染的方式来实现单页面应用的SEO优化。但是,服务端渲染的方式对开发并不友好,它需要约定各种规范,比较适合开发大型网站。对于一些微型网站,比如个人博客,或者公司的小型应用网站,路由数量,页面数量并不多,我们可以使用prerender-spa-plugin预渲染来实现SPA单页面的SEO优化。它的优点是简单方便,不需要改动太多原来的项目内容。
2024-08-23 12:59:06
1257
原创 七、SPA单页面实现SEO优化之SSR服务器渲染
六、什么是SEO优化(搜索引擎优化)?SPA单页面应用如何实现SEO优化?通过上一篇文章可以了解到,Vue SPA单页面应用对SEO不友好,但是也有相应的解决方案。我了解到的SEO的实现方式有以下几种:1.SSR服务器渲染;2.静态化;3.预渲染prerender-spa-plugin;4.使用Phantomjs针对爬虫做处理。其中SSR服务器渲染适用于构建大型网站,如商城类。如果是个人博客或者公司官网之类小型的网站,除SSR服务器渲染的其它方式都可以。
2024-08-22 11:20:26
1211
原创 六、什么是SEO优化(搜索引擎优化)?SPA单页面应用如何实现SEO优化?
seo(Search Engine Optimization)又称网站优化,也称搜索引擎优化。它是指通过优化网站的内容、结构和相关参数,使其更符合搜索引擎的算法规则,从而提高网站在搜索引擎结果页面中的排名,增加有针对性的流量,并最终实现网站的推广和营销目标。那搜索引擎是如何决定网站排名的呢?主要有两个因素:目录式搜索引擎和机器学习搜索引擎。目录式搜索引擎通过人工编辑和分类整理网站,决定网站的排名顺序;
2024-08-21 11:31:45
1835
原创 五、SPA 单页面、MPA多页面的理解?它们的优缺点分别是什么?
SPA(single-page application),翻译过来就是单页应用。它的特点是:仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。举个例子来讲,就是一个杯子,早上装的牛奶,中午装的是开水,晚上装的是茶,我们发现,变的始终是杯子里的内容,而杯子始终是那个杯子。
2024-08-21 10:55:40
1209
原创 四、Vue路由的两种模式:hash模式与history模式详解和对比
如果项目不需要考虑服务器配置,对 URL 的美观度要求不高,并且不涉及 SEO 优化,那么 Hash 模式是一个简便可行的选择。如果追求更友好的 URL,更好的 SEO 支持,同时愿意处理一些服务器配置的问题,那么可以选择 History 模式。History 模式使用浏览器的 History API,通过修改浏览器的历史记录来实现前端路由的切换。Hash 模式是 Vue Router 默认的路由模式,在这种模式下,URL 中会包含一个带有 # 符号的哈希部分,例如。
2024-08-20 10:59:24
899
原创 三、Vuex是什么?Vuex详解
在理解Vuex之前,首先需要理解我们为什么要使用它?它解决了什么问题?为什么要使用它在Vue开发中,我们常常会用到组件直接的传值、通讯。有父子通讯,兄弟组件通讯…但是传参对于多层嵌套就显得非常繁琐,代码维护也会非常麻烦。因此我们需要一个工具,能够处理这种情况。它解决了什么问题Vuex就是这样一个工具,它把组件共享状态抽取出来以一个全局单例模式管理,把共享的数据函数放进vuex中,任何组件都可以进行使用。官方的解释是:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。
2024-08-20 10:39:30
929
原创 一、什么是 mvvm? MVC、MVP、MVVM三种模式的区别与详解
MVC、MVP、MVVM都是常见的软件架构模式。MVC(Model-View-Controller)架构模式中,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。Controller负责处理用户交互和调度业务逻辑,View负责显示数据,Model负责数据的存储和逻辑处理。MVP(Model-View-Presenter)架构模式,类似于MVC,但将View和Model的交互逻辑抽象到了Presenter中。
2024-08-19 13:15:17
14165
原创 在scss中如何使用hover(Vue项目)
content样式是包含文本样式的dom标签,&:hover表示悬浮时的样式,这里是将悬浮时的样式修改为蓝色,并且添加文字下划线。最近在Vue项目中,想实现在鼠标悬浮时,修改鼠标指向的模块样式,但使用的是scss,写法是什么样的呢?
2024-08-18 19:01:16
450
原创 在Vue工程中开发页面时,发现页面垂直方向出现两个滚动条的处理
当一个页面的内容高度大于屏幕的高度时就会出现滚动条。一般情况下当一个页面高度大于屏幕高度时(屏幕相当于父盒子)就会出现滚动轮。而当一个页面(这里是home页面)作为父盒子,它的子页面(cate页面)高度大于它(home页面)的高度,那么这个页面(home页面)就会出现滚动条。(cate页面为home页面的子路由组件)解决方案:1、增加父盒子高度 2、给父盒子设置 overflow:hidden。我这里是给超出屏幕大小的div加了 overflow:hidden。
2024-08-18 17:37:09
988
原创 vue中点击导航栏,动态改变样式,经典写法
第一个样式为 itemclass,第二个样式要看 indexItem== index 这个表达式是否成立,如果成立,则加入 active样式,表示激活状态,在vue中,我们通常会有这样的情况,在多个子模块之间,点击其中一个子模块,修改当前点击的子模块的样式。indexItem == index 就是当前这个模块,是否等于激活状态下的模块,如果是,添加active属性,修改背景色。我们要实现想要的效果,还需要结合静态样式,因为静态样式用来渲染其它未激活状态的子模块,动态样式用来渲染激活状态的子模块。
2024-08-18 12:57:03
634
原创 Vue中的计算属性理解,简单易懂
计算属性故名思意,是具有计算表达式的一个属性,或者说是一个值。在Vue中,我们有时会在模板中对数据进行一些逻辑处理。这个时候就非常的不好看,也难以维护。</div>这里我们像在渲染message时,将其反转,并不是简单的将数据渲染上去。又或者是这种情况这里我们不是想直接渲染数据,而是将根据数据,渲染其他结果选项。类似这类,用计算表达式表示结果的情况,Vue用计算属性来处理替换,提高代码的可读性和维护性。
2024-08-17 13:09:58
558
原创 Vue的生命周期理解,简单易理解
简单来说,Vue的生命周期就是vue实例从创建到销毁的一个过程,即从创建–>初始化数据–>编译模板–>挂载Dom -->渲染、更新 -->渲染–>销毁 的一系列过程。
2024-08-17 12:41:01
983
QGIS安装包-Win版本-3.16.3安装包
2024-10-17
全国地图数据资源Echart用
2024-10-16
threejs96版本源码包,包含three的案例和文档以及源码等,开发用
2024-10-14
Opencv 4.5.1 Windows 安装包
2024-08-26
vscode配置cc++环境教程
2024-08-26
数据结构教程笔记总结资源
2024-08-26
数据库课程设计的理念,对数据库设计的一些基本知识进行解答
2024-08-25
微信小程序源码-合集,可以参考学习,复用(免费下载)
2024-08-25
计算机二级WPSoffice精选选择题题库(含答案)
2024-08-25
SpringBootWeb静态资源
2024-08-23
精选、免费、Java学习资源
2024-08-23
用于扫描网站中的潜在敏感目录和文件的工具
2024-08-23
java入门到精通的全套教程
2024-08-21
华为od机考算法题题库,机考算法题,含答案和解题思路,学习算法和刷题可以用
2024-08-21
数据结构知识点汇总+算法代码总结全,备考、考试、面试用
2024-08-21
原生js实现图片颜色拾取,点击图片获取像素值
2023-03-12
一个基础的vue2脚手架
2023-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人