机械工程师Python编程:入门、实战与进阶

机械工程师Python编程:入门、实战与进阶

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书主要介绍如何使用Python来解决工程问题。

内容简介

全书涵盖了如何编码几何基元、读写文件、绘制矢量图并制作动画来展示运算结果,以及求解大型线性方程组,并在最后整合所有知识,搭建了一个求解桁架结构问题的应用程序。

作者简介

作者安琪儿·索拉·奥尔巴塞塔自2013年以来一直在软件行业工作。他拥有机械工程学位,目前在巴塞罗那市中心一家蓬勃发展的初创公司Glovo工作。安琪儿还是InkStructure知名应用程序的创建者,该应用程序用于解决建筑和工程专业的2D结构问题。

章节目录

版权信息

译者序 The Translator's Words

前言 Preface

致谢 Acknowledgements

作者简介 About the Author

技术评审员简介 Introduction of technical assessor in foreign language

Part 1 第一部分 基础知识

Chapter 1 第1章 Python快速入门

1.1 Python包和模块

1.1.1 Python模块

1.1.2 Python包

1.2 运行文件

1.3 导入代码

1.4 用文档字符串注释代码

1.5 Python中的元素集

1.5.1 集合

1.5.2 元组

1.5.3 列表

1.5.4 字典

1.6 解包

1.7 小结

Chapter 2 第2章 两种编程范式

2.1 函数式编程

2.1.1 纯函数

2.1.2 不可变性

2.1.3 lambda函数

2.1.4 高阶函数

2.1.5 嵌套函数

2.1.6 filter、map和reduce函数

2.1.7 列表推导式

2.2 面向对象编程

2.2.1 类

2.2.2 魔术方法

2.3 类型提示

2.4 小结

Chapter 3 第3章 命令行

3.1 UNIX和Windows系统的命令行

3.2 准备好shell

3.2.1 安装Windows Subsystem for Linux软件

3.2.2 初识shell

3.3 文件和目录

3.3.1 移动命令

3.3.2 创建文件和目录

3.3.3 删除文件和目录

3.3.4 命令汇总

3.3.5 使用Windows Subsystem for Linux

3.4 运行Python脚本

3.5 给脚本传递参数

3.6 标准输入和输出

3.6.1 将输出重定向到文件

3.6.2 将输入重定向为文件

3.7 使用PyCharm自带的Python控制台

3.8 小结

Part 2 第二部分 二维几何

Chapter 4 第4章 点和向量

4.1 比较数字

4.2 创建类:Point

4.2.1 计算两点间的距离

4.2.2 加减操作

4.3 创建类:Vector

4.3.1 向量的加减

4.3.2 向量的缩放

4.3.3 用向量移动点

4.3.4 向量的范数

4.3.5 不可变的代码设计

4.3.6 方法的命名约定

4.3.7 向量的点乘

4.3.8 向量的投影

4.3.9 向量的叉乘

4.3.10 平行和垂直向量

4.3.11 向量的夹角

4.3.12 向量的旋转

4.3.13 向量的正弦和余弦

4.4 完善Vector类

4.4.1 检验相等性

4.4.2 字符串表示

4.4.3 向量的工厂函数

4.5 单元测试

4.5.1 测试距离计算方法

4.5.2 测试向量的加减方法

4.5.3 测试向量的乘法方法

4.5.4 测试向量的平行和垂直方法

4.5.5 单元测试的三个重要规则

4.6 小结

Chapter 5 第5章 直线和线段

5.1 创建类:Segment

5.1.1 线段的方向

5.1.2 线段的长度

5.1.3 参数t和线段中点

5.1.4 计算线段上的最近点

5.1.5 计算线段与点的最短距离

5.1.6 计算线段的交点

5.1.7 相等和字符串表示

5.2 创建类:Line

5.3 线段的垂直平分线

5.4 小结

Chapter 6 第6章 多边形

6.1 创建类:Polygon

6.1.1 多边形的边

6.1.2 多边形的质心

6.1.3 检验多边形是否包含点

6.1.4 多边形的工厂函数

6.1.5 检验多边形的相等性

6.2 创建类:Circle

6.2.1 检验圆是否包含点

6.2.2 圆的近似多边形

6.2.3 圆的相等性和字符串表示

6.2.4 圆的工厂函数

6.3 创建类:Rect

6.3.1 检验矩形是否包含点

6.3.2 检查矩形是否重叠

