Waves svg
Posted on
Edited on
使用矩阵进行变换
WebGL 中的矩阵是列主序的。
平移变换
1 | const vShaderSource = ` |
WebGL制作动画
绘制流程
- 计算变换后的位置坐标。
- 清空画板。
- 绘制
- 循环 1-3 操作。
代码实现
使用库函数简化数学计算
1 | const vShaderSource = ` |
图像位移
位移原理
与在普通的坐标系中一样,只需在需要位移的坐标位置加入相应的矢量即可。(x1, y1, z1, w1) + (x2, y2, z2, w2) -> (x1 + x2, y1 + y2, z1 + z2, w1 + w2)
平移矩阵:
$$
\begin{bmatrix}
x’ \
y’ \
z’ \
1
\end{bmatrix} =
\begin{bmatrix}
1 & 0 & 0 & Tx \
0 & 1 & 0 & Ty \
0 & 0 & 1 & Tz \
0 & 0 & 0 & 1 \
\end{bmatrix} ×
\begin{bmatrix}
x \
y \
z \
1 \
\end{bmatrix}
$$
代码实现
1 | // position = P + ▲P |