Curve surface okayish implementation

This commit is contained in:
2024-04-26 19:47:55 +02:00
parent 323111f2f6
commit 751e935b32
4 changed files with 102 additions and 20 deletions

View File

@@ -19,8 +19,11 @@ def parallel(segment, distance, normal=np.array([0, 1, 0])):
def normalized(vector):
magnitude = np.linalg.norm(vector)
normalized_vector = vector / magnitude
return normalized_vector
if magnitude != 0:
normalized_vector = vector / magnitude
return normalized_vector
else:
return [0, 0, 0]
def orthogonal(origin, point, distance, normal=np.array([0, 1, 0])):
@@ -47,6 +50,8 @@ def orthogonal(origin, point, distance, normal=np.array([0, 1, 0])):
orthogonal = np.cross(normalized_vector, normalized_normal)
if np.array_equal(orthogonal, np.zeros((3,))):
print(normalized_vector, normalized_normal, orthogonal, normal)
print(origin, point, distance)
raise ValueError("The input vectors are not linearly independent.")
orthogonal = np.round(