6.3.3 矩形转多边形

6.3.4 矩形的相等性检查

6.3.5 矩形的工厂函数

6.4 小结

Chapter 7 第7章 仿射变换

7.1 初识仿射变换

7.2 创建类:Affine Transform

7.2.1 单元测试:点的变换

7.2.2 变换线段和多边形

7.2.3 组合变换

7.2.4 逆仿射变换

7.2.5 缩放变换

7.2.6 旋转变换

7.3 插值变换

7.3.1 插值的类型

7.3.2 插值的实现

7.4 Geom2D的最后一步

7.4.1 测试文件整理

7.4.2 同时运行所有测试文件

7.4.3 包的统一导入

7.5 小结

Part 3 第三部分 图形和模拟

Chapter 8 第8章 绘制矢量图

8.1 位图和矢量图

8.2 SVG格式

8.2.1 视框

8.2.2 空间变换

8.3 创建包:svg

8.3.1 模板字符串

8.3.2 导入模板

8.3.3 图像模板

8.3.4 属性

8.4 SVG的基元

8.4.1 直线

8.4.2 矩形

8.4.3 圆

8.4.4 多边形

8.4.5 多段线

8.4.6 文本

8.4.7 分组

8.4.8 箭头

8.5 基元总结

8.6 导入包

8.7 小结

Chapter 9 第9章 三点画圆

9.1 应用程序的架构

9.2 初始设置

9.2.1 创建一个运行配置

9.2.2 为什么要使用运行配置

9.3 读取输入和配置文件

9.3.1 正则表达式

9.3.2 正则表达式备忘录

9.3.3 匹配点

9.3.4 配置文件

9.4 问题模型和解决方法

9.5 结果输出

9.5.1 绘制结果圆

9.5.2 绘制输入点

9.5.3 最终代码

9.5.4 翻转y轴方向

9.6 分发应用程序

9.6.1 理解问题所在

9.6.2 寻找解决方案

9.6.3 不用文件作为输入启动应用程序

9.7 小结

Chapter 10 第10章 图形用户界面和画布

10.1 Tkinter包介绍

10.1.1 我们的第一个GUI程序

10.1.2 画布

10.2 绘制几何基元

10.2.1 画布的装饰器类

10.2.2 绘制线段

10.2.3 绘制多边形

10.2.4 绘制箭头

10.3 小结

Chapter 11 第11章 动画、模拟和时间循环

11.1 名词解释

11.1.1 什么是动画

11.1.2 什么是系统

11.1.3 什么是模拟

11.1.4 什么是时间循环

11.2 我们的第一个动画

11.2.1 初始设置

11.2.2 添加帧计数标签

11.2.3 系统更新

11.2.4 创建运动

11.3 抽象主循环函数

11.4 重构模拟程序

11.4.1 尝试不同的多边形近似圆

11.4.2 尝试不同的仿射变换

11.5 模块简洁化

11.6 小结

Chapter 12 第12章 仿射变换动画化

12.1 应用程序架构和图示

12.2 初始设置

12.2.1 创建运行配置文件

12.2.2 创建一个bash脚本

12.3 读取配置文件

12.4 读取输入文件

12.4.1 输入格式化

12.4.2 添加输入范例

12.4.3 解析仿射变换

12.4.4 解析几何基元

12.5 运行模拟程序

12.5.1 建立用户界面

12.5.2 实现模拟逻辑

12.5.3 绘制坐标轴

12.6 小结

Part 4 第四部分 方程组

Chapter 13 第13章 矩阵和向量

13.1 列表初始化

13.2 初始设置

13.3 向量

13.3.1 创建类:Vector

13.3.2 测试Vector类

13.4 矩阵

13.4.1 设置矩阵值

13.4.2 获取矩阵值

13.4.3 缩放矩阵值

13.4.4 矩阵相等性

13.4.5 测试Matrix类

13.5 小结

Chapter 14 第14章 线性方程组

14.1 线性方程组简介

14.2 数值方法

14.3 Cholesky分解法

14.3.1 LU算法

14.3.2 Cholesky算法原理

14.3.3 因式分解过程演算

14.3.4 解答过程演算

14.3.5 实现Cholesky算法

14.3.6 集成测试法测试Cholesky算法

14.4 小结

Part 5 第五部分 桁架结构

Chapter 15 第15章 结构模型

15.1 求解结构问题

15.2 结构件的内力分析

15.2.1 弹性体受外力作用

