Graphics

Linear Algebra

向量绝对值

  • ||v|| = √(x^2+y^2+…)

Dot Product 点积、内积 P·Q

几何定义:

avatar

代数定义:

avatar

主要用于

  • 计算向量夹角余弦值

  • 计算a向量在b向量上的投影: a的单位向量乘以b向量长度再乘以两向量夹角余弦
    avatar

  • sqrt(dot(a,a)) = length(a)


Cross Product 外积 P x Q

||PxQ|| = ||P|| ||Q|| sinα

代数定义:

avatar

主要用于

  • 判断左右,右手螺旋定则,a x b,z为正则在a左侧,反之则右侧,0两个向量平行
  • 判断点是否包含于图形
    avatar
    AB x AP, BC x BP, CA x CP, 若z值同向则包含ABC包含P

Orthonormal bases 正交,内积为0则为正交向量

Coordinate frames


ShaderToy

1
2
3
4
5
6
7
8
9
10
11
12
// 平滑过渡
float smoothstep(float a, float b, float x){
// saturate 取0 ~ 1范围内的值
float t = saturate((x - a)/(b - a));
return t*t*(3.0 - (2.0*t));
}

// 混合函数
vec3 mix(vec3 x,vec3 y,float a){
return x * (1. - a) + y * a;
}