Have you ever wondered what a pig could tell you? Well, despite the often mentioned epithet that pigs are very intelligent animals, I have personally never experienced a pig conveying any form of intelligible information. They just seem to ignore us when they are around -- us being that higher form of intelligent life known mostly philosophically as "humans". They -- the pigs -- seem pretty much oblivious to anything going on above ground level.
I ask you, have you ever seen a pig staring at the sky, watching the clouds roll by? Have you ever noticed an inquisitive pig deciphering the Mailpouch advertisement on the side of a barn. Unlikely. The pig's attention is devoted down, steadfastly riveted to the Earth.
So, when I ran across, (no relation whatsoever to the most boring and horribly deflated city of Cincinnati, whose only visible claim to fame is a profusion of statuary recognizing the impossibility of porcine flight) I had to take a gander to see if I had missed something about pigs in general. I had to see if pigs had any knowledge that rises above rooting.
org.xwiki.properties.PropertyException: Failed to populate property [depth] at org.xwiki.properties.internal.DefaultBeanManager.populateBean(DefaultBeanManager.java:172) at org.xwiki.properties.internal.DefaultBeanManager.populate(DefaultBeanManager.java:109) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:287) at com.vcalc.uil.Util.convertWiki(Util.java:523) at com.vcalc.uil.Util.convertWiki(Util.java:606) at com.vcalc.web.Page.getWiki(Page.java:221) at jdk.internal.reflect.GeneratedMethodAccessor3971.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.zkoss.zel.BeanELResolver.getValue(BeanELResolver.java:100) at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) at org.zkoss.zel.CompositeELResolver.getValue(CompositeELResolver.java:66) at org.zkoss.xel.zel.XelELResolver.getValue(XelELResolver.java:99) at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:122) at org.zkoss.zel.impl.parser.AstValue.getValue(AstValue.java:188) at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:41) at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:46) at org.zkoss.bind.impl.LoadPropertyBindingImpl.load(LoadPropertyBindingImpl.java:58) at org.zkoss.bind.impl.PropertyBindingHandler.doLoadBinding(PropertyBindingHandler.java:140) at org.zkoss.bind.impl.PropertyBindingHandler.doLoad(PropertyBindingHandler.java:341) at org.zkoss.bind.impl.BinderImpl.loadComponentProperties0(BinderImpl.java:2499) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2466) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2471) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2471) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2471) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2471) at org.zkoss.bind.impl.BinderImpl.loadComponent(BinderImpl.java:2401) at org.zkoss.bind.BindComposer$BinderKeeper$Loader.load(BindComposer.java:603) at org.zkoss.bind.BindComposer$BinderKeeper.loadComponentForAllBinders(BindComposer.java:579) at org.zkoss.bind.BindComposer.doAfterCompose(BindComposer.java:241) at org.zkoss.zk.ui.impl.UiEngineImpl.doAfterCompose(UiEngineImpl.java:617) at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:942) at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:889) at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:776) at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:740) at org.zkoss.zk.ui.impl.UiEngineImpl.createComponents(UiEngineImpl.java:1143) at org.zkoss.zk.ui.impl.AbstractExecution.createComponents0(AbstractExecution.java:346) at org.zkoss.zk.ui.impl.AbstractExecution.createComponents(AbstractExecution.java:307) at org.zkoss.zk.ui.Executions.createComponents(Executions.java:176) at com.vcalc.web.RemapRichlet.service(RemapRichlet.java:57) at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:514) at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:365) at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:205) at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:140) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:679) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NullPointerException at org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1371) at org.apache.commons.lang3.ClassUtils.isAssignable(ClassUtils.java:589) at org.apache.commons.lang3.reflect.TypeUtils.isAssignable(TypeUtils.java:131) at org.apache.commons.lang3.reflect.TypeUtils.isAssignable(TypeUtils.java:80) at org.apache.commons.lang3.reflect.TypeUtils.isAssignable(TypeUtils.java:65) at org.xwiki.properties.internal.converter.ConvertUtilsConverter.convert(ConvertUtilsConverter.java:80) at org.xwiki.properties.internal.converter.ConvertUtilsConverter.convert(ConvertUtilsConverter.java:101) at org.xwiki.properties.internal.DefaultConverterManager.convert(DefaultConverterManager.java:114) at org.xwiki.properties.internal.DefaultBeanManager.populateBean(DefaultBeanManager.java:154) ... 69 more
I thought first in viewing professor Steve's video that a flying pig is a unique phenomena we really must explore. Likewise, I recognized that the pig we draw in our mind's eye below, though he flies, bears no relation whatsoever to the flying pigs strewn about the most boring and horribly deflated city of Cincinnati, whose only visible claim to fame is a profusion of statuary recognizing the impossibility of porcine flight. When "pigs fly" echoes our contemporary knowledge that pigs are pretty much stuck to this Earth and that can lead us to ask how they are affected by that most fundamental physical phenomena, gravity.
This vCalc discussion was thus inspired by a video created by Steve Spicklemire, a professor at the University of Indianapolis. The topic of that video was "".
Now, in the past -- and continued today in modern science -- we have often found a need to measure physical attributes of the universe and the world around us to greater and greater precision. We need to measure small things more accurately to differentiate the small from the smaller. We need to more accurately measure the vastness of the cosmos so that we may more realistically make comparisons of the nearly-infinite to things that reside closer to home. And thus we often devise comparative techniques, allowing us to compare in ratio something we can readily grasp to something that practically defies our limited logic.
The circular motion of a pig, though we collectively have probably never seen anyone harness a pig as described here, is realistically a possible avenue for determining the forces on a swinging pig and from this deriving the mass of the Earth, `M_e`.
Scientists have often found the best way to determine something as seemingly unobtainable as the total mass of the Earth is to measure something we know well and compare it geometrically to something whose dimensions we have a hard time fathoming. We take a physical thing we can lay our hands on - like a pig -- and we use its universally physical essences in a grandiose comparison. We look at the slope of an anthill to conjecture what the likelihood is that the pyramids will withstand the constant tug of gravity for another millennia. We play with mirrors in the hallway to figure out how light travels across the vast emptiness of space. And in this first case that professor Spicklemire depicts in video form, we look at how a pig can fly and, in so doing, measure the mass of our planet.
Well, OK, the pig in this thought experiment is not exactly "flying" but instead being swung in a circle like a tether-ball. However, to the pig I am sure it feels as much like flying as a pig is capable of imagining. I still think of them, the harnessed pig, as pretty grudgingly incapable of higher reasoning.
Picture this: a pig strapped into a comfy harness (so as not to alarm animal rights activists) and this harness is tied to a rotating ring around the pole which enables the pig to be swung with some force that keeps the pig circling the pole for a given amount of experimental time at a constant angular velocity.
Yes, we give the pig a hefty push and he theoretically circles the pole in somewhat the same way you and I are swung around this sphere we call the Earth. Can you feel it? we're traveling approximately 1100 mph (in instantaneous velocity), depending on exactly what latitude you are on the planet's surface. And we also feel that tug toward the center of our rotation that is the net force of our being tethered to the Earth by gravity. And our theoretical pig is, in addition to experiencing the pull of gravity downward, being swung around a pole in a big circle and feeling an additional pull along the line of the rope.
Now, harken back to a time on the playground era of your childhood if you cannot picture the pig circling the pole. Remember how the ball that you swung with all your might would circle high above the head of your opponent? and when you tired and and imparted less force to the ball, the ball swung slower dipped lower? Remember that?
You were seeing the effect of the forces generated by swinging that ball -- just like the pig in our thought experiment -- in a circle at some velocity, `vecv`. We are talking "instantaneous velocity" because velocity, in the case of a circling object, is always changing its. The velocity we recognize as keeping the ball or pig aloft is that at that exact instant of time where we capture our thought of the rotating, almost-flying, pig.
Remember, the faster the pig circles, the higher he will rise, just like the tether ball of your childhood competitive experience. The rope we tied to the pig's harness tugs with a tension, `F_t`, on the pig. Swinging the pig creates this force in the rope and the vertical component, `F_(t_y)` offsets the invisible force of gravity we show above as `vecF_g`. The faster we swing the pig, the greater the tension in the rope connecting him, albeit loosely, to the pole.
At the same time as he, our portly friend the pig, swings in a circle, the pig is pulled downward by the attractive force of gravity of the Earth. Remember the equation for the Force of Gravity, which proclaims:
 `F_g` = `(m*M_e * G)/(R_e)^2`, where small `m` is the mass of the pig and capital `M_e` is the mass of the Earth, which is the physical comparator we are attempting to find.
