|
ViewDesignEngine
3.1.0
高性能 CAD 计算几何引擎
|
Bézier 张量积曲面 更多...
#include <bezier_surface.h>
Public 成员函数 | |
| BezierSurface (std::vector< std::vector< Point3D >> control_grid) | |
| 构造 Bézier 曲面 更多... | |
| Point3D | evaluate (double u, double v) const |
| 求曲面点 S(u,v) 更多... | |
| Vector3D | derivative_u (double u, double v) const |
| u 方向偏导数 ∂S/∂u 更多... | |
| Vector3D | derivative_v (double u, double v) const |
| v 方向偏导数 ∂S/∂v 更多... | |
| Vector3D | normal (double u, double v) const |
| 单位法向量 N(u,v) = (∂S/∂u × ∂S/∂v) / |…| 更多... | |
| int | degree_u () const |
| u 向阶次 更多... | |
| int | degree_v () const |
| v 向阶次 更多... | |
Bézier 张量积曲面
由 (m+1)×(n+1) 控制点网格定义,m = degree_u,n = degree_v。 参数域 (u,v) ∈ [0,1]×[0,1],四个角点插值网格四角。
求值公式:S(u,v) = Σ_i Σ_j P_{ij} · B_i^m(u) · B_j^n(v)
在文件 bezier_surface.h 第 19 行定义.
| vde::curves::BezierSurface::BezierSurface | ( | std::vector< std::vector< Point3D >> | control_grid | ) |
构造 Bézier 曲面
| control_grid | 控制点网格,grid[i][j] 对应 u 方向第 i 个、v 方向第 j 个控制点 |
|
inline |
|
inline |
| Vector3D vde::curves::BezierSurface::derivative_u | ( | double | u, |
| double | v | ||
| ) | const |
u 方向偏导数 ∂S/∂u
| u | u 参数 |
| v | v 参数 |
| Vector3D vde::curves::BezierSurface::derivative_v | ( | double | u, |
| double | v | ||
| ) | const |
v 方向偏导数 ∂S/∂v
| u | u 参数 |
| v | v 参数 |
| Point3D vde::curves::BezierSurface::evaluate | ( | double | u, |
| double | v | ||
| ) | const |
求曲面点 S(u,v)
| u | u 参数,范围 [0, 1] |
| v | v 参数,范围 [0, 1] |
| Vector3D vde::curves::BezierSurface::normal | ( | double | u, |
| double | v | ||
| ) | const |
单位法向量 N(u,v) = (∂S/∂u × ∂S/∂v) / |…|
| u | u 参数 |
| v | v 参数 |