第一、二章:图形学概述、向量与线性代数
第一章 图形学概述 1.图形学应用场景 游戏场景渲染、电影特效、动画、设计、可视化(人体三维扫描)、虚拟现实、数字绘图、模拟、GUI、字体排版等 2.图形学包含内容: 数学:矩阵、曲线、曲面 物理学:光学、着色 描述、操作三维的不同形体 动画、仿真 3.本课程包含的内容: 光栅化 ...
第一章 图形学概述 1.图形学应用场景 游戏场景渲染、电影特效、动画、设计、可视化(人体三维扫描)、虚拟现实、数字绘图、模拟、GUI、字体排版等 2.图形学包含内容: 数学:矩阵、曲线、曲面 物理学:光学、着色 描述、操作三维的不同形体 动画、仿真 3.本课程包含的内容: 光栅化 ...
最佳实践 按需做事-不提前做 按需做事,即在代码中计算和取值应该在需要的地方进行,而不是提前进行。这是因为如果在逻辑判断之前就进行计算,而后面的逻辑判断没有进入,那么这段代码就会白白消耗时间,从而降低了代码的效率。因此,按需做事是一种更加高效的编程方式。 在函数中,有时我们会提前获取或计算所有属性,但是如果后面的逻辑判断没有用到这些属性,那么这部分计算就是无效的,浪费了时间和资源。因此...
最佳实践 按需做事-不提前做 按需做事,即在代码中计算和取值应该在需要的地方进行,而不是提前进行。这是因为如果在逻辑判断之前就进行计算,而后面的逻辑判断没有进入,那么这段代码就会白白消耗时间,从而降低了代码的效率。因此,按需做事是一种更加高效的编程方式。 在函数中,有时我们会提前获取或计算所有属性,但是如果后面的逻辑判断没有用到这些属性,那么这部分计算就是无效的,浪费了时间和资源。因此...
拦截器是一个函数 async (ctx, next) => { do sth... } 它有两个参数。第一个参数是一个上下文,这个上下文在多个拦截切面中是共享的。第二个参数是一个 next 函数,调用它会进入下一个拦截切面。 class Interceptor { constructor() { this.aspects = []; // 用于存储拦截切面 ...
使用 node 构建 web 应用时,并不单单响应一个简单的 hello world,在一个实际的业务中,我们也许会做这些: 请求方法的判断。 URL 的路径解析。 URL 中查询字符串解析。 Cookie 的解析。 Basic 认证。 表单数据的解析。 任意格式文件的上传处理。 这样一个完整的项目中需要处理很多的细节,当然你也可以都写在一起,但这样代码...
React 的 diff 一个DOM节点在某一时刻最多会有 4 个节点和它相关。 current Fiber。如果该DOM节点已在页面中,current Fiber代表该DOM节点对应的Fiber节点。 workInProgress Fiber。如果该DOM节点将在本次更新中渲染到页面中,workInProgress Fiber代表该DOM节点对应的Fiber节点。 DOM...
前端如何测试网络的速度? B 站视频播放时有一个自动根据网络环境调整分辨率的功能,想了解如何测速 然后我找了下面的方法测速 ajax 请求 利用 XMLHttpRequest 请求返回的 Content-length,和请求所需时间求得下载速度 const getSpeed = (url) => { return new Promise((resolve) => ...
常见错误类型 错误 解释 示例 SyntaxError 解析时发生语法错误 const x TypeError 值不是所期待的类型 const person = 1; person.name ...
React.memo react.memo 有第二个参数,可以通过第二个参数来自定义组件的渲染时机。 React.memo(Component, compare) React.memo 接受两个参数,第一个参数 Component 原始组件本身,第二个参数 compare 是一个函数,可以根据一次更新中 props 是否相同决定原始组件是否重新渲染。 memo 的几个特点是: ...
当多种 children 一起输入时 function Container(props) { const defaultProps = { name: "alen", msg: "hello", } return props.children.map((item) => { // 通过判断 clone 混入props if (React....