基于OpenGL的三维电场线模拟

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关 键 词:电场线;计算机模拟;OpenGL
中 图 分 类 号 :O 411.3
文 献 标 志 码 :A
电场线是电磁学中的一个重要的物理概念, 由 于 它 既 看 不 见 又 摸 不 着 ,理 解 起 来 不 太 容 易 ,因 此将其形象地展示出来对电场线的学习具有重要 的 作 用 。 目 前 ,电 场 线 的 绘 制 有 多 种 方 法 ,如 手 工 描绘法、实验 模 拟 法 以 及 计 算 机 模 拟 法 等。 其 中 计 算 机 模 拟 法 具 有 描 绘 准 确、操 作 方 便 等 优 点。 目前已经有 各 种 各 样 的 模 拟 软 件 。 [1-2] 但 是 这 些 软件要么是预先 算 好 的,不 能 由 用 户 设 定 摆 放 位 置 ,要 么 只 是 局 限 在 二 维 。 为 了 克 服 以 上 的 不 足 , 我们在 Visual C+ + 环 境 下,通 过 调 用 OpenGL 设计了一种可以任意改变参数并可随意转动观察 视角的三维电场线模拟软件。
E珝(r珗n)单 位 向 量 化,另 一 种 是 直 接 让 n珗 等 于 E珝(r珗n)。前 者 每 次 步 进 相 同,后 者 步 进 与 电 场 强 度 呈正比。鉴 于 经 验,一 般 电 场 强 度 强 的 地 方,改 变
小,电场强 度 弱 的 地 方,易 受 影 响 改 变 较 大,因 此
OpenGL 是 一 个 开 源 的 三 维 绘 图 SDK。 从 其 官 方 网 站 下 载 库 ,头 文 件 以 及 源 文 件 ,在 程 序 中 即可方便地调用。
使用方法:进入 Visual C++ 之后选择 MFC 的对话框模 式,此 对 话 框 作 为 母 框 架。 新 建 一 个 类 GLWnd,从 CWnd类继承,在对 话 框 类 中 添 加 一个它的对 象,这 个 对 象 作 为 主 要 的 绘 图 区。 在 对话框初始化的 时 候,像 普 通 CWnd类 一 样 生 成 窗口。然后,在 GLwnd初始化的时候将 OpenGL 初始化。 最 后 只 要 重 载 OnPaint()函 数,将 需 求 绘图内容添加进去即可。
points on the sphere[J].Mathematical Intelligencer, 1997,9(1):5-11. [6] OpenGL Architecture Review Board,Dave Shreiner, Mason Woo,Jackie Neider,Tom Davis.OpenGL 编 程 指 南 [M].6 版 .北 京 :机 械 工 业 出 版 社 ,2009.

