万本电子书0元读

万本电子书0元读

顶部广告

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

如果你可以用Python编程来解决具有挑战性的工程问题会如何?这本“硬核”的书将教你如何使用线性代数、几何和物理知识从头始编码求解算法,以编写自定义库、绘制基元和构建应用程序。作者在这本书中为机械工程师提供了核心编程技巧,专注于磨高质量的代码和利用自动化的单元测试来保证实现无差错。你将发一个几何工具箱,用线和形状来绘制工程问题图,为机械模拟创建矢量图和动画,以及编码算法来执行复杂的计算。最终,你将结合这些知识来构建一个完整的结构分析应用程序,以解决实际工作中可能遇到的二维桁架问题。

售       价:¥

纸质售价:¥111.70购买纸书

3人正在读 | 0人评论 6.8

作       者:(西)安琪儿·索拉·奥尔巴塞塔(ángel Sola Orbaiceta)

出  版  社:机械工业出版社

出版时间:2024-07-18

字       数:382.9万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本专门面向工程相关专业读者的编程类技术图书,主要介绍如何使用Python来解决工程问题。书中涵盖了如何编码几何基元、读写文件、绘制矢量图并制作动画来展示运算结果,以及求解大型线性方程组,并在最后整合所有知识,搭建了一个求解桁架结构问题的应用程序。本书适合任何有一定专业背景并且想通过编程来解决工程问题的读者阅读,同时适合工程相关专业的学生作为参考。具有线性代数、平面几何和物理学的基础知识,并了解材料力学和数值方法的原理会比较有帮助。<br/>【推荐语】<br/>如果你可以用Python编程来解决具有挑战性的工程问题会如何?这本“硬核”的书将教你如何使用线性代数、几何和物理知识从头始编码求解算法,以编写自定义库、绘制基元和构建应用程序。作者在这本书中为机械工程师提供了核心编程技巧,专注于磨高质量的代码和利用自动化的单元测试来保证实现无差错。你将发一个几何工具箱,用线和形状来绘制工程问题图,为机械模拟创建矢量图和动画,以及编码算法来执行复杂的计算。最终,你将结合这些知识来构建一个完整的结构分析应用程序,以解决实际工作中可能遇到的二维桁架问题。 通过阅读本书,你将学到: ·使用正则表达式来优雅地解析输文件 ·使用单元测试、封装和描述性名称来优化代码 ·使用Tkinter的画布小部件在屏幕上绘制图像和创建动画 ·用Cholesky分解算法求解线性方程组 ·构建一个可以可视化桁架结构的应力和张力的应用程序 停止依赖第三方软件--通往专业化的道路没有捷径。本书将帮助你掌握编程技巧,让你每次都能获得正确的结果。<br/>【作者】<br/>安琪儿·索拉·奥尔巴塞塔自2013年以来一直在软件行业工作。他拥有机械工程学位,目前在巴塞罗那市中心一家蓬勃发展的初创公司Glovo工作。安琪儿还是InkStructure知名应用程序的创建者,该应用程序用于解决建筑和工程专业的2D结构问题。<br/>
目录展开

前折页

书名页

译者序

前言

致谢

作者简介

技术评审员简介

第一部分 基础知识

第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 小结

第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 小结

第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 小结

第二部分 二维几何

第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 小结

第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 小结

第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 小结

第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 小结

第三部分 图形和模拟

第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 小结

第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 小结

第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 小结

第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 小结

第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 小结

第四部分 方程组

第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 小结

第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 小结

第五部分 桁架结构

第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 小结

第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 小结

第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 小结

第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 小结

第19章 组装应用程序

19.1 概述

19.2 设置

19.3 输入参数

19.4 生成输出文件

19.5 主脚本

19.6 尝试应用程序

19.6.1 尝试不同的参数输入

19.6.2 求解一个大型结构问题

19.7 小结

参考文献

推荐阅读

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部