【软件开发】C++使用笔记 【软件开发】C++使用笔记 数据类型 值类型 存放在栈空间中的一段内存。 T:左值,最普通的变量,是具有变量名且可取地址的值。 ~ :右值,常量或不具备名称的值,无变量名不可取地址。通常都是一些生命周期极短的临时值,例如未接收的函数返回值。 备注: 右值及其相关的一系列操作都是 C++11 才新增的功能。 指针类型 一种用于保存内存地址的值类型,可以利用特定的访问运算符访问其指向的内存。 2024-06-11 个人研究 > 软件开发
【数学】二维直线 【数学】二维直线 基本概念 斜率:直线中 y 相对 x 坐标的变化率。 截距:直线与坐标轴交点到原点的距离。 横截距:直线与 x 轴的截距。 纵截距:直线与 y 轴的截距。 方程表示 两点式 根据直线的基本定义,若已知直线上的任意两点 (x1,y1)(x_1,y_1)(x1,y1) 和 (x2,y2)(x_2,y_2)(x2,y2),则根据其关系(斜率一致)可得直线的两点式方程: 2025-03-27
【技术美术】视差贴图 【技术美术】视差贴图 基础概念 视差贴图又称高度贴图,类似法线贴图,同样是通过伪造表面信息来增加表面凹凸真实感的一种方法。 法线贴图利用光照明暗来体现凹凸,但从掠角观察时依旧不够真实,因为现实中的粗糙表面除了光照明暗的区别外,还存在高度遮挡的关系,而视差贴图就是从这方面增强凹凸真实感。 基本原理 考虑现实中的遮挡效果,本质就是原目标不可见,取而代之的是显示其前面的物体,反映在图形着色上,就是 u 2025-01-07 个人研究 > 技术美术
【技术美术】投影矩阵和线性深度推导 【技术美术】投影矩阵和线性深度推导 网络上有很多投影矩阵的推导,也有很多声称是基于 Unity 的,但和我的实测都不一致(现在看来是因为这些文章并不全面),此外有一些 Unity 本身的函数我也搞不懂它的原理,遂最终选择自行研究,总算把这些问题解决了。 现在通过这篇文章,你就可以完全搞懂 Unity 的投影矩阵是啥样,又是怎么来的。以及 Unity 逆推线性深度的函数是如何实现的。不过该文章也不是 2025-03-27 工具使用 > Unity
【软件开发】Git 概念与常用命令 【软件开发】Git 概念与常用命令 Git 概念 存储方式 Git 是分布式存储,每一个 clone 下来的仓库都可以看成独立的个体,只是 Git 有提供同步功能,因此 Git 支持离线使用,因为本质上本地和云端是两个仓库。 仓库构成 提交(commit) 提交是存储文件的最基本元素,记录了每次对文件的修改信息,同时也是仓库文件状态判断的基点。多个提交对文件的修改可能是顺序进行也可能是同步进行,同 2024-01-14 个人研究 > 软件开发
【质点弹簧】质点位置积分 【质点弹簧】质点位置积分 在物理模拟中,物理系统每帧都需要根据粒子当前位置,速度,加速度等信息计算粒子下个阶段相关信息,而这种一点一点计算位置的操作被称作对粒子位置的积分。 具体而言实现这种积分效果的有两种方法: 欧拉积分法 https://zhuanlan.zhihu.com/p/355170943 欧拉积分法是根据现实中的物理公式来求解下一帧位置的,具体而言分三种: 显式欧拉方法(完全根据当 2025-02-25 书本知识 > 物理
【质点弹簧】如何做一个不会崩溃的质点弹簧 【质点弹簧】如何做一个不会崩溃的质点弹簧 演示视频见:https://www.bilibili.com/video/BV15vPie8EEd/ 在绳索、布料、软体等软性物质的模拟上,质点弹簧绝对是最流行的一种物理模型,相关资料在网上非常多。但无一例外的都绕不过一个痛点:动不动就崩溃给你看。那有没有一种能实现绝对不会崩溃的质点弹簧模型,或者说我们能始终确切的知道它崩溃的边缘在哪里,而不是和传统质点弹 2025-02-25
【质点弹簧】Unity 版示例 【质点弹簧】Unity 版示例 该Demo实现自该教程:https://www.cnblogs.com/BDFFZI/p/18733944 急速搭建的 Unity 版本的质点弹簧 Demo,不要在意帧率,这个 Demo 没有做任何优化。整个 Demo 就一个文件,直接在 Unity 创建里创建一个名为“MassSpring”的空脚本将下面代码替换进去,然后随便拖到一个场景物体上即可。 123456 2025-02-25 教程分享 > 质点弹簧实现
【数学】微分方程 【数学】微分方程 定义 微分方程一种特别的形式的方程,这种方程中同时拥有一个函数(也可以理解为因变量)以及该函数的导数。以下两种形式的方程都可以称作微分方程: dydx=x+y ⟺ f′(x)=x+f(x)\frac{dy}{dx}=x+y \iff f'(x)=x+f(x) dxdy=x+y⟺f′(x)=x+f(x) 微分方程表明 y 与 x 之间的变化关系不仅与 x 有关,还与 2025-01-15 书本知识 > 数学 > 微积分
VSCode 插件开发笔记 VSCode 插件开发笔记 VSCode 的插件实质 VSCode 在设计之初就考虑了扩展性,甚至很多 VSCode 的核心功能也是基于扩展的方式编写的,并且使用的扩展 API 也是一样的。 VSCode 的源代码基本都是用 TS 编写的,所以他的扩展编写也基本一样,使用 TS 或 JS 开发。 VSCode 插件其实就是一个 node.js 包,插件的各种配置信息也都存在包中的 package. 2025-02-25