要:在 Visual C++环境下,设计了一种基于 OpenGL 的三维电场线模拟软件。该软件采用微
分方程法来生成电场线,可以准确地模拟不同观察视角下,静止点电荷的三维电场线。 用 户 可 以 拖 动 鼠
标 随 意 转 动 观 察 视 角 ,并 可 随 意 设 置 电 荷 个 数 、分 布 以 及 大 小 。
通过电场 方 程 就 可 以 得 到 该 点 的 切 线 向 量
n珗,n珗 与E珝(r珗n)方 向 相 同 。
将r珗n 沿切 线 方 向 移 动 一 个 微 小 的 距 离 得 到 另一个点
r珗n+1 =r珗n +λn珗 。
(3)
上式中λn珗 叫做步进。如果 是一 个 很 小 的 值,
那么该点就可以近 似 作 为 电 场 线 上 下 一 个 点。重
复 上 述 步 骤 ,就 可 以 得 到 这 个 电 场 线 上 所 有 的 点 。
这种方 法 叫 做 数 值 微 分 算 法。其 精 度 取 决 于λ,λ 越 小 ,与 实 际 电 场 线 越 近 似 ,但 同 一 根 电 场 线 需 要
计算的点 越 多。另 外 步 进 有 两 种 算 法,一 种 是 将
第24卷 第5期 2011 年 10 月
大学物理实验 PHYSICAL EXPERIMENT OF COLLEGE
文 章 编 号 :1007-2934(2011)05-0079-03
Vol.24 No.5 Oct.2011
基于 OpenGL 的三维电场线模拟
江 略 ,丁 益 民
(湖北大学,湖北 武汉 430062)
图 1 软 件 操 作 界 面
本程序 采 用 MFC 编 制,OpenGL 绘 图[6],界 面十 分 简 洁,用 户 点 击 添 加 电 荷,输 入 坐 标 和 大 小 ,便 可 在 一 定 范 围 内 任 意 添 加 多 个 电 荷 ,点 击 清 空电荷即可还原。用鼠标拖动显示区便可旋转观 察角度。还可滑动鼠标滚轮任意缩放。另外本软 件设立四个典型 的 情 况 对 应 四 个 按 钮,一 键 便 可 观 察 电 场 模 型 ,这 对 于 教 师 展 示 提 供 了 很 大 方 便 。 这 四 个 典 型 情 况 分 别 是 单 个 电 荷 ,同 等 异 号 电 荷 , 同等同号电荷,以 及 只 有 在 三 维 情 况 下 才 有 的 四 面体顶点分布的电荷。
的五个正多面体的顶点才是严格意义上的均匀分
布。文章采 用 E·B·Saff和 A·B·J·Kuij- laars(1997)[5]对 此 提 出 了 一 种 算 法,能 够 产 生 较 均匀的分布。
1.3 电 场 线 终 止 情 况 判 定 电 场 线 终 止 情 况 有 三 种 ,一 是 终 止 于 无 穷 远 ,
二是终止于另一 个 电 荷,三 是 终 止 于 一 个 电 场 强
收 稿 日 期 :2011-04-01
80
ຫໍສະໝຸດ Baidu
基于 OpenGL 的三维电场线模拟
度 为 零 的 点 。 对 第 一 种 的 处 理 ,给 一 个 限 定 范 围 , 超出范围就 不 再 步 进。 对 第 二 种 的 处 理,每 次 步 进完后判断一下是否落入另一个电荷同心小球域 即可。对第三种,每 次 步 进 之 前 判 断 一 下 电 场 是 否为零即可。
[3] 梁 灿 彬,秦 光 戎,梁 竹 兼.电 磁 学 [M]2 版.北 京:高 等 教 育 出 版 社 ,2004:1-25.
[4] R.P.Feynman,R.B.Leighton,M.Sands.费 恩 曼 物 理学讲 义 [M].2 卷.上 海:上 海 科 学 技 术 出 版 社,
2005. [5] E.B.Saff,A.B.J.Kuijlaars.Distributing many
参考文献:
[1] 姚晓玲,赵 萍,刘 力.点 电 荷 对 的 电 力 线 和 等 势 面 的 计 算 机 模 拟 [J].后 勤 工 程 学 院 院 报 ,2005(1):72-74.
[2] 钱懿华,董 慎 行.用 计 算 机 模 拟 点 电 荷 在 二 维 平 面 上 的 静 电 场 [J].大 学 物 理 ,2003,22(1)::31-39.
由于视角必须 由 用 户 调 整,因 此 必 须 在 鼠 标 移动事件中添加 消 息 响 应 函 数,记 录 鼠 标 移 动 方 向,根据方向设定 OpenGL 参数,以调整视角。
图 2 双 极 子 正 视 图
用鼠标拖动显 示 区 可 旋 转 观 察 视 角,当 设 定 视 角 为 45°斜 视 时 ,模 拟 结 果 ,见 图 3。
2 程序特点
软 件 的 操 作 界 面 ,见 图 1。
电场线的绘制 中 用 红 色 表 示 电 势 高 的 点,蓝 色 表 示 电 势 低 的 点 ,以 方 便 观 察 。
3 模拟结果
首先模拟等量异种电荷的三维电场线。在软 件操作界面上选择 “等 量 异 号 电 荷”,再 添 加 电 荷 的 坐 标 值 及 电 量 值 ,单 击 确 定 ,在 软 件 图 形 显 示 区 中 将 会 显 示 模 拟 结 果 ,见 图 2。
图 3 双 极 子 斜 视 图
还可以模拟双 杆 的 电 场 线 分 布 情 况,杆 是 由 七个等量的电荷 排 成 直 线 组 成,两 杆 的 电 荷 是 异 号 的 ,观 察 角 度 设 定 为 45°,模 拟 结 果 ,见 图 4。
图 4 拟 双 杆 斜 视 图
结果分析:软 件 绘 制 的 电 场 线 由 于 是 根 据 电
选 择 后 者 。选 择 后 者 的 另 一 个 好 处 就 是 计 算 量 小 ,
因为单位向量化计算量稍多。
1.2 寻 找 电 场 线 起 点
起点必须平均分布在以电荷为中心的一个半
径极小的球 面 上。 但 事 实 上,不 是 任 意 一 个 数 目
的点,都可以 在 球 面 上 均 匀 分 布 的。 仅 有 所 熟 知
1 模拟方法与算法
1.1 电 场 线 点电荷在周围空间产生的电场由库仑定律和
叠加原理决定 。 [3-4] 根据电磁理论有
E珝 = 4π1ε0rq3r珗。
(1)
解方程可得点电荷q在真空中一点r珒形成的电场为:
∑ E珝(r珗)=
1 4πε0
qi r珗i
·r珗i。
(2)
假 设 已 经 找 到 电 场 线 上 的 一 点r珗n(xn,yn)。
基于 OpenGL 的三维电场线模拟
81
磁学理论通过解 方 程 得 出,模 拟 结 果 与 理 论 结 果 相符合,具有 较 强 的 科 学 性。 该 软 件 突 破 了 二 维 限制,能够展 现 较 为 复 杂 的 三 维 电 场 线。 但 是 由 于等势面在三维 条 件 下 不 好 表 示,因 此 没 有 设 计 此功能。
Three-Dimensional Simulation of Electric Field Lines Based on OpenGL
JIANG Lue,DING Yi-min
(Hubei University,Hubei Wuhan 430062)
Abstract:In Visual C+ + environment,we designed a three-dimensional OpenGL-based simulation software of electric field lines.The software generates the electric field line by differential method.It can accurately simulate the static point charge of the three-dimensional electric field lines in different viewport.Users can easily drag the mouse to rotate viewing angle,and change the number of charge point,position and size. Key words:electric field line;computer simulation;OpenGL
相关文档
最新文档