单位立方体各个面上的法向量,向量场以及每个面上的通量

单位立方体各个面上的法向量,向量场 F = ( x , y , z ) \mathbf{F} = (x, y, z) F=(x,y,z) 以及每个面上的通量

flyfish
假设我们有一个单位立方体,向量场 F = ( x , y , z ) \mathbf{F} = (x, y, z) F=(x,y,z) 在该立方体上。

  1. 法向量 :单位立方体的每个面都有一个法向量。例如:
  • x = 1 x = 1 x=1 的面上,法向量为 n = ( 1 , 0 , 0 ) \mathbf{n} = (1, 0, 0) n=(1,0,0)

  • y = 1 y = 1 y=1 的面上,法向量为 n = ( 0 , 1 , 0 ) \mathbf{n} = (0, 1, 0) n=(0,1,0)

  • z = 1 z = 1 z=1 的面上,法向量为 n = ( 0 , 0 , 1 ) \mathbf{n} = (0, 0, 1) n=(0,0,1)

  1. 通量 :计算向量场 F \mathbf{F} F 穿过每个面的通量:
  • x = 1 x = 1 x=1 的面上,通量为:
    ∬ 面  x = 1 F ⋅ d S = ∬ 面  x = 1 ( 1 , y , z ) ⋅ ( 1 , 0 , 0 ) d y d z = ∬ 面  x = 1 1 d y d z = 1 \iint_{\text{面 } x=1} \mathbf{F} \cdot d\mathbf{S} = \iint_{\text{面 } x=1} (1, y, z) \cdot (1, 0, 0) \, dy \, dz = \iint_{\text{面 } x=1} 1 \, dy \, dz = 1  x=1FdS= x=1(1,y,z)(1,0,0)dydz= x=11dydz=1

