wenjinghuan.cn

分享一些计算机相关冷知识和技巧

从零开始搭建游戏引擎(一):介绍
如引言所述,我们要搭建一个叫做wengine的玩具引擎。本篇对引擎的设计思路、总体结构、组件和技术的选型进行介绍。 设计思路 我们希望这个玩具引擎能够: 尽可能设计引擎中的各方面技术内容;; 比较简单、便于修改;; 能实现一些简单的 Demo,以验证某些技术的可行性;; 使用开源库实现其中的一些模块;; 可以跨平台,最好能在移动端运行。; 语言和构建

从零开始搭建游戏引擎
这是一篇从零开始搭建游戏引擎的笔记。 目前我在做游戏引擎相关的开发工作,但是我自知对游戏引擎了解甚少,因此希望通过完成一个简单的玩具引擎来增加自己对游戏引擎的理解。在实现这个玩具引擎的过程中,一定会走不少弯路。即使这样我也希望把这个过程记录下来,供自己以后回忆、反思,也为本文的读者提供一些思路。 有句话说得好:“多少人声称自己要写一个引擎,最后只写了一个渲染

生成任意分布的随机数
生成任意分布的随机数 一般的编程语言或库都有生成均匀分布的(伪)随机数的函数。但有时我们会需要生成一个具有指定分布函数的随机数。这就需要我们对均匀分布的随机数进行变换。 比如我们可能会经常遇到的,生成一个均匀分布于二维平面单位圆内的随机点。通常做法可以是生成 $x, y \sim U(-1, 1)$,然后判断是否在单位圆内,如果不在则重新取。 圆内均匀分布的

最小圆包含问题
最小圆包含问题 问题 最近需要处理一个问题,即给定平面上的一些圆(下文称内部圆),寻找一个能够包含它们的最小圆(下文称所求圆)。 稍作调研后,发现了一个算法:Welzl 算法。这个算法是用来找包含给定点集的最小圆的,但是想象中应该也能用于本问题。 唯一需要考虑的是递归的终止条件。原算法在 $R = 3$ 时终止,因为三个边界上的点可以确定一个圆。在本问题中,

经典问题——两男孩问题(三)
经典问题——两男孩问题(三) 回到“另一个”歧义 我们还是回归到对“另一个”所引发的歧义上来。为此,我们可以讨论一下这个问题: " - 问题一:史密斯先生家有两个孩子,已知其中一个孩子的出生时刻在中午12:00之前(出生于上半天),求另一个孩子是男孩的概率。" 直观来看,其中一个孩子出生于上半天和另一个孩子的性别毫无关系,所以答案应该是 $1/2$。但我们再

经典问题——两男孩问题(一)
经典问题——两男孩问题(一) 按 本文尝试从两男孩问题出发,探讨概率问题中常见的误区。这些误区大多来自知乎提问和回答。 希望通过本文阐述以下观点: 概率是在已知部分信息的基础上,对未知事件发生的可能性的度量;; 计算概率的主体是掌握部分信息的某个人或某个群体,而不是客观世界(或者如果针对客观世界,则主体可以是全人类);; 信息的获取方式潜在地影响概率;;

经典问题——两男孩问题(二)
经典问题——两男孩问题(二) 作为对比,再次列出经典表述: " - 史密斯先生有两个孩子。其中至少一个是男孩。则两个孩子均为男孩的概率是多少?" 表述歧义 " - 史密斯先生有两个孩子。其中一个是男孩。则两个孩子均为男孩的概率是多少?" 这里涉及到“其中一个”是特指还是泛指的问题。有人认为既然出现了“其中一个”,那么就能够将两个孩子区分开,设“其中一个”是

概率趣题——吃豆子
概率趣题——吃豆子 按 这篇文章是我在知乎上看到的概率题目后,自己分析、解答的过程。从简单程序模拟入手,到递推式和动态规划,最后求出解析解并证明。希望能给你带来启发。 题目 袋子中有白色、黑色两种豆子,且数量相等。每次进行如下操作: 从袋子中随机抽取一颗豆子;; 若为黑色,则直接吃掉;; 若为白色,则放回重新随机抽取一次,然后不论是什么颜色都直接吃掉。;

C++
日常学习/工作中的C++实践和技巧,以及有趣的C++冷知识。

图形学
我的计算机图形学相关知识学习笔记。

2