not a beautiful or unique snowflake (nothings) wrote,
not a beautiful or unique snowflake

physics for artists: center of mass

Inspired by some comments I made on an action-centric page of a friend's comic, I thought I should offer some summarizing principles of some useful bits of physics that should be useful to artists. I don't know if artists receive this kind of training already, and I'm being totally redundant, but even then self-trained artists who haven't been exposed to this may find it useful.

The crucial physical issues I care about are balance and motion.

  • A human (or any object) is statically balanced if certain conditions apply involving its center-of-mass ("center-of-gravity") and the things it is using to support itself on the ground. When walking or running, a human may not be statically balanced; they may be constantly "falling forward".
  • An object moving in free-fall (without touching the ground or support) or through some other well-defined arc (swinging on a swing) should show regular progression of its center-of-mass through space. In other words, a human can throw out their arms and legs and change their posture, such that from one panel to the next, some limbs might regress from their motion; but their center-of-mass should not.

In both of these cases, for realistic art, it is important the center-of-mass be located "appropriately". For humans, the center of mass changes dynamically depending on posture. Thus, it may be useful for an artist to be able to: (a) compute the location of the center of mass given a posture, (b) understand the 'support' rules for static balance to be able to verify it, and (c) judge how things line up in perspective to verify 'b' and to verify motion. I'll address the first two and assume that the third is something people learn normally.

Because a drawing/painting is 2D, we cannot easily compute the center-of-mass in 3D, only within the picture plane. However, static balance may still be visibly violated in the "missing" third dimension; this I will have to leave to your intuition.

Locating the center of mass

Ideally, you can intuitively locate the center of mass in a posed figure. I will offer you a method of doing this for an approximation to the ideal figure described here.

The idealized figure on that web page has the following body part weights: torso 50%, arms 10%, legs 32%, head 8%. I'll approximate this with simple geometric constructions. Note that when you are required to find the halfway point between two other points, this should technically be done in perspective, rather than the pure 2D in-between point, but whatever.

I've come up with two accurate ways and an inaccurate way of computing the CoM. You can use the inaccurate one, probably, since it looks like it's only off by a little. I'll define them all and illustrate them all just in case.

The first accurate way is very precise without requiring fudging, but probably pretty tedious. The second accurate way requires you to fudge a point partway towards another point; there's no need to get it exactly, since its contribution to the final point will probably be minimal. This also lets you fudge extra based on the figure in question having certain limbs heavier than normal. The inaccurate way is, by comparison, fairly quick, and might help you grasp it intuitively. I'll illustrate all three on three different figures.

First, we must locate the center of mass (CoM) for each separate limb. We can get a reasonable approximation to these by using the center point. Limbs that taper tend to have the center of mass closer to the wide end; according to the linked data, about 43% from the proximal end (the end closest to the torso), so fudge the CoM for upper arm, lower arm, thigh, shank, and foot towards the torso-end by about 7%. Probably inconsequential. Given these CoM, we can now compute the figure CoM from it.

Accurate way #1

This way is intended to be as accurate as possible, although since it's for an ideal figure it may be more accurate thatn is reasonable. It only uses midpoint operations, so you could break out a ruler and be totally exact.

  1. 75% constructions for extremeties:
    • for each hand, construct the forearm-hand CoM by finding the midpoint between the hand CoM and the forearm CoM, and then find the midpoint between that point and the forearm CoM.
    • for each foot, construct the shank-foot CoM by the 75% construction similarly (midpoint both CoMs, then midpoint that with shank CoM)
    • I can't find data for where the respective CoM for head and neck should be. But the head accounts for 75% of the mass of the head-and-neck, so the same construction would apply to compute the head-and-neck CoM.
    1. 'a' is the head CoM
    2. 'b' is the midpoint between the left upper-arm and the right upper-arm
    3. 'c' is the midpoint between the left foreharm-hand and the right forearm-hand
    4. 'd' is the torso
    5. 'e' is the midpoint between the left thigh and right thigh
    6. 'f' is the midpoint between the left shank-foot and the right shank-foot
    7. erase everything that's not a-f
    8. 'g' is the midpoint between 'a' and 'c', abbreviated g = a+c
    9. h = f+b
    10. i = g+c
    11. j = h+i
    12. k = j+c
    13. l = a+e
    14. m = h+l
    15. n = e+f
    16. o = a+h
    17. p = k+m
    18. q = e+n
    19. r = o+p
    20. s = q+r
    21. t = s+d
    22. t is the figures CoM

Accurate way #2

