Last active
May 16, 2023 18:48
-
-
Save jgphilpott/092c0f3e1bcfa75f543e8485b9b23e7d to your computer and use it in GitHub Desktop.
A collection of functions for converting between different units of angle.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Angle Conversions ### | |
convertAngle = | |
degree: {} | |
gradian: {} | |
milliradian: {} | |
radian: {} | |
arcSecond: {} | |
arcMinute: {} | |
### Degree Conversions ### | |
convertAngle.degree.degree = deg$deg = (deg) -> deg # Degree to Degree | |
convertAngle.degree.gradian = deg$gad = (deg) -> deg * (200 / 180) # Degree to Gradian | |
convertAngle.degree.milliradian = deg$mrad = (deg) -> deg * ((1000 * Math.PI) / 180) # Degree to Milliradian | |
convertAngle.degree.radian = deg$rad = (deg) -> deg * (Math.PI / 180) # Degree to Radian | |
convertAngle.degree.arcSecond = deg$soa = (deg) -> deg * 3600 # Degree to Second of Arc | |
convertAngle.degree.arcMinute = deg$moa = (deg) -> deg * 60 # Degree to Minute of Arc | |
### Gradian Conversions ### | |
convertAngle.gradian.degree = gad$deg = (gad) -> gad * (180 / 200) # Gradian to Degree | |
convertAngle.gradian.gradian = gad$gad = (gad) -> gad # Gradian to Gradian | |
convertAngle.gradian.milliradian = gad$mrad = (gad) -> gad * ((1000 * Math.PI) / 200) # Gradian to Milliradian | |
convertAngle.gradian.radian = gad$rad = (gad) -> gad * (Math.PI / 200) # Gradian to Radian | |
convertAngle.gradian.arcSecond = gad$soa = (gad) -> gad * 3240 # Gradian to Second of Arc | |
convertAngle.gradian.arcMinute = gad$moa = (gad) -> gad * 54 # Gradian to Minute of Arc | |
### Milliradian Conversions ### | |
convertAngle.milliradian.degree = mrad$deg = (mrad) -> mrad * (180 / (1000 * Math.PI)) # Milliradian to Degree | |
convertAngle.milliradian.gradian = mrad$gad = (mrad) -> mrad * (200 / (1000 * Math.PI)) # Milliradian to Gradian | |
convertAngle.milliradian.milliradian = mrad$mrad = (mrad) -> mrad # Milliradian to Milliradian | |
convertAngle.milliradian.radian = mrad$rad = (mrad) -> mrad / 1000 # Milliradian to Radian | |
convertAngle.milliradian.arcSecond = mrad$soa = (mrad) -> mrad * ((180 * 3600) / (1000 * Math.PI)) # Milliradian to Second of Arc | |
convertAngle.milliradian.arcMinute = mrad$moa = (mrad) -> mrad * ((180 * 60) / (1000 * Math.PI)) # Milliradian to Minute of Arc | |
### Radian Conversions ### | |
convertAngle.radian.degree = rad$deg = (rad) -> rad * (180 / Math.PI) # Radian to Degree | |
convertAngle.radian.gradian = rad$gad = (rad) -> rad * (200 / Math.PI) # Radian to Gradian | |
convertAngle.radian.milliradian = rad$mrad = (rad) -> rad * 1000 # Radian to Milliradian | |
convertAngle.radian.radian = rad$rad = (rad) -> rad # Radian to Radian | |
convertAngle.radian.arcSecond = rad$soa = (rad) -> rad * ((180 * 3600) / Math.PI) # Radian to Second of Arc | |
convertAngle.radian.arcMinute = rad$moa = (rad) -> rad * ((180 * 60) / Math.PI) # Radian to Minute of Arc | |
### Second of Arc Conversions ### | |
convertAngle.arcSecond.degree = soa$deg = (soa) -> soa / 3600 # Second of Arc to Degree | |
convertAngle.arcSecond.gradian = soa$gad = (soa) -> soa / 3240 # Second of Arc to Gradian | |
convertAngle.arcSecond.milliradian = soa$mrad = (soa) -> soa * ((1000 * Math.PI) / (180 * 3600)) # Second of Arc to Milliradian | |
convertAngle.arcSecond.radian = soa$rad = (soa) -> soa * (Math.PI / (180 * 3600)) # Second of Arc to Radian | |
convertAngle.arcSecond.arcSecond = soa$soa = (soa) -> soa # Second of Arc to Second of Arc | |
convertAngle.arcSecond.arcMinute = soa$moa = (soa) -> soa / 60 # Second of Arc to Minute of Arc | |
### Minute of Arc Conversions ### | |
convertAngle.arcMinute.degree = moa$deg = (moa) -> moa / 60 # Minute of Arc to Degree | |
convertAngle.arcMinute.gradian = moa$gad = (moa) -> moa / 54 # Minute of Arc to Gradian | |
convertAngle.arcMinute.milliradian = moa$mrad = (moa) -> moa * ((1000 * Math.PI) / (180 * 60)) # Minute of Arc to Milliradian | |
convertAngle.arcMinute.radian = moa$rad = (moa) -> moa * (Math.PI / (180 * 60)) # Minute of Arc to Radian | |
convertAngle.arcMinute.arcSecond = moa$soa = (moa) -> moa * 60 # Minute of Arc to Second of Arc | |
convertAngle.arcMinute.arcMinute = moa$moa = (moa) -> moa # Minute of Arc to Minute of Arc |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Angle Conversions */ | |
var convertAngle, deg$deg, deg$gad, deg$moa, deg$mrad, deg$rad, deg$soa, gad$deg, gad$gad, gad$moa, gad$mrad, gad$rad, gad$soa, moa$deg, moa$gad, moa$moa, moa$mrad, moa$rad, moa$soa, mrad$deg, mrad$gad, mrad$moa, mrad$mrad, mrad$rad, mrad$soa, rad$deg, rad$gad, rad$moa, rad$mrad, rad$rad, rad$soa, soa$deg, soa$gad, soa$moa, soa$mrad, soa$rad, soa$soa; | |
convertAngle = { | |
degree: {}, | |
gradian: {}, | |
milliradian: {}, | |
radian: {}, | |
arcSecond: {}, | |
arcMinute: {} | |
}; | |
/* Degree Conversions */ | |
convertAngle.degree.degree = deg$deg = function(deg) { | |
return deg; // Degree to Degree | |
}; | |
convertAngle.degree.gradian = deg$gad = function(deg) { | |
return deg * (200 / 180); // Degree to Gradian | |
}; | |
convertAngle.degree.milliradian = deg$mrad = function(deg) { | |
return deg * ((1000 * Math.PI) / 180); // Degree to Milliradian | |
}; | |
convertAngle.degree.radian = deg$rad = function(deg) { | |
return deg * (Math.PI / 180); // Degree to Radian | |
}; | |
convertAngle.degree.arcSecond = deg$soa = function(deg) { | |
return deg * 3600; // Degree to Second of Arc | |
}; | |
convertAngle.degree.arcMinute = deg$moa = function(deg) { | |
return deg * 60; // Degree to Minute of Arc | |
}; | |
/* Gradian Conversions */ | |
convertAngle.gradian.degree = gad$deg = function(gad) { | |
return gad * (180 / 200); // Gradian to Degree | |
}; | |
convertAngle.gradian.gradian = gad$gad = function(gad) { | |
return gad; // Gradian to Gradian | |
}; | |
convertAngle.gradian.milliradian = gad$mrad = function(gad) { | |
return gad * ((1000 * Math.PI) / 200); // Gradian to Milliradian | |
}; | |
convertAngle.gradian.radian = gad$rad = function(gad) { | |
return gad * (Math.PI / 200); // Gradian to Radian | |
}; | |
convertAngle.gradian.arcSecond = gad$soa = function(gad) { | |
return gad * 3240; // Gradian to Second of Arc | |
}; | |
convertAngle.gradian.arcMinute = gad$moa = function(gad) { | |
return gad * 54; // Gradian to Minute of Arc | |
}; | |
/* Milliradian Conversions */ | |
convertAngle.milliradian.degree = mrad$deg = function(mrad) { | |
return mrad * (180 / (1000 * Math.PI)); // Milliradian to Degree | |
}; | |
convertAngle.milliradian.gradian = mrad$gad = function(mrad) { | |
return mrad * (200 / (1000 * Math.PI)); // Milliradian to Gradian | |
}; | |
convertAngle.milliradian.milliradian = mrad$mrad = function(mrad) { | |
return mrad; // Milliradian to Milliradian | |
}; | |
convertAngle.milliradian.radian = mrad$rad = function(mrad) { | |
return mrad / 1000; // Milliradian to Radian | |
}; | |
convertAngle.milliradian.arcSecond = mrad$soa = function(mrad) { | |
return mrad * ((180 * 3600) / (1000 * Math.PI)); // Milliradian to Second of Arc | |
}; | |
convertAngle.milliradian.arcMinute = mrad$moa = function(mrad) { | |
return mrad * ((180 * 60) / (1000 * Math.PI)); // Milliradian to Minute of Arc | |
}; | |
/* Radian Conversions */ | |
convertAngle.radian.degree = rad$deg = function(rad) { | |
return rad * (180 / Math.PI); // Radian to Degree | |
}; | |
convertAngle.radian.gradian = rad$gad = function(rad) { | |
return rad * (200 / Math.PI); // Radian to Gradian | |
}; | |
convertAngle.radian.milliradian = rad$mrad = function(rad) { | |
return rad * 1000; // Radian to Milliradian | |
}; | |
convertAngle.radian.radian = rad$rad = function(rad) { | |
return rad; // Radian to Radian | |
}; | |
convertAngle.radian.arcSecond = rad$soa = function(rad) { | |
return rad * ((180 * 3600) / Math.PI); // Radian to Second of Arc | |
}; | |
convertAngle.radian.arcMinute = rad$moa = function(rad) { | |
return rad * ((180 * 60) / Math.PI); // Radian to Minute of Arc | |
}; | |
/* Second of Arc Conversions */ | |
convertAngle.arcSecond.degree = soa$deg = function(soa) { | |
return soa / 3600; // Second of Arc to Degree | |
}; | |
convertAngle.arcSecond.gradian = soa$gad = function(soa) { | |
return soa / 3240; // Second of Arc to Gradian | |
}; | |
convertAngle.arcSecond.milliradian = soa$mrad = function(soa) { | |
return soa * ((1000 * Math.PI) / (180 * 3600)); // Second of Arc to Milliradian | |
}; | |
convertAngle.arcSecond.radian = soa$rad = function(soa) { | |
return soa * (Math.PI / (180 * 3600)); // Second of Arc to Radian | |
}; | |
convertAngle.arcSecond.arcSecond = soa$soa = function(soa) { | |
return soa; // Second of Arc to Second of Arc | |
}; | |
convertAngle.arcSecond.arcMinute = soa$moa = function(soa) { | |
return soa / 60; // Second of Arc to Minute of Arc | |
}; | |
/* Minute of Arc Conversions */ | |
convertAngle.arcMinute.degree = moa$deg = function(moa) { | |
return moa / 60; // Minute of Arc to Degree | |
}; | |
convertAngle.arcMinute.gradian = moa$gad = function(moa) { | |
return moa / 54; // Minute of Arc to Gradian | |
}; | |
convertAngle.arcMinute.milliradian = moa$mrad = function(moa) { | |
return moa * ((1000 * Math.PI) / (180 * 60)); // Minute of Arc to Milliradian | |
}; | |
convertAngle.arcMinute.radian = moa$rad = function(moa) { | |
return moa * (Math.PI / (180 * 60)); // Minute of Arc to Radian | |
}; | |
convertAngle.arcMinute.arcSecond = moa$soa = function(moa) { | |
return moa * 60; // Minute of Arc to Second of Arc | |
}; | |
convertAngle.arcMinute.arcMinute = moa$moa = function(moa) { | |
return moa; // Minute of Arc to Minute of Arc | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment