python根据三个点计算平面的法向量

python根据三个点计算平面的法向量

 

 

import numpy as np

# 定义三个点的坐标
point1 = np.array([1, 2, 1])
point2 = np.array([5, 1, 1])
point3 = np.array([4, 6, 2])

# 计算两个向量
vector1 = point2 - point1
vector2 = point3 - point1

# 计算叉乘得到法向量
normal_vector = np.cross(vector1, vector2)

# 检查三个点是否共线
if np.linalg.norm(normal_vector) == 0:
    print("三个点共线,无法确定法向量")
else:
    # 归一化法向量
    normal_vector /= np.linalg.norm(normal_vector)
    print("法向量:", normal_vector)

 

 

 

 

#######################

posted @ 2024-07-14 21:39  西北逍遥  阅读(59)  评论(0编辑  收藏  举报