This way requires you to do manual fudging, but has fewer steps.

  1. 75% constructions for extremeties:
    • for each hand, construct the forearm-hand CoM by finding the midpoint between the hand CoM and the forearm CoM, and then find the midpoint between that point and the forearm CoM.
    • for each foot, construct the shank-foot CoM by the 75% construction similarly (midpoint both CoMs, then midpoint that with shank CoM)
  2. symmetries
    • find the midpoint between the left shank-foot CoM and the right shank-foot CoM; this is the shanks-feet CoM
    • find the midpoint between the left forearm-hand and the right forearm-hand CoM; this is the forearms-hands CoM
    • find the midpoint between the left upper-arm and the right upper-arm CoM; this is the upper-arms CoM
  3. fudging not-quite equal-weight pairs
    • find the midpoint between the forearms-hands CoM and the upper arms CoM; fudge it 1/5th of the way towards the upper-arms CoM; this is the arms CoM
  4. five-way average
    • consider: the shanks-feet CoM, the arms CoM, the head-and-neck CoM, and each of the thigh CoM. We want to compute the "midpoint" between all five of these.
    • There's probably a good construction to do this, but I don't know what it is. If you know of one, just use it. If not, here's an incredibly tedious construction: draw a sequence of five lines, connecting the points in some order (a five-pointed star is fastest, a pentagon slowest). Find the midpoint of each of the five line segments. Repeat the construction with those midpoints. After 3 or 4 iterations you'll converge pretty small. Call this the five-way average (5WA).
    • Fudging:
      1. Extend a line from the head-and-neck CoM to the 5WA and past.
      2. Plot a point ("off-head") on that line past the 5WA equidistant to the head-and-neck CoM (so the 5WA lies at the midpoint between new point and head-and-neck CoM)
      3. Find the midpoint between the off-head and the shanks-and-feet CoM
      4. Fudge the 5WA about 1/10th of the way towards that midpoint.
    • Figure CoM:
      • Find the midpoint between the fudge 5WA and the torso CoM; this is the figure CoM.

The Inaccurate Way

This way allows you to combine adjacent limbs instead of lots of really long midpoints, and takes as few steps as possible. You could probably memorize this one.

  1. 75% constructions for extremeties:
    • for each hand, construct the forearm-hand CoM by finding the midpoint between the hand CoM and the forearm CoM, and then find the midpoint between that point and the forearm CoM.
    • for each foot, construct the shank-foot CoM by the 75% construction similarly (midpoint both CoMs, then midpoint that with shank CoM)
  2. for each arm, find the midpoint between the upper arm and foream-hand CoM
  3. find the midpoint between those two
  4. find the midpoint between that and the head; that the head-and-arms CoM
  5. for each leg, find the point 2/3s of the way between thigh and shank-foot CoM, closer to the thigh
  6. find the midpoint betwen those two, that's the legs CoM
  7. find the point 2/3s of the way from legs CoM to the head-and-arms CoM, closer to the legs
  8. the figure CoM is the midpoint between that and the torso CoM;

The Results

Here's the three figures I'm going to analyze:

Here I've drawn in my estimates for the basic center of masses. These are imagined to be at the interior of the limb; for example, an arm point is halfway (slightly fudged) between the elbow joint and the wrist joint. For the right arm of the left figure, I just had to guess. For the middle figure's torso, I've tried to compensate for the bend by moving the CoM slightly towards the center of the arc, but I'm not sure it's really right. But it's fairly safe; moving it around by a few pixels will only displace the final CoM by half as many pixels.

Now, all of the methods immediately dispense with the hands and feet by moving the forearm and shank CoMs 1/4 of the way towards them; like all the midpoints here, I'm going to just eyeball this:

accurate method #1


Erase all old points, and derive new points g and h:

Midpoint points i through n (without bothering to draw lines, just totally eyeballing):

Midpoint points o through s:

Midpoint point t -- unlabeled but you can see the line constructing it between d and s:

Point t is the figure's center of mass. If a figure with only one foot on the ground is statically balanced, the center of mass should be over the foot. We'll draw a line straight down to check this. It should be straight down in the world; this could be at an angle if the camera is tilted side-to-side. Even a camera tilt up-and-down could cause perspective to make it angled, but at the center it would still be straight-up-and-down. I can't tell if these pictures are tilted at all, so I'm just straight up-and-down for simplicity. There's room for some tilting, anyway:

