Hardcore Programming for Mechanical Engineers

Hardcore Programming for Mechanical Engineers

Build Engineering Applications from Scratch
by Angel Sola Orbaiceta
June 2021, 600 pp.
ISBN-13: 
9781718500785

Download Chapter 4: POINTS AND VECTORS


Check out the book's companion site for important updates and extra material.

This book will teach you how to solve engineering problems with Python. The “hardcore” approach means that you will learn to get the correct results by coding everything from scratch. Forget relying on third-party software – there are no shortcuts on the path to proficiency. Instead, using familiar concepts from linear algebra, geometry and physics, you’ll write your own libraries, draw your own primitives, and build your own applications.

Author Angel Sola covers core programming techniques mechanical engineers need to know, with a focus on high-quality code and automated unit testing for error-free implementations. After basic primers on Python and using the command line, you’ll quickly develop a geometry toolbox, filling it with lines and shapes for diagramming problems. As your understanding grows chapter-by-chapter, you’ll create vector graphics and animations for dynamic simulations; you’ll code algorithms that can do complex numerical computations; and you’ll put all of this knowledge together to build a complete structural analysis application that solves a 2D truss problem – similar to the software projects conducted by real-world mechanical engineers.

You'll learn:

  • How to use geometric primitives, like points and polygons, and implement matrices
  • Best practices for clean code, including unit testing, encapsulation, and expressive names
  • Processes for drawing images to the screen and creating animations inside Tkinter’s Canvas widget
  • How to write programs that read from a file, parse the data, and produce vector images
  • Numerical methods for solving large systems of linear equations, like the Cholesky decomposition algorithm
Author Bio 

Angel Sola Orbaiceta has been working in the software industry since 2013. He has a degree in industrial engineering with a focus in mechanics and currently works at Glovo, a thriving start-up in the heart of Barcelona. Angel is also the creator of InkStructure, an application for architecture and engineering students that solves 2D structure problems.

Table of contents 


Acknowledgments
Introduction

PART I: BASICS
Chapter 1: A Short Python Primer
Chapter 2: Two Python Paradigms
Chapter 3: The Command Line

PART II: 2D GEOMETRY
Chapter 4: Points and Vectors
Chapter 5: Lines and Segments
Chapter 6: Polygons
Chapter 7: Affine Transformations

PART III: GRAPHICS & SIMULATIONS
Chapter 8: Vector Images
Chapter 9: Building a Circle from Three Points
Chapter 10: User Interfaces
Chapter 11: Simulations
Chapter 12: Animating Affine Transformations

PART IV: SYSTEMS OF EQUATIONS

Chapter 13: Matrices and Vectors
Chapter 14: Linear Equations

PART V: TRUSS STRUCTURES

Chapter 15: Structural Models
Chapter 16: Structure Resolution
Chapter 17: Reading Input from a File
Chapter 18: Producing an SVG Image and Text File
Chapter 19: Assembling Our Application

Bibliography
Index

Chapters in red are included in this PDF.