本次是第2章节 “像经济学家一样思考” 的部分问题和解答。


举出一种没有被包含在简化的循环流量图中的经济交易。

在第2章介绍的简化的循环流量图中,仅包含两个角色——家庭和企业,忽略了政府、金融市场、国际贸易等角色参与下的经济交易:

  1. 政府参与的交易

    税收、转移支付(社会福利、生育补贴)、政府采购

  2. 金融市场的交易

    储蓄、借贷

  3. 国际贸易

    进口、出口

\(\require{physics}\)

阅读全文 »

在前一篇笔记中,我们介绍了如何使用 Conan 管理 C++ 程序的依赖,但是 Conan Center 中可用的包较少,我们时常需要自行创建 Conan Package,便于依赖管理。这一篇笔记我们将着重介绍如何通过编写 conanfile.py 创建 Conan Package,并简要介绍 Conan-Center 的 GitHub 仓库是如何维护的。

\(\require{physics}\)

阅读全文 »

最近开始学习经济学原理,每一章后有一个”问题与应用“,作为对本章知识点的考察,有些问题还挺有意思的,就用博客将个人思考和 AI 答案记录一下,便于回顾时查看。

本次是第1章节 “经济学十大原理” 的部分问题和解答(结合 AI 生成,不保证一定正确,但个人觉得挺有道理)。

阅读全文 »

之前一直想知道各种三维软件中的虚拟网格是怎么绘制的,于是上网搜了一下相关实现。没想到里面的小细节还挺多,就用一篇博客记录一下吧 ( •̀ ω •́ )。

下图展示了 Blender 中网格的效果:

从图中可以看到几个基本特征:

  1. 网格绘制在世界坐标系下的底面(在一般的右手系坐标系中,Z轴向上,X轴向前,Y轴向右),则对应 XY 平面;

  2. x 轴标记为红色 \((1,0,0)\),y 轴标记为绿色 \((0,1,0)\)

  3. 按照固定间隔绘制网格

阅读全文 »

最近需要在离线开发环境中配置 VS Code。本来想在 Visual Studio Marketplace 网页上手动下载,再拿到 VS Code 里安装,结果发现有些插件无法直接下载打包好的 .vsix 文件。查了一下后发现,可以直接在 VS Code 的扩展面板里下载,所以这里记录一下具体做法。

准备安装包

首先在外网机器上准备好 VS Code 和对应版本的安装包(一般直接使用最新版即可)。可以通过下列方式查看 VS Code 版本:

可以在 这里 下载到对应的安装包。

Caution

一定要确保安装包和外网机器安装的 VS Code 版本一致,否则下载的插件可能无法正常安装。

阅读全文 »

Hello, Shader Toy

Shader(着色器)简单来说就是运行在 GPU 上的一小段程序,用于控制图形渲染的方式。

在传统渲染管线中,GPU 会自动执行一套固定流程,而 Shader 的出现让开发者能够自定义其中的一部分流程,从而实现更灵活、更复杂的图形效果。

Shader Toy 是一个在线的 Shader 编写和展示网站,可以实时展示 Shader 编程效果。

在图形 API(OpenGL)中,支持多种 Shader 类型:

  • Vertex Shader(顶点着色器)
  • Tessellation Shader(细分着色器)
  • Geometry Shader(几何着色器)
  • Fragment Shader(片段着色器)
  • Compute Shader(计算着色器)

而在 Shader Toy 中,所谓的 Shader 通常特指 Fragment Shader。它的输入可以理解为一个覆盖整个显示区域的平面,因此我们可以在 Fragment Shader 中决定显示区域内每一个像素的颜色(RGBA)。

阅读全文 »

Hello Projection

所谓投影,就是 将高维空间中的对象通过某种方式映射到低维空间,或者映射到另一个空间中。如下图所示(图片来自网络)。

当我们在二维平面上展示三维物体时,看到的其实就是三维物体在二维空间中的一个投影,而这个从三维到二维的转换过程就是投影变换。

如果投影过程可以表示成线性变换,就可以用一个矩阵来描述它,如下式所示,其中 \(M_\text{projection}\) 就称为投影变换矩阵。 \[ P^{\prime} = M_{\text{projection}} \cdot P \]

阅读全文 »

最近写博客时,我发现 GitHub Markdown 中提供的 Alerts 很有用,可以作为提示信息来展示。

它本质上是在 引用文本(Quoting text) 的基础上增加了一个特殊标记,从而在渲染时呈现出特殊的显示效果,对应的 Markdown 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
> [!NOTE]
> Useful information that users should know, even when skimming content.

> [!TIP]
> Helpful advice for doing things better or more easily.

> [!IMPORTANT]
> Key information users need to know to achieve their goal.

> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.

> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.

渲染结果如下:

本来我以为这是 gfm(GitHub Flavored Markdown Spec)规范的一部分,后来才发现这其实是 GitHub 单独实现的功能,Hexo 默认并不支持。不过搜了一下,发现实现起来并不复杂,于是就用这篇博客记录一下实现过程。

阅读全文 »
0%