类似地,在其他面上计算得到的通量分别为1,总的通量为6(因为单位立方体有6个面,每个面上的通量为1)
在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
from matplotlib.animation import FuncAnimation, PillowWriter# 创建单位立方体的顶点
vertices = np.array([[0, 0, 0],[1, 0, 0],[1, 1, 0],[0, 1, 0],[0, 0, 1],[1, 0, 1],[1, 1, 1],[0, 1, 1]])# 定义单位立方体的各个面
faces = [[vertices[j] for j in [0, 1, 2, 3]],  # z=0[vertices[j] for j in [4, 5, 6, 7]],  # z=1[vertices[j] for j in [0, 3, 7, 4]],  # y=0[vertices[j] for j in [1, 2, 6, 5]],  # y=1[vertices[j] for j in [0, 1, 5, 4]],  # x=0[vertices[j] for j in [2, 3, 7, 6]]]  # x=1# 定义单位立方体各个面的法向量
normals = np.array([[0, 0, -1],[0, 0, 1],[0, -1, 0],[0, 1, 0],[-1, 0, 0],[1, 0, 0]])# 定义向量场 F = (x, y, z)
def vector_field(x, y, z):return np.array([x, y, z])# 创建动画
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_xlim(-0.5, 1.5)
ax.set_ylim(-0.5, 1.5)
ax.set_zlim(-0.5, 1.5)def update(frame):ax.clear()ax.set_xlim(-0.5, 1.5)ax.set_ylim(-0.5, 1.5)ax.set_zlim(-0.5, 1.5)face = faces[frame]normal = normals[frame]poly3d = [[face[0], face[1], face[2], face[3]]]ax.add_collection3d(Poly3DCollection(poly3d, alpha=0.5, color='cyan'))center = np.mean(face, axis=0)ax.quiver(center[0], center[1], center[2], normal[0], normal[1], normal[2], color='red', length=0.5)# 绘制向量场X, Y, Z = np.meshgrid(np.linspace(0, 1, 2), np.linspace(0, 1, 2), np.linspace(0, 1, 2))U, V, W = vector_field(X, Y, Z)ax.quiver(X, Y, Z, U, V, W, color='blue', alpha=0.3)ax.text2D(0.05, 0.95, f"Face {frame+1} with Normal Vector", transform=ax.transAxes)ax.text2D(0.05, 0.90, "Red Arrow: Normal Vector", transform=ax.transAxes, color='red')ax.text2D(0.05, 0.85, "Blue Arrows: Vector Field F = (x, y, z)", transform=ax.transAxes, color='blue')ax.text2D(0.05, 0.80, f"Flux through face: {np.dot(vector_field(center[0], center[1], center[2]), normal)}", transform=ax.transAxes)ax.set_xlabel('X')ax.set_ylabel('Y')ax.set_zlabel('Z')ani = FuncAnimation(fig, update, frames=len(faces), repeat=True,interval=1000)
writer = PillowWriter(fps=1)
ani.save('unit_cube_normals_flux.gif', writer=writer)plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

情绪识别反馈训练系统

系统应用简介 情绪识别检测训练系统可以通过语音、实时面部表情、静态情绪图片智能检测使用者的情绪,对异常情绪进行预警,以达到及时明晰情绪状态并辅助缓解负性情绪的目的。 应用范围:适用于年满足12周岁及以上人群。 二、系统基本原理 …

前端面试题14(贝塞尔曲线)

贝塞尔曲线在前端开发中经常用于创建平滑的动画路径或绘制复杂的矢量图形。贝塞尔曲线可以是一次、二次或三次的,其中三次贝塞尔曲线是最常见的,因为它提供了足够的灵活性来创建各种形状,同时保持计算上的可行性。 下面我将解释三次贝塞尔曲…

代码随想录算法训练营第五十九天 | 110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长、复习

110.字符串接龙 题目链接:https://kamacoder.com/problempage.php?pid1183 文档讲解:https://programmercarl.com/kamacoder/0110.%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%8E%A5%E9%BE%99.html 思路 本题只需要求出最短路径的长度就可以了,不用找出…

使用 Qt 实现自定义拖动窗口

文章目录 如何在 Qt 中实现无标题栏窗口的拖动准备工作创建自定义窗口类使用 QDialog 实现拖动功能详细解释代码行解释 小结 如何在 Qt 中实现无标题栏窗口的拖动 在许多桌面应用程序中,我们经常需要自定义窗口外观,包括去掉标题栏,使窗口看…

SQL Server端口配置指南:最佳实践与技巧

1. 引言 SQL Server通常使用默认端口1433进行通信。为了提高安全性和性能,正确配置SQL Server的端口非常重要。本指南将帮助您了解如何配置和优化SQL Server的端口设置,以满足不同环境和需求。 2. 端口配置基础 2.1 默认端口 SQL Server的默认端口是…

LabVIEW幅频特性测试系统

使用LabVIEW软件开发的幅频特性测试系统。该系统整合了Agilent 83732B信号源与Agilent 8563EC频谱仪,通过LabVIEW编程实现自动控制和数据处理,提供了成本效益高、操作简便的解决方案,有效替代了昂贵的专用仪器,提高了测试效率和设…

一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案

ShardingCore项目介绍 ShardingCore是一款开源、简单易用、高性能、普适性,针对EF Core生态下的分表分库的扩展解决方案,支持EF Core2的所有版本,支持EF Core2的所有数据库、支持自定义路由、动态路由、高性能分页、读写分离的一款EF Core拓展…

华为云生态和快速入门

华为云生态 新技术催生新物种,新物种推动新生态 数字技术催生各类运营商去重塑并颠覆各行业的商业模式 从业务层面看,企业始终如一的目标是业务增长和持续盈利,围绕这些目标衍生出提质、增效、降本、安全、创新和合规的业务诉求&#xff0c…

本迪戈和阿德莱德银行与MongoDB合作, 利用生成式AI对银行核心技术进行现代化改造

MongoDB公司(纳斯达克股票代码:MDB)近日宣布与本迪戈和阿德莱德银行 (Bendigo and Adelaide Bank,澳大利亚证券交易所股票代码:BEN)建立合作伙伴关系。 本迪戈和阿德莱德银行将使用MongoDB Atlas对其银行核…

【PTGui、Pano2VR6、UE4】VR全景拍摄及漫游交互制作操作实例(更新中)

一、基本思路 首先进行VR全景拍摄,获取高质量的全景图像;然后使用PTGui进行图像拼接,确保图像的连续性与准确性;接着利用Pano2VR6进行VR漫游的制作,添加交互元素与多媒体内容;最后进行作品的调试与优化&am…

条件筛选1-4题(30 天 Pandas 挑战)

条件筛选 1. 相关知识点1.1 query条件或查询1.2 query条件与查询1.3 存在查询及列名修改1.4 条件查询,相等1.5 删除重复值1.6 排序 2. 题目2.1 大的国家2.2 可回收且低脂的产品2.3 从不订购的客户2.4 文章浏览 I 1. 相关知识点 1.1 query条件或查询 # |或 world.q…

三星组件新的HBM开发团队加速HBM研发

为应对人工智能(AI)市场扩张带来的对高性能存储解决方案需求的增长,三星电子在其设备解决方案(DS)部门内部成立了全新的“HBM开发团队”,旨在提升其在高带宽存储器(HBM)领域的竞争力。根据Business Korea的最新报告,该团队将专注于推进HBM3、…

CUDA编程基础

文章目录 1、GPU介绍2、CUDA程序进行编译3、CUDA线程模型3.1、一维网格一维线程块3.2、二维网格二维线程块3.3、三维网格三维线程块3.3、不同组合形式 4、nvcc编译流程5、CUDA程序基本架构6、错误检测函数6.1、运行时API错误代码6.2、检查核函数 7、CUDA记时7.1、记时代码7.2、…

期货量化交易:探索金融投资的新领域

在当今快速发展的金融市场中,期货量化交易作为一种新兴的投资策略,正逐渐受到投资者的关注。本文将深入探讨期货量化交易的概念、优势、风险以及其在现代投资组合中的作用,旨在为广大读者提供一个全面而深入的视角。 期货市场概览 期货市场…

Google Earth Engine(GEE)——控制台ui.Textbox复制你想要的textbox

结果 函数: ui.Textbox(placeholder, value, onChange, disabled, style) A textbox that enables the user to input text information. Arguments: placeholder (String, optional): The placeholder text to display when the textbox is empty. Defaults to none. …

VBA语言専攻T3学员领取资料通知0706

T3学员领取资料通知0706 各位学员∶本周MF系列VBA技术资料增加641-645讲,T3学员看到通知后请免费领取,领取时间7月5日晚上19:00-7月6日晚上19:00。本次增加内容: MF641:前个窗体组合框选项联动下个组合框 MF642:工作表中数据选项联动下个数据验证 MF…

技术驱动旅游创新!深度解析景区导览小程序的地图渲染与AR导航技术

随着现代生活节奏的加快,人们在外出旅游时更倾向于轻便出行,携带导览地图已成为过去。然而,面对景区广阔的面积和众多景点,游客常常感到迷茫,难以快速定位到自己所需的地点。景区导览小程序让游客只需搜索景区名称&…

人工智能系列-NumPy(二)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 链接数组 anp.array([[1,2],[3,4]]) print(第一个数组:) print(a) print(\n) bnp.array([[5,6],[7,8]]) print(第二个数组:) print(b) print(\n) print…

zigbee笔记:六、看门狗定时器(Watch Dog)

一、看门狗基础 1、看门狗功能: 由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误等,程序运行可能会陷入死循环。程序的正常运行被打断,由单片机控制的系统无法继…

Motion Guidance: 扩散模型实现图像精确编辑的创新方法

在深度学习领域,扩散模型(diffusion models)因其能够根据文本描述生成高质量图像而备受关注。然而,这些模型在精确编辑图像中对象的布局、位置、姿态和形状方面仍存在挑战。本文提出了一种名为“运动引导”(motion gui…