1212from geomdl import helpers
1313from geomdl import convert
1414from geomdl import operations
15+ from geomdl import linalg
1516
1617GEOMDL_DELTA = 0.001
1718
@@ -168,6 +169,30 @@ def test_bspline_curve2d_degree_reduce_ctrlpts_size(spline_curve):
168169 assert spline_curve .ctrlpts_size == ctrlpts_size_new
169170
170171
172+ def test_bspline_curve2d_tn_vector (spline_curve ):
173+ angle = 90.0
174+ t = spline_curve .tangent (0.5 )
175+ n = spline_curve .normal (0.5 )
176+ res = linalg .vector_angle_between (t [1 ], n [1 ])
177+ assert angle == res
178+
179+
180+ def test_bspline_curve2d_tb_vector (spline_curve ):
181+ angle = 90.0
182+ t = spline_curve .tangent (0.5 )
183+ b = spline_curve .binormal (0.5 )
184+ res = linalg .vector_angle_between (t [1 ], b [1 ])
185+ assert angle == res
186+
187+
188+ def test_bspline_curve2d_nb_vector (spline_curve ):
189+ angle = 90.0
190+ b = spline_curve .binormal (0.5 )
191+ n = spline_curve .normal (0.5 )
192+ res = linalg .vector_angle_between (b [1 ], n [1 ])
193+ assert angle == res
194+
195+
171196@fixture
172197def spline_curve3d (spline_curve ):
173198 curve3d = operations .add_dimension (spline_curve , offset = 1.0 )
@@ -179,6 +204,30 @@ def test_bspline_curve3d_ctrlpts(spline_curve3d):
179204 assert spline_curve3d .dimension == 3
180205
181206
207+ def test_bspline_curve3d_tn_vector (spline_curve3d ):
208+ angle = 90.0
209+ t = spline_curve3d .tangent (0.5 )
210+ n = spline_curve3d .normal (0.5 )
211+ res = linalg .vector_angle_between (t [1 ], n [1 ])
212+ assert angle == res
213+
214+
215+ def test_bspline_curve3d_tb_vector (spline_curve3d ):
216+ angle = 90.0
217+ t = spline_curve3d .tangent (0.5 )
218+ b = spline_curve3d .binormal (0.5 )
219+ res = linalg .vector_angle_between (t [1 ], b [1 ])
220+ assert angle == res
221+
222+
223+ def test_bspline_curve3d_nb_vector (spline_curve3d ):
224+ angle = 90.0
225+ b = spline_curve3d .binormal (0.5 )
226+ n = spline_curve3d .normal (0.5 )
227+ res = linalg .vector_angle_between (b [1 ], n [1 ])
228+ assert angle == res
229+
230+
182231@fixture
183232def nurbs_curve (spline_curve ):
184233 curve = convert .bspline_to_nurbs (spline_curve )
0 commit comments