Hardcore Programming for Mechanical Engineers: Build Engineering Applications from Scratch
<b><i>Hardcore Programming for Mechanical Engineers</i> is for intermediate programmers who want to write good applications that solve tough engineering problems – from scratch.</b><br /><br />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.<br /> <br />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.<br /> <br />You'll learn:<br />  <b>•</b>  How to use geometric primitives, like points and polygons, and implement matrices<br />  <b>•</b>  Best practices for clean code, including unit testing, encapsulation, and expressive names<br />  <b>•</b>  Processes for drawing images to the screen and creating animations inside Tkinter’s Canvas widget<br />  <b>•</b>  How to write programs that read from a file, parse the data, and produce vector images<br />  <b>•</b>  Numerical methods for solving large systems of linear equations, like the Cholesky decomposition algorithm<br />