We know from Newton's laws that the net force on the pig is that felt by the pig due to his circular acceleration is:
 `F_"Net" = m * a = m * (v^2/r)`, remembering that the acceleration of the pig in a circular motion is given by the CLICK HERE to calculate centripetal acceleration.equation.
And we also recognize that force that the pig experiences as the tension, `F_t`, in the rope that connects his harness to the pole about which he circles. As he is swung in the circle, he feels a tug against the harness pulling him toward the pole.
Unless he is circling extremely fast, the rope connecting our friend, the pig, is slanted down from the point of attachment at the collar which allows him to circle the pole. As long as he circles the pole at a constant velocity, the force he feels tugging on the harness is `F_t`.
From basic vector analysis we know we can orient a reference frame so that it coincides with some key direction in our thought experiment. We choose to consider the direction of force of gravity acting on the pig as the negative-y direction (basically the proverbial down, corresponding once again to where the pig's attention is mainly rooted). The tension force along the rope, `F_t` can be decomposed into an x-component horizontal and a vertical component in the opposite direction to the force of gravity. We show that vertical y-component of the tension force as `f_"t(y)"` in the diagram at the left here.
So, we use a little geometry here to assist us in combining the math representing the two forces the pig is experiencing, the force of gravity, `F_g`, and the force of the rope's tension in the rope due to the change in velocity (also known as acceleration). Newton brought us the brilliant understanding that these two forces must be equal and opposite if there is no acceleration in some one direction.
In this case, the pig, though he continues to rotate about the pole, in our thought experiment he has constant angular velocity and thus his vertical height does not change. He is rotating in a horizontal plane about the pole and as long as he rotates with constant angular velocity, he neither rises further nor falls lower. The point in the diagram here where the red `F_g` vector intersects with the grape-colored `F_t` vector is the point instantaneous point in space where the rope connects to the pig's harness.
Using, our basic understanding of the physics of this thought experiment tell us that if the pig's flight is not moving up or down, then the y-component of the tension force must be equal to the force of gravity:
 `f_"t(y)" = F_g`
So, equation  now represents the important balance of forces defined in our thought experiment. The pig, through no fault of his own, continues to rotate in a horizontal circle about a pole, tethered to the pole by a rope. Again, the rope has tension caused by the flying pig's every changing velocity, which is also known as.
Now you have probably wondered in the past why you must learn so many different pieces of this vast puzzle that comprises the confluence of math and science. Here is one of those tidbits from geometry we will now wield as a trusty tool to add just enough additional information to this thought experiment to allow us to finish calculating the Mass of the Earth.
We derive the height of the triangle shown below having the rope's length as it's hypotenuse and can calculate by the height of the triangle using the:
 `h = sqrt(L^2 - r^2)`, where `r` is the radius of the circle about which the pig is rotating.
We created the diagram at the left showing the pole and the rope and the two forces: one along the rope, `F_t`, and one downward, `f_g`. And we derive two triangles whose sides we know as formulas:
-- the triangle that has the rope's length along the hypotenuse and the radius of the circle about which the pig rotates
-- the triangle whose hypotenuse is the force felt by the pig.
Next, we then realize that the two triangles are similar triangles, meaning the ratios of their sides are equivalent. We know this because we know that any pair of triangles with two angles the same are similar triangles. The angle of the force felt by the pig is parallel to the rope's direction and the angles opposite the hypotenuses are right angles so all three angles can be seen to be identical and this the two triangles are similar.
From that basic relationship of similar triangles we know the ratios of sides of the two triangles are equivalent and we can write the equation:
 `h / r = (sqrt(L^2 - r^2))/r = (G m M_e)/(R_e)^2`, where the radius of the Earth, `R_e` is provided by the vCalc constant:
We can now solve this equation  for the mass of the Earth and derive it's value from quantities which we know:
 `M_e = sqrt(L^2 - r^2) * (R_e)^2 / (G*m*r)`
You can determine the mass of the Earth through your own experimental apparatus and using the equation:.