As you can see all these figures appear to be statically balanced, although since they're moving they wouldn't have to be. (If the skaters were spinning, I think they would have to be, actually; but I'm not sure if they are or not. Some of them said they were spinning, but the blade would need to be touching at a point, not flat.)

accurate method #2


Average the arms:

Compute the 5-way average:

Now we have to nudge that point; construct the opposite-head point, average with shanks:

And now nudge 10% of the way towards that:

Now all of the methods take the midpoint with the torso as the final step, so instead of comparing the figure center of mass, let's just compare the point we average with torso. That was point s in the first method, so I've drawn that as a cross. The dark blue point is the non-nudged 5-way point, and the teal point is the nudged point.:

As you can see, it's off by a little. You can also see that that last nudge helped a lot for the middle one, and actually hurt a little for the first one. But on average it's an improvement.

inaccurate method

Here I'm just going to combine everything into one step, because it's fairly simple and the lines don't collide weirdly, stopping again at the point that we would average with the torso:

And here's the comparison with s (and the s-point from the previous method as well):

You can see it's a bit more inaccurate, although it would still probably lead to us considering it balanced.

(Here's an easy way to make eyeballing 2/3 more accurate: go to the midpoint, then eyeball 1/3rd of the rest of the way. In fact, if you mark the midpoint, then you can go to the midpoint between that and the end, and then find 1/3rd back towards the original midpoint. Eventually you eyeball the 1/3rd, but any error in that has a much smaller impact, assuming your midpoints are fairly precise. And you can check your 2/3rd in the obvious way: find the midpoint of the 2/3rd segment, and check that each of the segments are roughly equal.)

Balance rule

I said before that someone with one foot on the ground is statically balanced if we draw a line from their CoM and it passes through their foot. What about in general, e.g. with two feet on the ground? Or quadrupeds etc.?

Assuming the person is standing on flat ground, here's what you do. Look at that flat ground in 2D (e.g. top-down). Find all the points that are touching the ground. Draw the simplest convex polygon that contains all those points. For example, if you have a table with four legs, you draw a square around the four legs. If you have a table with one main leg, but then at its base it has four extended "feet" (two crossing rods), then take the extremeties of the feet--and, take the square around that. For a person with both feet on the ground, roughly, take the furthest forward and rearmost points on each foot, and draw a quadrilateral for those. (It's different if the feet are inline, and you ought to account for the width of the feet, too.)

If you do this, then if you draw a line from the CoM down to the ground, the point it hits on the ground should be inside that polygon. If it's not, the person/object is not statically balanced. For example, if you remove a leg from a table, the support polygon becomes a triangle that is one half of the original square. The center of mass of the table is probably at the center, so that falls right on the long edge of the triangle. That means it's semi-stable, and likely to tilt. If the leg isn't missing, but is slightly shorter than the other leg, then a slight pressure will tilt the table so it "falls over" towards the short leg. Once the short leg makes contact, there are now three supports again, forming the opposite triangle. Pressure on the opposite corner will again cause the table to switch back over to the other pair. You may be familiar with that experience.

Now, it may not be easy to visualize exactly where the CoM would hit the ground, especially because we've only computed the CoM in 2D, and we don't know where exactly it is in the remaining dimension. So the easy 2D-balance rule is to find the leftmost and rightmost support points (on the page), and check that the 2D CoM projects down between them: in other words, if you draw a line segment between the leftmost and rightmost points, then the line dropping down from the CoM should cross that line segment.

If someone is walking, they "fall onto" the lead foot, so if the rear foot is planted and the front foot is in midair, it's natural for the CoM to be ahead of the rear foot and moving towards the front foot. The rear of the front foot plants and the figure is statically balanced. Then you 'roll onto' the front foot and the CoM ends up above the front foot. (Check out the Abbey Road cover; I think they were really walking, since some of them seem to have a foot not-quite planted. They must have been walking synchronized so they all be spread stride like that.) When running, I think the CoM tends to always be forward, and you're constantly "falling over", but I'm not positive.

Because this construction uses the centers of the limbs, you can compute it early in drawing/sketching, using a skeleton or boxes. Note that you can have a totally valid pose, but just by rotating the figure incorrectly with respect to the world, cause them to be off balance. So it's possible you might have an intuitive sense for poses, yet still catch a problem with this. (And also it's possible you could fix a character up by just rotating them until this is correct, if you are willing to do it on a computer.)

I doubt it works accurately for cartoon characters; you probably have to reweight everything to match the cartooniness. E.g. big head, maybe the big head influences the CoM more. If you only need to fudge one or two things, the easiest way to do this is probably to compute the CoM with the inaccurate method, and then fudge it towards those things a little (e.g. do the head normally, then at the end fudge a little towards the head). But it might be totally inappropriate for cartoon characters, I don't know. I guess I could try it on some existing ones.

  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.