15.2.2 轴向力和剪切力

15.2.3 弯曲和扭转力矩

15.3 拉伸和压缩

15.3.1 胡克定律

15.3.2 应力-应变曲线

15.4 平面桁架

15.5 二力构件

15.6 全局坐标中的刚度矩阵

15.7 结构的初始模型

15.7.1 创建类:StrNode

15.7.2 创建类:StrBar

15.7.3 创建类:Structure

15.7.4 用Python shell创建结构

15.8 结构的解模型

15.8.1 创建类:StrNodeSolution

15.8.2 创建类:StrBarSolution

15.8.3 创建类:StructureSolution

15.9 小结

Chapter 16 第16章 模型求解

16.1 算法原理

16.1.1 刚度矩阵项的含义

16.1.2 结构初始化

16.1.3 结构求解的主算法

16.1.4 给结构的自由度编号

16.1.5 组合和求解方程组

16.1.6 创建解模型

16.1.7 代码汇总

16.2 进阶版单元测试法:测试替代技术

16.2.1 测试替代技术介绍

16.2.2 unittest.mock包

16.3 测试StructureSolution类

16.4 测试结构问题求解过程

16.5 小结

Chapter 17 第17章 从文件中读取输入

17.1 定义输入数据格式

17.1.1 节点的格式

17.1.2 载荷的格式

17.1.3 杆的格式

17.1.4 文件格式

17.2 找到正则表达式

17.2.1 节点的正则表达式

17.2.2 载荷的正则表达式

17.2.3 杆的正则表达式

17.3 初始设置

17.4 节点解析程序

17.5 杆解析程序

17.6 载荷解析程序

17.7 结构解析程序

17.7.1 总览

17.7.2 设置

17.7.3 忽略空白和注释

17.7.4 解析行

17.7.5 拆解行和组装结构

17.7.6 代码汇总

17.7.7 程序测试

17.8 小结

Chapter 18 第18章 生成SVG图像和文本文件

18.1 初始设置

18.2 从结构解到SVG

18.2.1 配置文件

18.2.2 参数设置

18.2.3 函数:绘制结果图

18.2.4 注释

18.2.5 绘制杆图形

18.2.6 绘制节点图形

18.2.7 节点反作用力

18.2.8 载荷

18.2.9 代码汇总

18.2.10 最终结果

18.3 从结构解到文本

18.3.1 结构解的字符串表示

18.3.2 节点

18.3.3 杆

18.3.4 Unicode字符

18.3.5 代码汇总

18.4 小结

Chapter 19 第19章 组装应用程序

19.1 概述

19.2 设置

19.3 输入参数

19.4 生成输出文件

19.5 主脚本

19.6 尝试应用程序

19.6.1 尝试不同的参数输入

19.6.2 求解一个大型结构问题

19.7 小结

参考文献

推荐阅读

机械工程师Python编程:入门、实战与进阶是2024年由机械工业出版社出版,作者[西] 安琪儿·索拉·奥尔巴塞塔。

得书感谢您对《机械工程师Python编程:入门、实战与进阶》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python编程从入门到精通 电子书
带你由浅入深地详细了解Python语言开发技术。
Arduino图形化编程进阶实战 电子书
《Arduino图形化编程进阶实战》介绍了Arduino的基础知识和ArduBlock图形化编程软件的使用方法,并提供了11个使用ArduBlock编程的应用实例。这些实例生动有趣、新颖独特、实用性强。每个实例都给出了所使用的传感器介绍、硬件电路工作原理图、程序代码、装配及调试等内容,资料完整,每一个实例都经过作者实际制作。这些实例不仅涵盖了Arduino常见的应用类型,也包含了Arduino常用
Python3快速入门与实战 电子书
理论与实战相结合,结合大量案例系统为你介绍Python。
Python数据分析入门与实战 电子书
掌握数据分析技巧,运用强大的Python工具,解决工作中繁琐的数据问题。
测试工程师Python开发实战 电子书
本书是为测试人员编写的Python开发实战指南,包含Python的核心知识点和实战案例,帮助测试人员快速掌握Python工具开发技能。本书共3篇:基础篇(第1章至第3章)介绍Python和PyCharm工具的安装与环境部署,并讲解日常实际工作中用到的Python基础知识点;专题篇(第4章至第6章)介绍Python开发时使用频度较高的常用技能如异常处理、日志处理、邮件处理等,高级技能如Kafka、R