法向量 - 平面上的法向量和曲面上的法向量

法向量 - 平面上的法向量和曲面上的法向量

flyfish

  • 平面上的法向量

    • 定义了一个平面 z = 0 z = 0 z=0。

    • 法向量是 (0, 0, 1),表示垂直于平面的向上方向。

    • 使用 quiver 函数在平面上绘制法向量。

  • 曲面上的法向量

    • 定义了一个曲面 z = x 2 − y 2 z = x^2 - y^2 z=x2−y2。

    • 使用 np.gradient 函数计算曲面的梯度,然后归一化得到单位法向量。

平面上的法向量

py 复制代码
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 定义平面
x = np.linspace(-1, 1, 10)
y = np.linspace(-1, 1, 10)
X, Y = np.meshgrid(x, y)
Z = np.zeros_like(X)

# 定义法向量
U = np.zeros_like(X)
V = np.zeros_like(Y)
W = np.ones_like(Z)  # 对于平面 z = 0,法向量为 (0, 0, 1)

# 绘制平面和法向量
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, alpha=0.5, rstride=1, cstride=1, color='c', edgecolor='none')
ax.quiver(X, Y, Z, U, V, W, color='r', length=0.1)

# 设置图形属性
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('平面上的法向量')

plt.show()

曲面上的法向量

py 复制代码
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 定义曲面
x = np.linspace(-1, 1, 10)
y = np.linspace(-1, 1, 10)
X, Y = np.meshgrid(x, y)
Z = X**2 - Y**2  # 曲面 z = x^2 - y^2

# 计算梯度
dz_dx, dz_dy = np.gradient(Z)
U, V = -dz_dx, -dz_dy  # 负梯度方向作为法向量方向
W = np.ones_like(Z)

# 归一化法向量
norm = np.sqrt(U**2 + V**2 + W**2)
U /= norm
V /= norm
W /= norm

# 绘制曲面和法向量
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, alpha=0.5, rstride=1, cstride=1, color='c', edgecolor='none')
ax.quiver(X, Y, Z, U, V, W, color='r', length=0.5)

# 设置图形属性
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('曲面上的法向量')

plt.show()
相关推荐
陈天伟教授4 天前
【30天学会机械制图 第13 天】项目三 从复杂立体到简单立体,再到平面图形 任务2 认识截交线和相贯线
平面·工程制图·机械制图
奈斯先生Vector4 天前
从“能调用”到“可替换”:Coze 多模型 API 编排层设计指南
linux·运维·人工智能·ubuntu·平面·ios
制造业的搬运工4 天前
PCB电源完整性设计:去耦电容·电源平面·地分割
科技·平面·制造·pcb工艺
陈天伟教授5 天前
【30天学会机械制图 第14 天】项目三 从复杂立体到简单立体,再到平面图形 任务3 从图纸认识组合体
平面
奈斯先生Vector6 天前
当 Agent 配置变成控制平面:从 RelayRouter 的网关思路重新理解 DeepSeek Harness
平面
陈天伟教授8 天前
【30天学会机械制图 第11 天】项目二 简单的立体变成平面图形 任务3 认识曲面立体的三视图
平面·信息可视化·工程制图·机械制图·工程制图,机械制图
陈天伟教授8 天前
【30天学会机械制图 第10 天】项目二 简单的立体变成平面图形 任务2 认识平面立体的三视图
平面·工程制图·机械制图·工程制图,机械制图
陈天伟教授10 天前
【30天学会机械制图 第4天】项目一 从平面图形开始 任务1 按标准来画图,秒懂!
人工智能·平面·ai编程·具身智能机器人技术·机械制图
陈天伟教授11 天前
【30天学会机械制图】项目一 从平面图形开始 任务1 机械制图国家标准篇
平面
陈天伟教授11 天前
【30天学会机械制图】项目一 从平面图形开始 任务1 按标准来画图,都懂你!
大数据·人工智能·平面·机器人·具身智能机器人技术