change data, mathematics, function, geometry and geometry_plot_pylab. add data_step, data_step_std and helper. add an example and more documentation.
inside the data module rename read to read_columns add add new read function to read the whole file as string. add print_list function to print one element per line. add unique_list and unique_list_hashable to reduce the list into a unique list with same order. add find_last, str_between, str_to_list functions. inside the mathematics module for vector add normalized creating a new object (normalize will change the object), isclose and iscloseto, change ang to round internal number. for matrix improve slicing and add transposed creating a new object (transpose will change object). inside the function module add b_spline_basis, b_spline_curve_with_knots and b_spline_knots functions. add sample_hal_open and sample_half_open_seq. add circle and ellipse. inside the geometry module change CS init from using lists to Directions and add new constructor CS.init_xzy using lists. rename Wireframe to Polyline. add classes B_spline_curve_with_knots, Ellipse, ArcCircle, ArcEllipse, ArcBSplineCurveWithKnots. add function sample_half_open to create a list of Points. inside the geometry_plot_pylab module change the help text. add step_and data data_step_std module to read a step file to list and draw the content. add helper module with context manager and decorator timeit to meassure the time for a section or function. add example for b_spline function.
This commit is contained in:
@@ -167,14 +167,42 @@ class TestGeometry(unittest.TestCase):
|
||||
len(obj),
|
||||
3)
|
||||
|
||||
def test_vector_normalize(self):
|
||||
v = vector.normalize(vector([3, 4]))
|
||||
def test_vector_ang(self):
|
||||
a = vector([1, 0])
|
||||
b = vector([0, 1])
|
||||
print(vector.ang(a,b), vector.ang(b, a))
|
||||
self.assertEqual(
|
||||
v,
|
||||
vector.ang(a, b),
|
||||
math.pi/2)
|
||||
self.assertEqual(
|
||||
vector.ang(b, a),
|
||||
math.pi/2)
|
||||
|
||||
def test_vector_normalized(self):
|
||||
v1 = vector([3, 4])
|
||||
v2 = vector.normalized(v1)
|
||||
self.assertEqual(
|
||||
v2,
|
||||
[0.6, 0.8])
|
||||
self.assertEqual(
|
||||
abs(v),
|
||||
abs(v2),
|
||||
1)
|
||||
self.assertEqual(
|
||||
v1,
|
||||
[3, 4])
|
||||
|
||||
def test_vector_normalize(self):
|
||||
v1 = vector([3, 4])
|
||||
v2 = v1.normalize()
|
||||
self.assertEqual(
|
||||
v2,
|
||||
[0.6, 0.8])
|
||||
self.assertEqual(
|
||||
abs(v2),
|
||||
1)
|
||||
self.assertEqual(
|
||||
v1,
|
||||
[0.6, 0.8])
|
||||
|
||||
def test_vector_rotate_x(self):
|
||||
# rotation of vector coordinate system about x axis
|
||||
|
||||
Reference in New Issue
Block a user