Python编程与3D物理学仿真(视频版)
  • 推荐0
  • 收藏0
  • 浏览909

Python编程与3D物理学仿真(视频版)

张继春 (作者) 

  • 书  号:978-7-121-40928-8
  • 出版日期:2021-04-21
  • 页  数:228
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:李利健
纸质版 ¥89.90
本书将Python编程和物理力学知识同步结合起来,通过编程将物理概念和物理过程进行3D可视化展 现,帮助读者在3D场景下加深对物理知识的理解和掌握,从而培养读者学习物理的兴趣,提高物理自主学习和科 学探究的能力。
全书共10章,第1章介绍使用Python进行3D物理学编程的基础知识,第2~10章结合高中物理教材的知识点进行实例讲解,便于读者结合物理教材进行同步学习。另外,本书还配有完整的教学视频,读 者结合视频可更直观地学习书中的内容。本书适合理工科高校一年级学生、高中学生、职高和中职学生学习,也可为物理教师和中小学信息 技术教师提供信息化创新教学参考,还可以供广大物理爱好者参考使用。
用Python轻松学物理
案例有趣,告别枯燥
配套视频,学习直观
在线答疑,随学随问
前言
写作目的
(1)Python 是一个非常简单且好用的编程工具
首先说它简单。Python 不像其他语言那样有着复杂的语法,我们不用提前定义变量的类型,也不用了解什么是“指针”和“中断”,只需要按照书上的公式和解题过程输入代码,程序就写完了。因此,Python 才能真正被称为演算式程序语言。当然Python 也有一定的语法规范,但并不复杂。
其次说它好用。什么是好用?我们能用它快速完成一个任务,它就是好用。我们今天能用它来做一个物理的模拟程序,明天能用它在游戏《我的世界》(Minecraft)中批量创造建筑,后天能用它开发一套语音识别程序或进行网络数据抓取等,它就是好用。大家注意,我们是一天用它完成一个不同的任务,而不是用多个工作日。可以利用Python 简短的代码完成其他编程语言用庞杂的代码才能完成的工作,而且Python 是免费、开源的,我们可以从各种途径获得各种资源,加快和优化项目的进程。
既然Python 是那么好用的一个工具(这里不再称它为编程语言),那么我们越早掌握越好。越早掌握这个工具,就能越早进行科技创新,就能越早用它辅助我们的学业或完成我们的项目。先谈一下科技创新。举个例子,仅从Python 本身来讲,比如,中学阶段你就掌握了这个工具,那么从踏入大学校门的第一天起,你就可以用Python 写论文、参加各种科技创新比赛,这最终将有助于你择业。
再聊一下Python 对学业的辅助作用。Python 是一种演算式编程工具,它特别适合理论计算类例题或习题的求解。我曾经看过外国中学生用Python 对数学计算题进行演算的实例。中小学里的数学、物理及化学等课程,凡是有计算题的地方都可以用Python 进行计算或验算。
大学里的课程理论更深,如果能用Python,很多问题都能迎刃而解。
(2)青少年如何学习Python
知识的学习有一个过程:看到了,你才会相信;听懂了,你才会理解;做过了,你才会记住。对Python 的学习也是这样,要学好Python,我们就得做项目。也就是说,我们必须采用基于项目的学习方式,通过做项目的过程来融会贯通地学习Python 的基础知识。通过编写完整的项目程序,才能真正系统掌握Python 编程知识。
对广大青少年读者来讲,以什么项目来学习Python 才是合适的?这个项目必须和青少年读者的知识层次和知识结构相对应,不要“超纲”。很多编程培训机构的老师们都有感觉,目前开展青少年编程培训最大的难度不在于编程语言,而在于学习者对编程项目所需专业知识的掌握程度。比如,在给小学生讲解重力作用下小球桌面反弹游戏编程时,所需要的Python 知识点小学生们几分钟就可以听懂,可是却需要花费半天的时间来给小学生讲解重力加速度和自
由落体等方面的知识。
所以,无论你是中小学生,还是大学生,或者是已经参加工作的青年朋友们,最好能够结合自己的课程或者业务来学习Python。
(3)Python 学习和物理学习相结合的重要性
综上所述,我想出了Python 编程和物理学习相结合的项目。物理学科的难度系数很大,很多知识点比较晦涩,仅凭书中的描述,学生很难建立正确的物理场景,更别提能正确理解概念和熟练掌握应用了。为能将复杂的物理问题的动态过程展现得具体而生动,使编程过程具有趣味性,我们采用3D 可视化编程,对物理过程进行3D 动态仿真。因此,本书也就诞生了。
为最大限度地节省读者的学习时间,提高学习效率,我们按照物理力学知识点的顺序同步编写本书,根据知识点设计对应的编程项目。
物理学科是一个基于实验的学科,学习者可通过物理的实物实验培养对外界知识不断探索的兴趣。在课堂实验之外,学习者如何对实验过程进行复习、概括及拓展,往往受制于实验硬件条件的限制。硬件条件的限制使学习者只能停止对物理知识的探究,更无法形成系统的物理自主学习能力。而物理新课标核心素养里明确要求要培养学生的物理探究能力和自主学习能力。
现在利用Python 就可以完全解决这个问题。我们可以利用Python 完成物理的虚拟实验,甚至可以完成实物无法实现的实验。比如卫星的椭圆轨道运行及卫星的变轨问题,这个实验是无法做实物实验的,但可通过Python 将卫星运动的动力学过程描述出来,当我们通过程序改变速度实现卫星椭圆轨道的变大或变小时,学习者才能真正理解实际的卫星在飞天过程中通过控制发动机的点火来增大或减小推进力的意义所在。
利用Python 可以建立一个物理实验项目,通过改变程序中某个或某些变量的数值,就可以轻松改变实验条件,进而适当拓展或者无限拓展实验条件。我们可以创建自己的实验条件,也可以创建自己的实验,从而将很多实物无法实现的过程(概念)采用3D动态仿真的过程展现出来。
本书特色
本书具有以下特点。
(1)本书不是一本Python 语言的工具书,而是一本讲解如何利用Python 建立3D 物理虚拟实验,从而学习物理的书。全书没有安排专门的章节讲解Python 的基础知识,而是直接带领读者按照项目实例的方式进行编程和学习。读者可以完全没有Python 基础,只需要认真地跟着本书进行实例的编程操作,通过编程实践感悟认知规律,在做过一两个实例之后,相信大家在加深对物理知识掌握的基础上自然就学会了Python 的编程基础。
(2)按物理力学知识点脉络安排章节,读者可以根据物理知识结构同步系统地学习。本书强调专业知识的重要性,而不是过分强调软件操作,因为本书的主要目的是掌握物理学知识,而Python 只是协助学习物理知识的软件工具。
(3)以步骤拆解的方式讲述项目的编程过程,每个实例都分为“加载3D 模块”到“定义动画循环”等不同的编程操作步骤,使读者熟练掌握使用Python 软件进行3D 物理学项目开发的清晰条理。
主要内容
本书将Python 编程和物理力学知识同步结合,通过编程将物理概念和物理过程进行3D 可视化展现,在3D 场景下加深对物理知识的理解和掌握,从而培养物理学习兴趣,提高物理自主学习和科学探究能力。
本书共分10 章,具体内容如下。
第1 章介绍使用Python 进行3D 物理学编程的基础知识。通过简单的实例介绍了利用VPython 模块进行基本的3D 形状创建的方法,以及如何控制位置移动和3D 动画的生成,最后通过匀速直线运动完整的实例介绍利用Python 进行3D 物理学仿真的基本步骤。
第2 章介绍运动的描述。通过实例首先介绍位置与参考系的概念,进而提出位移- 时间关系曲线,在位移曲线的基础上深度理解速度和加速度的基本概念。
第3 章介绍匀变速直线运动。首先仿真了匀变速直线运动的三维动态过程和位移、速度及加速度随着时间的变化关系,然后对多阶段变速过程进行探讨,最后对自由落体和竖直上抛这两类特殊匀变速直线运动进行分析。
第4 章介绍相互作用——力。首先对弹簧的弹力和长度之间的关系进行动态仿真,然后对静摩擦力向动摩擦力的转换过程进行了深入研究,最后对力的合成与分解,特别是重力在斜面上的分解过程进行详细的仿真分析。
第5 章介绍运动和力的关系。首先对外力作用下的匀变速直线运动的加速度和力、质量的关系进行深入探究,然后对具有摩擦力的斜面运动进行了三维仿真,最后对经典的伽利略斜面实验进行了3D 仿真再现。
第6 章介绍抛体运动。首先介绍外力对直线运动状态的改变效果,然后对重力作用下的平抛运动和一般抛体运动进行了详细的3D 动态仿真与分析。
第7 章介绍圆周运动。首先对圆周运动进行基本的仿真实现,然后对向心加速度和向心力进行详细的模拟仿真,进而对向心力改变时的切线运动和离心运动进行动态仿真,最后对圆锥摆问题进行3D 物理学仿真分析。
第8 章介绍万有引力及宇宙航行。首先对物体间的万有引力进行简单的仿真,然后仿真在万有引力作用下地球卫星的椭圆运动,进而计算轨道周期等参数,对卫星变轨问题进行深入的仿真探讨,最后对相对论尺度改变问题进行简单的仿真分析。
第9 章介绍机械能守恒定律。首先对做功和动能定理进行了仿真,然后对重力势能和弹性势能及机械能守恒进行了详细的仿真分析,最后以单摆运动为例仿真分析机械能守恒条件下的能量相互转化过程。
第10 章介绍动量守恒定律。首先对动量和动量定理的基本概念进行了仿真,然后分别对小球对心碰撞时的弹性碰撞和非弹性碰撞进行了详尽分析,最后对单摆碰撞时的弹性碰撞过程进行了3D 动态仿真与分析。
本书配有全套视频讲解,所有的代码均提供源代码下载服务。另外,本书设立了两个读者QQ 群(一群:877159829;二群:197868820),用于解答读者的疑问,便于大家交流。
另外,我在中国大学MOOC 上已经开设了独立SPOC 课程,需要此课程学习密码的读者请和我联系。
致谢
首先感谢我的家人,没有他们对我的支持与鼓励、关心与照顾,本书不能顺利成稿。
其次要感谢笔者近年来所有遇到过的大中小学物理教师和信息技术教师,没有他们一线的教学需求和课题研究需求分析,本书无法成稿。
最后要感谢电子工业出版社的编辑李利健和她的同事们,没有出版社的大力支持,没有李编辑和其同事们的辛苦付出、耐心指导,本书无法顺利出版。
由于作者水平有限,书中难免有错误和不当之处,敬请读者批评、指正。
张继春

