

Here is the unit test that checks against the CAD data: Return new RigidBody2(mass, mmoi, center) Īnd the results of center = and mmoi = 787.5 match with analysis done in CAD package Mmoi -= mass * Vector2.Dot(center, center) Var mmoi_step = area_step*(Vector2.Dot(a, a)+Vector2.Dot(b, b)+Vector2.Dot(a, b))/6 Ĭenter = (center*area + center_step * area_step)/(area + area_step) public static RigidBody2 FromShape(double mass, params Vector2 polygon)įor (int index = 0 index < polygon.Length index++) More details are included in the linked answer.īelow is a c# implementation of the above, but with specifying the mass, instead of the density and thickness. The above is a similar process as outlined in this answer. Return triangleMass/6*(dot(a,a)+dot(b.b)+dot(a.b)) Transfer mass moment of inertia from the origin to the center of massĭouble TriangleCenter(Vector a, Vector b)ĭouble TriangleMmoi(Vector a, Vector b, double triangleMass) Vector center_step = TriangleCenter(a,b) ĭouble mmoi_step = TriangleMmoi(a,b, mass_step) Ĭenter = (mass*center + mass_step*center_step)/(mass+mass_step) Take each vertex pair starting from the last-first vertexĭouble mass_step = density * area_step * depth polygon(Vector points, double depth, double density) The final sum takes care of adding or subtracting areas near or far from the origin and yield the accurate results.įinally, the mass moment is transferred from the origin to the center of mass. The method below goes through all the sides of a polygon and sum up the area, the center and the mass moment of inertia about the coordinate origin of each triangle defined by the side and the origin.

base as b and height as h and axis is along the centroid and parallel the base. b = dot(a,b)Ĭross(a,b) = a.x*b.y - a.y*b.x // a×b = cross(a,b) Moment of inertia of circle about the axis which is passing through its.y as well as methods vector algebra vectors including for dot and cross product add(a,b) = // a+b = add(a,b) It does not store any personal data.There is method to analyze a 2D polygon using vector algebra that is in my opinion easier to implement programmatically than the methods relying on trigonometry.Įach Vector quantity has two components. The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. The cookie is used to store the user consent for the cookies in the category "Performance".

This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. Moment of inertia about x axis, Ix y 2 dA And that about y axis. The cookies is used to store the user consent for the cookies in the category "Necessary". The moments of inertia had to reference the same axis. This holds mainly true in linear motion, where whole body moves. This cookie is set by GDPR Cookie Consent plugin. The moment of inertia of the shaded area is obtained by subtracting the moment of inertia of the half-circle from the moment of inertia of the rectangle. In classical mechanics we assume that the whole mass of body on its centroid/ centre of mass. The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". If the moment of inertia of a cross section about a centroidal axis is. The cookie is used to store the user consent for the cookies in the category "Analytics". The behavior of a structural member is dictated by its material and its geometry. These cookies ensure basic functionalities and security features of the website, anonymously. Necessary cookies are absolutely essential for the website to function properly.
