Suppose we have a wire
feet long whose density is
pounds per foot at the point
feet from the left hand end of the wire. What is the total mass of the wire and where is its
center of mass
, i.e., the point cm about which the total moment of the wire is 0?
Exercise: Find the center of mass of a wire 1 foot long whose density at a point x inches from the left end is 10 + x + sin(x) lbs/inch.
Center of mass of a solid of revolution
If
for
, then let S be the
solid of revolution
obtained by rotating the region under the graph of f around the x axis. We know how to express the volume of S as an integral: Just integrate from a to b the crossectional area
of the solid S to get
Now how would we find the
center of mass
of the solid, assuming it's made of a homogeneous material? Well, it's clear that the center of mass will be somewhere along the x-axis between a and b. Let CM be the center of mass. Partition
into n subintervals
and using planes perpendicular to
approximate the solid S with the n disks where the ith one has volume
Now the signed moment of the ith disk about the point CM is
and the sum of these moments will be approximately 0, since CM is the center of mass. If we let
go to zero this approximate equation becomes an equation for the center of mass:
> | CMequation := int((x-CM)*Pi*f(x)^2,x=a..b) =0; |
Useing properties of integrals, we can solve this equation for CM.
> | sol := solve(CMequation,{CM} ) ; |
Notice that the center of mass of the solid of revolution is the same as the center of mass of a wire whose density at
is the area of the cross-section.
We can define a word cenmass which takes a function f, an interval [a,b], and locates the center of the solid of revolution.
> | cenmass := proc(f,a,b) int(x*f(x)^2,x=a..b)/int(f(x)^2,x=a..b) end: |
For example, the center of the solid obtained by rotating the region R under the graph of
for x between 0 and
is
> | cenmass(cos,0,Pi/2); |
Now we can define a word to draw the solid and locate the center of mass.
> | drawit := proc(f,a,b) local cm, solid; ### WARNING: the definition of the type `symbol` has changed'; see help page for details cm := plots[pointplot3d]([evalf(cenmass(f,a,b)),0,0],color=red,symbol=box,thickness=3): solid := plots[tubeplot]([x,0,0],x=a..b,radius=f(x),numpoints=20,style=wireframe); plots[display]([cm,solid],scaling=constrained); end: |
Test this out.
> | drawit(cos+2,0,7); |
We can animate the motion of the center of mass as the solid changes.
> | plots[display]([seq(drawit(2+cos,0,t),t=1..10)], insequence=true); |
Exercise: Find the center of mass of a homogeneous hemispherical solid.
Exercise: A homogeneous solid is in the shape of a parabolic solid of revolution obtained by rotating the graph of y = x^2 , x in [0,a] around the the y axis, for some positive number a. If the center of mass is at y= 10, what's a?