目录

第1 章 Python 3D 物理学基础........................................................................ 1
1.1 入门实例....................................................................................................................... 1
1.1.1 命令行输入.................................................................................................... 1
1.1.2 程序文件输入................................................................................................ 2
1.2 3D 模型的创建 ............................................................................................................. 3
1.2.1 3D 坐标系...................................................................................................... 3
1.2.2 球体模型........................................................................................................ 3
1.2.3 长方体模型.................................................................................................... 4
1.2.4 圆柱体模型.................................................................................................... 6
1.2.5 螺旋体(弹簧)模型..................................................................................... 7
1.2.6 箭头模型........................................................................................................ 9
1.3 位置的移动................................................................................................................... 9
1.3.1 直接修改位置属性................................................................................... 9
1.3.2 引入速度概念修改位置属性....................................................................... 10
1.4 3D 动画的实现——物体位置的连续改变 ............................................................... 11
1.4.1 3D 动画的构成............................................................................................. 11
1.4.2 rate() 函数的作用......................................................................................... 13
1.5 匀速直线运动程序实例............................................................................................. 14
第2 章运动的描述......................................................................................... 21
2.1 位置与参考系实例..................................................................................................... 21
IX
目录
2.2 位移- 时间关系实例 ................................................................................................. 24
2.3 速度的概念——追及问题实例................................................................................. 29
2.4 加速度的概念实例..................................................................................................... 33
第3 章 匀变速直线运动的研究........................................................................ 38
3.1 初速度为零的匀变速直线运动实例......................................................................... 38
3.2 加速度为负的匀变速直线运动实例......................................................................... 43
3.3 多阶段匀变速直线运动实例..................................................................................... 48
3.4 自由落体运动实例..................................................................................................... 53
3.5 竖直上抛运动实例..................................................................................................... 59
第4 章 相互作用——力................................................................................ 64
4.1 弹簧与胡克定律实例................................................................................................. 64
4.2 动摩擦力与静摩擦力实例......................................................................................... 69
4.3 力的合成实例............................................................................................................. 74
4.4 重力沿斜面的分解实例............................................................................................. 75
4.5 力的平行四边形分解实例......................................................................................... 81
第5 章 运动和力的关系................................................................................ 84
5.1 直线运动加速度与力、质量关系实例..................................................................... 84
5.2 考虑摩擦力的斜面运动实例..................................................................................... 92
5.3 伽利略斜面运动实例................................................................................................. 99
第6 章 抛体运动....................................................................................... 108
6.1 外力方向和初始速度方向垂直的曲线运动实例................................................... 108
6.2 平抛运动实例........................................................................................................... 113
6.3 一般抛体运动实例................................................................................................... 119
第7 章 圆周运动....................................................................................... 127
7.1 基于三角函数的圆周运动仿真实例....................................................................... 127
7.2 圆周运动的向心加速度实例................................................................................... 130
7.3 圆周运动的向心力及其分解实例........................................................................... 134
7.4 圆周运动、向心运动与离心运动实例................................................................... 141
7.5 圆锥摆实例............................................................................................................... 146
第8 章 万有引力及宇宙航行........................................................................ 152
8.1 地球及卫星物体间万有定律实例........................................................................... 152
8.2 地球近地卫星椭圆轨道实例................................................................................... 155
8.3 地球近地卫星轨道周期及半长轴的计算实例....................................................... 160
8.4 地球近地卫星变轨实例........................................................................................... 163
8.5 相对论长度收缩效应实例....................................................................................... 167
第9 章 机械能守恒定律.............................................................................. 171
9.1 功与动能实例........................................................................................................... 171
9.2 斜面运动重力做功与重力势能实例............................................................................... 176
9.3 弹簧弹力势能实例................................................................................................... 182
9.4 单摆运动机械能守恒实例....................................................................................... 188
第10 章 动量守恒定律............................................................................... 195
10.1 动量概念与动量定理实例..................................................................................... 195
10.2 两球对心碰撞实例................................................................................................. 200
10.3 单摆弹性碰撞实例................................................................................................. 206

