diff --git a/core/src/net/sf/openrocket/rocketcomponent/FinSet.java b/core/src/net/sf/openrocket/rocketcomponent/FinSet.java index 8b462dc6f..1f069ca33 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FinSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FinSet.java @@ -638,17 +638,18 @@ public abstract class FinSet extends ExternalComponent implements RingInstanceab } /* - * Return an approximation of the longitudinal unitary inertia of the fin set. + * Return an approximation of the longitudinal unitary moment of inertia + * * The process is the following: * - * 1. Approximate the fin with a rectangular fin + * 1. Approximate a fin with a rectangular fin * * 2. The unitary moment of inertia of one fin is taken as the average * of the unitary moments of inertia through its center perpendicular * to the plane (Izz/M), and through its center parallel to the plane (Iyy/M) * * 3. If there are multiple fins, the inertia is shifted to the center of the - * Finset. + * FinSet. */ @Override public double getLongitudinalUnitInertia() { @@ -679,9 +680,10 @@ public abstract class FinSet extends ExternalComponent implements RingInstanceab if (finCount == 1) return inertia; - // recheck (yet again) when I get home. Need to apply parallel axis theorem - // to Izz, but not to Iyy. Since we're looking at average of Iyy and Izz, - // weight parallel axis theorem by 1/2. + // Move axis to center of FinSet. We need to apply parallel axis theorem + // to Izz, but not to Iyy (as the displacement as we move to the new axis + // is along Y). Since our moment of inertial is the average of Iyy and Izz, + // this is accomplished by just weighting the transformation from the theorem by 1/2 return inertia + MathUtil.pow2(MathUtil.safeSqrt(h2) / 2 + getBodyRadius()) / 2; } @@ -695,7 +697,7 @@ public abstract class FinSet extends ExternalComponent implements RingInstanceab * about the center of the approximated fin. * * 2. If there are multiple fins, shift the inertia axis to the center - * of the Finset + * of the Finset. */ @Override public double getRotationalUnitInertia() {