public void refreshAcceleration() { aceleration.X = ((analogRead.X * VoltsPerCount) - (VZEROG)) / Sensitivity; aceleration.Y = ((analogRead.Y * VoltsPerCount) - (VZEROG)) / Sensitivity; aceleration.Z = ((analogRead.Z * VoltsPerCount) - (VZEROG)) / Sensitivity; acelerationUnit = Triplet.normalized(aceleration); }
private void refreshDeclinationAngle() { double angleRad; double dotProduct; Triplet DECcrossSouthPole; Byte OctantDECcrossSouthPole; Triplet SouthPoleB; SouthPoleB = Triplet.normalized(Triplet.matrixProduct(Status.RotationMatrix, this.aRA.AcelerationUnit)); dotProduct = Triplet.dotProduct(this.aDEC.AcelerationUnit, SouthPoleB); DECcrossSouthPole = Triplet.crossProduct(this.aDEC.AcelerationUnit, SouthPoleB); OctantDECcrossSouthPole = Triplet.Octant(DECcrossSouthPole); Console.WriteLine("SouthPoleB=" + SouthPoleB.ToString()); Console.WriteLine("OctantDECcrossSouthPole=" + OctantDECcrossSouthPole.ToString()); angleRad = Math.Acos(dotProduct); if (OctantDECcrossSouthPole < 6) { angleRad *= -1.0; } this.declinationAngle = ((angleRad * 180.0) / Math.PI); Console.WriteLine("DEC_RA[º]=" + this.declinationAngle); }