当我们自签名时,我们其实是在做什么

摘自自己计网的实验报告

为了确保自己是真的理解了密码学相关的一些内容,而不是简单的调用OpenSSL生成两个文件糊上去用,我在这里写一下自己对这方面的理解,从下面这些名词逐步深入:

对称加密:保证机密性 一个经典的例子 凯撒加密 典型算法:3DES AES。

散列函数:保证消息的完整性 SHA-1 MD5 等

非对称性加密:非对称性加密是用来解决对称加密中秘钥传输的痛点的。它的机密性是由数学上的复杂度决定的,比如RSA是质数分解。在数学上目前没什么很快的方法(不代表以后没有,或者直接绕过质数分解的破解RSA

Read more

使阿里云服务器支持ipv6

App Store的游戏上线需要支持ipv6。我这里使用的是阿里云学生服务器,便宜好用,怎么折腾都不心疼,服务器OS为Ubuntu16.04LTS。顺带一提阿里云有直接支持IPV6并分配了公网IP的服务器,不过价格嘛……

ipv4地址:47.95.210.48

ipv6地址:2001:470:35:81a::2

1.开启ipv6

阿里云的ipv6默认关闭,首先打开linux服务器的ipv6功能

vim /etc/sysctl.conf

修改以下三行

1
2
3
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
Read more

绕任意轴旋转, 绕任意直线旋转矩阵推导

问题描述:

已知空间中的任意轴axis(u,v,w),点v绕该轴旋转$\theta$后得到点v’,求满足条件的矩阵$R_\theta$,使得有
$v’ = R_\theta v$

思路1:
先将旋转到z轴,然后引用绕z轴旋转公式,再将该轴再旋转回原来的地方。
思路2:
矩阵的本质是线性变换,我们通过几何方法对三个轴分别写出三个线性变换的表达式,再将其拼接成矩阵。

这里我们讲一下思路1,思路2见3D Math Primer for Graphics and Game Development, 2nd Edition,不管采取哪种方法,得到的结果肯定是一样的。

众所周知,把一头大象关进冰箱需要三步
1.打开冰箱门
2.把大象放进去
3.关闭冰箱门

Read more

投影矩阵之十万个为什么

part1. 关于概念

什么是投影矩阵?
投影矩阵是一个4x4齐次矩阵,将点从观察空间(viewing/eye/camera space)变换到裁剪空间(cliping space)(或者理解成空间的变换,这两者本质是一样的)

正交投影与透视投影的区别?
由视锥体(frustum)变换到裁剪空间。正交投影是由一个cube变换到裁剪空间。我们这里不讨论正交投影。

什么是裁剪空间?
一个四维的齐次空间,从几何上来看还是个视锥,但请不要用看待普通三维空间的方法去看这个空间!它具有一定的拓扑性质。对于透视投影来说,该空间下的点,其w分量有着特殊的意义(其实就是观察空间中的点的深度值$Z_e$,一会儿我们会提到)。

为什么叫裁剪空间?怎么裁剪

Read more

点到直线最短距离

问题描述:

对于三维空间中的直线方程

$p(t) = o + t\vec{d}$

其中$o$是原点, $\vec{d}$是单位方向向量。

对于给定的点$q$, 求出t的值, 使得直线上的点$p^\prime=p(t)$到$q$点的距离最近。

Read more

Ray tracing the next week 中文翻译

写在前头
本书为PeterShirley的Ray tracing入门教学系列的第二本。当前版本v3.0。

译者水平有限, 有些地方读起来难免会感到怪怪的, 还请各位见谅。如果您遇到什么看不懂的地方或者乱七八糟的句子, 那么您很可能是辣鸡翻译的受害者, 这时候请不要犹豫, 直接去阅读原文自救。如果您愿意帮助我改进这个翻译, 请直接在页面底部留言发送邮件zgxmy@126.com, 万分感激!!!

目录:
1. Overview 概述
2. Motion Blur 动态模糊
3. Bounding Volume Hierarchies 层次包围盒
4. Solid Texture 固体贴图
5. Perlin Noise 柏林噪声
6. Image Texture Mapping 图像纹理映射
7. Rectangles and Lights 矩形和光源
8. instance 实例
9. volumes 体积体
10. A Scene Testing All New Features 一个测试所有新特性的场景
译者后记

Read more