读者评论

相关图书

Photoshop设计师精通之道:摄影+平面+UI+网店实战全解

委婉的鱼 (作者)

近些年,Photoshop软件在平面设计、广告摄影、影像创意、网页制作、后期修饰、视觉创意及界面 设计中的重要地位越来越不可被撼动,学好Photoshop是一个...

¥62.30

利用Python轻松学数学

蹇 彤 (作者)

本书将Python编程的基本知识和中小学数学知识紧密结合起来,在介绍Python知识的同时穿插数学趣题和难题的讲解,以引导读者从一个全新的角度来看待编程、体验编...

¥69.00

Python接口自动化测试

王浩然 (作者)

本书主要介绍如何用Python实现接口自动化测试。全书主要内容包括接口基础、接口手工测试、编程前的准备、用Python处理MySQL数据库、用Python发送H...

¥59.00

Python编程之美:最佳实践指南

Reitz,Schlusser (作者) 夏永锋 (译者)

本书是Python用户的一本百科式学习指南,由Python社区数百名成员协作奉献。<br>全书内容分为三大部分。第一部分是关于如何配置使用Python编辑工具的...

¥89.00

Lua程序设计(第4版)

Roberto Ierusalimschy (作者) 梅隆魁 (译者)

本书由 Lua 语言作者亲自撰写,针对 Lua 语言本身由浅入深地从各个方面进行了完整和细致的讲解。作为第 4 版,本书主要针对的是 Lua 5.3,这是本书撰...

¥89.00

Python网络安全教科书

胡松涛 (作者)

本书是一本黑客技术的入门实战书籍,从最初的工具选择,一直到最后的攻击演示,由浅入深地引导读者全面系统地掌握网络安全防范技术,借助Python打造更安全的网络。<...

¥69.00