射线到直线方程的转换
摘要:【射线到直线方程的转换】1、已知射线:p+t*d。d为单位向向量。求此射线的法线向量。 法线向量:(dy, -dx)。2、已经射线:p+t*d。d为单位向向量。求此射线所在的直线方程。 设方程为 ax + by = d。(a,b)是法线,由1)知,a=dy, b = -dx。 关于d的计算方法...
阅读全文
两个运动球的相交性测试
摘要:【两个运动球的相交性测试】 首先,两个运行的球,可以转化为一个静止,一个运动的相对运动。 其后,利用三角公式,按下图原理,即可计算出t。 最后化简,可得最后公式: t有一大一小俩值,小的是开始接触的值,大的是结束接触的值。如果t小于0,则无交点。
阅读全文
射线和球的相交性
摘要:【射线和球的相交性】 首先判定射线起点是否在圆内,如果在圆内,则必然相交。否则,转化为如下情形: 我们示出t,即可示得交点坐标。t=a-f。a很容易求,dot(e,d)即可。而f^2+b^2=r^2,为求f,需要先求出b。其中b^2+a^2=e^2,可求出b。因此最后可解出f。 最后的...
阅读全文
射线的相交性检测
摘要:【射线的相交性检测】 定义2条射线:r(t1)=p1+t1*d, r(t2)=p2+t2*d. 为了简化2条射线的处理,先考虑t1,t2可取任意值的情况,此时r(t1)、r(t2)即化身为2条直线。 3D空间中直线相交情况总共有4种: 以及不共面。 下面演示如何解得t1,t2: ...
阅读全文
射线和平面的相交性检测
摘要:【射线和平面的相交性检测】 对于射线:p(t)=p0+t*d,与平面p*n=d。如何知道此射线与平面是否相交?如果相交,如何求出交点? 1、求是否相交。 首先判断点是否在平面上,将点坐标代入平面公式计算即可得。 当d*n =0时,射线与平面平行,无交点。 当d*n <0时,...
阅读全文
几何图元
摘要:【几何图元】1、圆的参数坐标。 x(t) = cos 2*PI*t y(t) = cos 2*PI*t2、圆的周长:2*PI*r。圆的面积:PI*r^2。 球的表面积:4*PI*r^2。球的体积:4/3*PI*r^3。3、AABB的表示方法: 1)2点式。Pmin、Pmax。 2)尺寸向量...
阅读全文
求素数的方法
摘要:【筛选法】 【改进方法】 实际上,当发现X是质数时,不需要从X的1-X去排除,只需从X+1开排除即可。下面我证明一下。 1-X的数分为2类,一类是合数,合数显然可以拆分为比X更小的质数,所以以X为基再次遍历此合数,无意义,重复了。 一类是质数,此质数显然小于X,而小于X的质数早已被遍历,...
阅读全文
为什么质数是无穷的?
摘要:【为什么质数是无穷的?】假设,质数是有限的,存在最大的质数P那么,构造这样一个数AA=2×3×5×7×……×P+1即A是从2到P所有质数的乘积再加上1.这样,利用任何一个质数去除A,都会余1,即任何质数都无法整除A. 根据指数的定义,A是一个质数. 显然,A比P大的多这与假设“P是最大的质数”矛盾....
阅读全文
找东西背后的概率问题
摘要:【找东西背后的概率问题】 我的书桌有8个抽屉,分别用数字1-8编号。每次拿到一份文件后,我都会把这份文件随机地放在某一个抽屉中。但我非常粗心,有1/5的概率会忘了把文件放进抽屉里,最终把这个文件搞丢。 现在,我在找一份非常重要的文件。我将按顺序打开每一个抽屉,直到找到这份文件为止。考虑下面三个问...
阅读全文
求Half向量
摘要:【求Half向量】 给定入射向量与视角向量。把入射向量与视角向量相加即可,如下: 前提是 lightDir、ViewDir 都是单位向量。
阅读全文
3D Math Keynote
摘要:【3DMathKeynote】1、常用公式。 1)(A*B)^T = B^T*A^T。 2)(A*B)^-1 = B^-1*A^-1。 3)|A*B| = |A|*|B|。 4)|M^T|=|M|2、为什么矩阵的每一行可以解释为坐标系的基向量? 3、为了将原坐标系转换到新坐标系,用它乘以...
阅读全文
贝赛尔曲线
摘要:【贝赛尔曲线】 贝塞尔曲线(英语:Bézier curve)是电脑图形学中相当重要的参数曲线。 1、线性贝塞尔曲线。 给定点P0、P1,线性贝塞尔曲线只是一条两点之间的直线。这条线由下式给出: 且其等同于线性插值。2、二次方贝塞尔曲线二次方贝塞尔曲线的路径由给定点P0、P1、P2的函数B(t...
阅读全文
多边形的性质
摘要:【多边形的性质】1、如果一个多边形所有内角均小于180度,则为凸(convex)多边形。凸多边形的另一定义是它的内部完全在它的任一边及其延长线的一侧。 2、给定多边形顶点,计算连续的边向量叉积,如果有些为正而另一些为负,则该多边形为凹多边形。3、多边开形的内角和为(n-2)*180。3、通过向量...
阅读全文
椭圆的特征
摘要:【椭圆的特征】 椭圆有2个焦点,椭圆上任意一点到2个焦点的距离是一个常量。 所以椭圆方程可以如下: 也可写成下式通过椭圆方程: 也可按照长短轴给出椭圆方程: 或者通过角度的方式给出方程: 椭圆按四象限对象,无法像圆一样八象限对称:
阅读全文
贝塞尔曲线
摘要:【贝塞尔曲线】1、线性贝塞尔曲线 给定点P0、P1,线性贝塞尔曲线只是一条两点之间的直线。这条线由下式给出: 且其等同于线性插值。2、二次方贝塞尔曲线 二次方贝塞尔曲线的路径由给定点P0、P1、P2的函数B(t)追踪: 3、三次方贝塞尔曲线 P0、P1、P2、P3四个点在平面或在三维空...
阅读全文
求反射向量
摘要:【求反射向量】 给定入射光线向量I和平面法向量N,求反射向量R,如下图。为了方便计算,这里假定I和N都是单位向量(模为1,编程时可先将I和N单位化)。 设入射光线向量I和反射平面的法向量N之间的夹角为theta。连接I的始端和R的末端,则有 R = 2P - I (1) 现在...
阅读全文
向量投影
摘要:【向量投影】 给定一个向量u和v,求u在v上的投影向量,如下图。 假设u在v上的投影向量是u’,且向量u和v的夹角为theta。一个向量有两个属性,大小和方向,我们先确定u’的大小(即长度,或者模),从u的末端做v的垂线,那么d就是u’的长度。而u’和v的方向是相同的,v的方向v/|v|也就是u’的
阅读全文
数论Keynote
摘要:【同余】1、整数a,b对模m同余的充分与必要条件是m|(a-b),即a=b+mt,t是整数。2、性质丁。若a1=b1(mod m),a2=b2(mod m),则(a1+a2)=(b1+b2)(mod m)。 推论,a+b=c(mod m),-b=-b(mod m),则a=c-b(mod m)。3、...
阅读全文
单位圆上的所有点
摘要:【单位圆上的所有点】 单位园上的点(x,y),满足特点x^2+y^2=1。 我们只要知道x^2+y^2=z^2的解法,就能求出单位圆的坐标表示。 初等数论第二章第3节定理1,x=2ab,y=a^2-b^2,z=a^2+b^2,即是x^2+y^2=z^2所有解。 将等式左右两边同是除以a^2+b...
阅读全文