- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 记录babylonjs使用过程中遇到的一些问题
记录一些在使用babylonjs开发时遇到的问题,如: 颜色设置偏差、贴图翻转、世界坐标系和本地坐标系转换等
2023-03-31 14:03:57 937
原创 threejs实现一个固定大小的3d标点
需求背景需要在3d模型上实现标注的功能,一开始是直接通过添加一个普通的mesh来实现的,但是这样就会有一个问题-当视图缩放的时候,标注也会跟着一起放大缩小,影响视觉效果,因此需要实现一个不会随着视图一起放大或者缩小的mesh实现思路明确方向根据需求,可以知道我们其实需要实现的就是更改模型渲染的默认方式,而模型的渲染是由模型的MVP三个矩阵来决定的再进一步分析MVP三个矩阵,Model矩阵决定模型的旋转、缩放和位移,View决定相机的变换, Projection决定模型最终到屏幕的输出。根据需求
2022-05-30 15:14:27 2637 4
原创 threejs实现测量模型的体积、表面积、壁厚等功能
需求分析实现模型的3维测量工作,包括体积、表面积、壁厚等代码实现 (当前threejs版本 r139)1、体积的测量function getVolume(geometry) { if (!geometry.index) return; if (!geometry.isBufferGeometry) { console.log("'geometry' must be an indexed or non-indexed buffer geometry"); retu
2022-05-23 09:07:36 2607 1
原创 crlf和lf换行格式冲突解决
原因:在linux以及MacOS中的默认换行符为 /n,而在windows电脑中的默认换行符为/r/n,这就导致了开发人员在不同系统开发统一个项目的时候,即使你没有修改某个文件,你的git依旧会识别到文件更改了, 就给我们带来了迷惑。解决办法:git config --global core.autocrlf falsevsc配置: 文件 > 首选项 > 设置 > 搜索 eol > 选择/n选项注意:配置好之后只对新clone的仓库生效,就是说如果你当前项目已经
2021-08-23 09:23:50 601
原创 中间件的原理解析
1、compose函数用过redux或者对Koa、Express等有点了解的同学应该都听过中间件这个名词,它可以让我们通过插件的形式对原本的代码执行流程进行安全的包装。其中最核心的思想就是组合函数compose,如下:// 代码摘自reduxconst compose = function(...fns){ // 没有传入函数参数,就返回一个默认函数 if(fns.length == 0){ return (args) => args } // 只
2021-05-31 09:23:55 733
原创 WebSocket学习笔记
1、什么是WebSocket定义:WebSocket是一种区别于HTTP协议的通信协议,可在单个TCP连接上进行全双工通信。主要功能:提供客户端和服务端的双向数据推送应用场景:实时弹幕、股票、在线聊天等特点:握手阶段采用 HTTP 协议。数据格式轻量,性能开销小。客户端与服务端进行数据交换时,服务端到客户端的数据包头只有2到10字节,客户端到服务端需要加上另外4字节的掩码。而HTTP请求每次都需要携带完整头部。更好的二进制支持,可以发送文本,和二进制数据没有同源限制,客户端可以与任意
2020-11-06 21:06:18 844
原创 带你搞懂浏览器缓存
1、缓存顺序当依次查找缓存且都没有命中的时候,才会去请求网络。浏览器缓存机制的优先级排列如下:Service WorkerMemory CacheDisk CachePush Cache1.1Service WorkerService Worker 是运行在浏览器背后的独立线程,一般可以用来实现缓存功能。因为 Service Worker 中涉及到请求拦截,所以必须使用 HTTPS 协议来保障安全。Service Worker 的缓存与浏览器其他内建的缓存机制不同,它可以让我们自由控制
2020-09-19 13:38:52 330
原创 浏览器的多线程与JS单线程
浏览器的进程与线程关于浏览器的进程与线程,不知道有没有和我一样傻傻分不清楚的,看的文章也不少,但总是缺少一个机会吧这些概念串联起来。直到最近需要在公司做一个技术分享,才狠下心来决定非把它弄懂不可。自己也算是有了一些小收获,在这里分享出来,也当成是一个再次总结的过程ヾ(◍°∇°◍)ノ゙。1.浏览器是多进程的1.1基本概念关于进程与线程的基本概念,这里不做过多解释,可以参考阮老师的进程与线程的一个简单解释;可大致理解为,一个进程包含一至多个线程,进程的内存空间可以被改进程内的线程共享;1.2浏览器的进
2020-09-01 23:15:47 420
转载 Redux-saga
1.概述edux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,可以用来代替redux-thunk中间件。2.流程ui组件触发action创建函数action创建函数返回一个actionaction被传入redux中间件(被 saga等中间件处理) ,产生新的action,传入reducerreducer把数据传给ui组件显示mapStateToPropsui组件显示3.使用3.1 配置
2020-06-05 11:25:01 244
转载 redux-saga用法
启用import { createStore, applyMiddleware } from 'redux'import createSagaMiddleware from 'redux-saga'import reducer from './reducers'import rootSaga from './sagas'// create the saga middlewareconst sagaMiddleware = createSagaMiddleware()// mount it
2020-06-05 10:49:30 293
原创 文章收录
1.1Vue登录注册,并保持登录状态链接1.1vueX的基本使用之Module链接jQuery源码解析之$().animate()(上)链接
2019-12-24 10:06:02 200
原创 vuex概念理解
01、Statethis.$store.state.count在计算属性中获取const Counter = { template: `<div>{{ count }}</div>`, computed: { count () { return this.$store.state.count } }}mapState 辅助...
2019-12-24 09:57:32 212
原创 React Context 的用法
myContext.jsimport React from 'react'const data ={mydata:'来自MyContext的值'}export const MyContext = React.createContext({ data:data, // 默认值 changeData: (v) => {data.mydata = v},});childre...
2019-12-20 14:09:09 289
原创 ErrorBoundary实用组件
上码import React,{Component} from 'react';class ErrorBoundary extends Component{ constructor(props){ super(props); this.state = {} } componentDidCatch(error,info){ ...
2019-12-19 16:30:50 557
原创 transition-group组件v-move的实现原理(个人理解)
v-move实现的原理是什么?在翻阅了相关源码后,我得出了一点个人见解,欢迎查看!
2019-12-13 17:13:33 1995
原创 事件发布订阅系统
创建subpub(obj)方法订阅消息sub('eventName', fn)发布消息pub('eventName')([可选参数])取消订阅unsub('eventName',[specificFunc])获取所有订阅者消息getList()var store = {}; function subpub(store) { var events = {} //...
2019-12-12 12:20:42 190
原创 mapDispatchToProps的三种方式mapStateToProps
redux中组件实现dispatch的三种方式,以及mapStateToProps
2019-12-11 11:54:49 2166
原创 点击图片全屏展示插件
效果图加入代码后点击任意一张图片,即可以全屏方式展示该图片使用DOM结构顶部下入以下代码,然后在包裹图片的容器上设置id为picBox//插入代码 <div class="blackLayer"> <div> <img src="" alt=""> </div> </div>//给图片盒子设置id...
2019-12-02 17:17:45 365
原创 移动端rem具体该怎么使用?
rem是CSS3新增的一个相对单位(相对于根元素),由于是相对单位长度,因此我们每次只需要根据设备大小设定根元素大小即可达到相同视觉效果了。浏览器支持——除IE8以及以下;
2019-10-23 10:24:30 746
原创 js实现sleep功能的几种方式
js实现sleep功能的几种方式: 1.Promise2.Generator3.async4.Es5回调函数
2019-08-13 14:55:24 6394 1
原创 防抖和节流函数详解(立即执行/非立即执行)
1.防抖(立即执行/非立即执行)什么是防抖:一个事件在触发后,设置定时器,若n秒内没有新事件发生,那么执行这个函数,否则定时器清零,重新开始计时。应用每次 resize / scroll 触发统计事件文本输入的验证 (连续输入文字后发送AJAX请求进行验证,验证一次就好)
2019-08-12 15:57:28 8009 4
原创 浏览器常见兼容处理-Js
事件;事件target;事件添加/移除;阻止默认行为 ;阻止冒泡;网页可视区;行外样式;键盘key值;异步请求;滚动条;
2019-08-11 19:56:41 191
原创 react实现分页组件__带页码
react实现分页组件__带页码组件通过接受props接受total和curPage来输出你需要的分页组件!简单好用,可自行修改内容。
2019-07-23 16:50:22 1828
《Node.js实战 in action中文版》_吴海星.pdf
2019-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人