@@ -15,14 +15,15 @@ class SplineSurface(torch.nn.Module):
1515
1616 .. math::
1717
18- S(x, y) = \sum_{i,j =1}^{n_x, n_y} B_{i,k}(x) B_{j,s}(y) C_{i,j},
19- \quad x \in [x_1, x_m], y \in [y_1, y_l]
18+ S(x, y) = \sum_{i=1}^{n_x} \sum_{j=1}^{ n_y} B_{i,k}(x) B_{j,s}(y)
19+ C_{i,j}, \quad x \in [x_1, x_m], y \in [y_1, y_l]
2020
2121 where:
2222
23- - :math:`C_{i,j} \in \mathbb{R}^2` are the control points. These fixed
24- points influence the shape of the surface but are not generally
25- interpolated, except at the boundaries under certain knot multiplicities.
23+ - :math:`C \in \mathbb{R}^{n_x \times n_y}` is the matrix of learnable
24+ control coefficients. Its entries :math:`C_{i,j}` influence the shape of
25+ the surface but are not generally interpolated, except under certain knot
26+ multiplicities.
2627 - :math:`B_{i,k}(x)` and :math:`B_{j,s}(y)` are the B-spline basis functions
2728 defined over two orthogonal directions, with orders :math:`k` and
2829 :math:`s`, respectively.
@@ -268,8 +269,8 @@ def control_points(self, control_points):
268269 # Check control points
269270 if control_points .shape != __valid_shape :
270271 raise ValueError (
271- "control_points must be of the correct shape. " ,
272- f"Expected { __valid_shape } , got { control_points .shape } ." ,
272+ f "control_points must be of the correct shape. "
273+ f"Expected { __valid_shape } , got { control_points .shape } ."
273274 )
274275
275276 # Register control points as a learnable parameter
0 commit comments