Title: Rigid Body Kinematics and C++ Code
Description: This textbook contains an in-depth presentation of the principles of Rigid Body Kinematics at an advanced College level. The theory is covered in Part I, which consists of 5 chapters. The first two chapters introduce the required mathematical tools. Chapter 1 covers matrices and operations specific to rigid body kinematics: symmetric positive-definite and orthogonal matrices, the orientationmatrix, skew-symmetric matrices and their relation to vectors and cross-products. Chapter 2 discusses the use of graphs for organizing the many coordinate systems used in multi-body problems: graph theory, coordinate transformations, the interpolation of orientations, the Coordinate System graph.The concept of kinematic state and the definitions of the state variables position, orientation, velocity, and angular velocity, are introduced in Chapter 3. The discussion includes topics such as the differentiation of the orientation matrix, the definition of angular velocity, and the definition of the specific coordinates as an intermediary agent between the state variables and the generalized coordinates. Relations between the specific coordinates and the state variables, the equations of motion, the constraint equations, and the quadratic velocity vector, are discussed in detail.Chapter 4 introduces the rigid body model and its extension to multi-body systems. The operations of addition, direct and transposed subtraction, and inversion of kinematic states are introduced. The final chapter on theory, Chapter 5, introduces various systems of orientational specific coordinates used in kinematics. Euler angles, Euler parameters, and an axial rotator system, including the relations between the state variables and the specific coordinates of each particular system.This work is also a software release with documented object-oriented foundational C++ source code and logical objects that correspond to those in the theory and implement them. The work provides a new, modern approach where theoretical Classical Mechanics is integrated with the actual code that supports the computation and brings the logical objects to life. The documentation for the code is covered in Part II, which consists of 4 chapters. The logical objects defined by the classes implement all the major equations and methods discussed in the theory. There are a total of 28 classes, including classes for specific coordinates, graphs, and mechanics. The implementation is general and extensible. It provides support for all major features and allows extensions such as derived classes with new functionality to be added as necessary. Production implementations can be derived from the foundational code. Part I, the theory, contains many direct links from final equations or mathematical methods to the code where those equations and methods are implemented. The links, however, are minimally intrusive. The reader will not be distracted, and can easily expand into code when the need arises. Part II also contains numerous links to the supporting theory, equations and definitions.
Subjects: Computer Technology, Engineering, Nonfiction, Physics