2.5k words 2 mins.

# Transformation(变换) # 二维变换 # 缩放矩阵(Scale Matrix) # 反射矩阵(Reflection Matrix) # 切变矩阵(Shear Matrix) # 旋转矩阵(Rotation Matrix) # 线性变换 线性变换的一种描述是如果变换可以写成用一个矩阵乘以输入的坐标得到输出的坐标,那么我们就称这种变换为线性变换。 # 齐次坐标 为什么要提到其次坐标这个东西?首先让我们看看平移变换。 #...
449 words 1 mins.

# 向量和线性代数 # 向量 # 向量的定义 # 向量的归一化 # 向量的加法 # 笛卡尔坐标系 # 向量的乘法 # 向量的点乘(Dot Product) 点乘的性质 # 笛卡尔坐标系中的点乘 # 向量点乘在图形学中的应用 找到两个方向之间的夹角,在光照模型中,直到入射光的方向和物体表面的法线还有观察的方向,这些方向之间的夹角都是通过点乘来计算的。 能找得到一个向量投影在另一个向量上的向量。 # 投影 # 向量的点乘所带来的好处 判断两个向量在方向上有多么接近 将一个向量分解为互相垂直的两个向量 判断向量的方向性,通过将点乘的结果与 0 做对比 #...
874 words 1 mins.

# 计算机图形学概述 # 光栅化(Rasterization) 什么叫光栅化?把三维空间中的几何形体显示在屏幕上,这就是光栅化。广泛应用于实时的图形学中。 Project geometry primitives (3D triangles/polygons) onto the screen Break projected primitives into fragments (pixels) Gold standard in Video Games (Real-time Applications) # 曲线和网格(Curves and...
800 words 1 mins.

# Linux 服务管理 # 服务分类 # 服务简介与分类 Linux 服务分为 RPM 包默认安装的服务和源码包安装的服务。RPM 包默认安装的服务又分为独立的服务和基于 xinetd 的服务。 # 启动和自启动 服务启动:就是在当前系统中让服务运行,并提供功能。 服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。 # 查询已安装的服务 RPM 包安装的服务 chkconfig --list# 查看服务自启动状态,可以看到所有 RPM 包安装的服务 源码包安装的服务 查看服务安装位置,一般是 /usr/local/ 下 # RPM...
3.5k words 3 mins.

# Linux 系统管理 # 进程管理 # 简介 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。 # 进程管理的作用 判断服务器的健康状态 查看系统中所有进程 杀死进程 # 查看系统中所有的进程 [root@localhost ~]# ps aux# 查看系统中所有进程,使用 BSD 操作系统格式[root@localhost ~]# ps -le# 查看系统中所有进程,使用 Linux 标准命令格式 USER:进程是由哪个用户产生的 PID:进程的 ID 号 % CPU:进程占用 CPU...
805 words 1 mins.

# 启动管理 # 启动流程 # 系统运行级别 运行级别 运行级别命令 [root@localhost ~]# runlevel# 查看运行级别命令[root@localhost ~]# init 运行级别# 改变运行级别命令系统默认运行级别 [root@localhost ~]# vim /etc/inittabid:3:initdefault:# 系统开机后直接进入哪个运行级别# 系统启动过程 initramfs 内存文件系统 CentOS 6.x 中使用 initramfs 内存文件系统取代了 CentOS 5.x 中的 initrd RAM...
795 words 1 mins.

# 备份与恢复 # 概述 # Linux 系统需要备份的数据 /root/ 目录 /home/ 目录 /var/spool/mail/ 目录 /etc/ 目录 安装服务的数据 其他目录 # 备份策略 完全备份:完全备份就是指把所有需要备份的数据全部备份,当然完全可以备份整块硬盘,整个分区或某个具体的目录。 增量备份 差异备份 # dump 命令 [root@localhost ~]# dump [选项] 备份之后的文件名 原文件或目录选项: ​ -level: 就是我们说的 0-9 是个备份级别 ​ -f 文件名: 指定备份之后的文件名 ​ -u: 备份成功之后,把备份事件记录在...
1.2k words 1 mins.

# 日志管理 # 简介 # 日志服务 在 CentOS 6.x 中日志服务已经由 rsyslogd 取代了原先的 syslogd 服务。rsyslogd 日志服务更加先进,功能更多。但是不论该服务的使用,还是日志文件的格式其实都是和 syslogd 服务相兼容的,所以学习起来旗本和 syslogd 服务一致。 rsyslogd 的新特点: 基于 TCP 网络协议传输日志信息 更安全的网络传输方式 有日志消息的及时分析框架 后台数据库 配置文件中可以写简单的逻辑判断 与 syslog 配置文件相兼容 确定服务启动 [root@localhost ~]# ps aux | grep...
24k words 22 mins.

# 并发与异步 # 概述 最常见的并发场景包括: 编写快速响应的用户界面 处理同时出现的请求 并行编程 预测执行 这种程序同时执行代码的机制称为多线程。CLR 和操作系统都支持多线程,它是并发的概念基础。 # 线程 线程是一个可以独立执行的执行路径。 # 创建线程 客户端程序(控制台、WPF、UWP 或者 Windows Forms)再启动时都会从操作系统自动创建一个线程(主线程)。除非(直接或者间接地)手动创建多个线程,否则该应用程序就是一个单线程的应用程序。 要创建并启动一个线程,需要首先实例化 Thread 对象并调用 Start 方法。Thread 的最简单的构造器接受一个...
4.4k words 4 mins.

# Shell 编程 # 正则表达式 # 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed 等命令可以支持正则表达式。 通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp 这些命令不支持正则表达式,所以只能使用 shell 自己的通配符来进行匹配了。 # 基础正则表达式 "*" 表示前一个字符匹配 0 次,或任意多次 [root@localhost ~]# grep "a*" test_rule.txt #...