Hamilton's quaternions and 3D rotation with Python

Hamilton’s quaternions and 3D rotation with Python

With the Euler angles the foundations for the calculation of the rotation of bodies in three-dimensional spaces were founded. However, it was later discovered that Hamilton’s quaternions are a more efficient tool for studying the rotation mode of bodies. In this article we will see what quaternions are, how they are calculated and how they apply to the rotation of a body, also helping us in this case with some Python code.

3D Rotations and Euler Angles in Python

3D Rotations and Euler angles in Python

The virtual realities we often play with on our PCs are based on 3D engines, i.e. systems capable of performing calculations that simulate the movement and rotation of objects in a three-dimensional system. Also in robotics, in particular with robotic arms, systems are used that are able to calculate a certain movement, establishing how much the individual motors that compose them must rotate. All these systems are based on calculations and mathematical concepts capable of calculating every single movement in three-dimensional space, most of which were developed by the famous mathematician Euler (1707-1784). In this article we will see what Euler angles are, how they are calculated and how the rotational motion of a rigid body in three-dimensional Euclidean space can be calculated. All with step-by-step practical tests developed in Python.

What is if __name__ is __main__ and why use it

What is if __name__ == “__main__” and why use it

For those who program in Python, they will be able to see the following construct within many codes, especially in the final part if __name__ == “__main__”: followed by a series of instructions enclosed in the indentation. What is it for? Why is it so common?

Thread in Python - Lock and Deadlock (part 4)

Thread in Python – Lock and Deadlock (part 4)

   In this article we will continue the Multithreading speech, introducing another very important tool: the Lock. Thanks to these, synchronization between the various threads can be managed more efficiently. We will also talk about another common problem in the thread world: deadlocks.

Thread in Python - Multithreading (part 3)

Thread in Python – Multithreading (part 3)

     In this third part of the Thread in Python series, we will look at some aspects of multithreading. In fact, in fact, threads can be very different from each other and often recursion methods to create and manage them, such as for loops, can no longer be used. There are therefore tools that allow you to manage different threads like ThreadPoolExecutor. However, thread management remains a complex operation that, if not well managed, can lead to problems such as the Race Condition. In this article we will look at these two aspects in detail.

Thread in Python - Threading (part 1)

Thread in Python – Threading (part 1)

  Once the first phase of learning a programming language, such as Python, has been overcome, all the necessary foundations for the development of any program have been acquired. But going on to develop more complex programs and contributing to different projects, often together with other developers, you will have to learn a lot of other notions, such as Threads and the concept of Threading.