Angle difference between two bearings: Difference between revisions
Content added Content deleted
Line 1,927: | Line 1,927: | ||
60175.773068 42213.071924 37.298856 |
60175.773068 42213.071924 37.298856 |
||
</pre> |
</pre> |
||
={{header|PowerShell}}= |
|||
This implementation takes two user inputs with ''Get-AngleDiff'' or prints the |
|||
examples with ''Get-Examples''. There is also a full help file accessed by typing |
|||
''Get-Help Get-AngleDiff -full'' |
|||
<lang PowerShell> |
|||
<# |
|||
.Synopsis |
|||
Gets the difference between two angles between the values of -180 and 180. |
|||
To see examples use "Get-Examples" |
|||
.DESCRIPTION |
|||
This code uses the modulo operator, this is represented with the "%". |
|||
The modulo operator returns the remainder after division, as displayed below |
|||
3 % 2 = 1 |
|||
20 % 15 = 5 |
|||
200 % 146 = 54 |
|||
.EXAMPLE |
|||
PS C:\WINDOWS\system32> Get-AngleDiff |
|||
cmdlet Get-AngleDiff at command pipeline position 1 |
|||
Supply values for the following parameters: |
|||
angle1: 45 |
|||
angle2: -85 |
|||
The difference between 45 and -85 is -130 |
|||
PS C:\WINDOWS\system32> |
|||
.EXAMPLE |
|||
PS C:\WINDOWS\system32> Get-AngleDiff -angle1 50 -angle2 -65 |
|||
The difference between 50 and -65 is -115 |
|||
PS C:\WINDOWS\system32> |
|||
.EXAMPLE |
|||
PS C:\WINDOWS\system32> Get-AngleDiff -89 50 |
|||
The difference between -89 and 50 is 139 |
|||
PS C:\WINDOWS\system32> |
|||
#> |
|||
function Get-AngleDiff |
|||
{ |
|||
[CmdletBinding()] |
|||
Param |
|||
( |
|||
# Angle one input, must be a number |
|||
[Parameter(Mandatory=$true, |
|||
ValueFromPipelineByPropertyName=$true)][double]$angle1, |
|||
# Angle two input, must be a number |
|||
[Parameter(Mandatory=$true, |
|||
ValueFromPipelineByPropertyName=$true)][double]$angle2 |
|||
) |
|||
Begin |
|||
{ |
|||
#This is the equation to calculate the difference |
|||
[double]$Difference = ($angle2 - $angle1) % 360.0 |
|||
} |
|||
Process |
|||
{ |
|||
#If/IfElse/Else block to return results within the requested range |
|||
if ($Difference -lt -180.0) |
|||
{$Difference += 360.0 |
|||
} |
|||
elseif ($Difference -gt 360.0) |
|||
{$Difference -= 360.0 |
|||
} |
|||
#Writes the values given by the user and the result |
|||
Write-Host "The difference between $angle1 and $angle2 is $Difference" |
|||
} |
|||
End |
|||
{ |
|||
} |
|||
} |
|||
<# |
|||
.Synopsis |
|||
This is simply the outputs of the Get-AngleDiff Function in a function |
|||
.EXAMPLE |
|||
PS C:\WINDOWS\system32> Get-Examples |
|||
Inputs from the -180 to 180 range |
|||
The difference between 20 and 45 is 25 |
|||
The difference between -45 and 45 is 90 |
|||
The difference between -85 and 90 is 175 |
|||
The difference between -95 and 90 is 185 |
|||
The difference between -45 and 125 is 170 |
|||
The difference between -45 and 145 is 190 |
|||
The difference between -45 and 125 is 170 |
|||
The difference between -45 and 145 is 190 |
|||
The difference between 29.4803 and -88.6381 is -118.1184 |
|||
The difference between -78.3251 and -159.036 is -80.7109 |
|||
Inputs from a wider range |
|||
The difference between -70099.7423381094 and 29840.6743787672 is 220.416716876614 |
|||
The difference between -165313.666629736 and 33693.9894517456 is 287.656081481313 |
|||
The difference between 1174.83805105985 and -154146.664901248 is -161.502952307404 |
|||
The difference between 60175.7730679555 and 42213.0719235437 is 37.2988555882694 |
|||
PS C:\WINDOWS\system32> |
|||
#> |
|||
function Get-Examples |
|||
{ |
|||
#blank write-host is used for a blank line to make the output look a lil cleaner |
|||
Write-Host |
|||
Write-Host "Inputs from the -180 to 180 range" |
|||
Get-AngleDiff 20.0 45.0 |
|||
Get-AngleDiff -45.0 45.0 |
|||
Get-AngleDiff -85.0 90.0 |
|||
Get-AngleDiff -95.0 90.0 |
|||
Get-AngleDiff -45.0 125.0 |
|||
Get-AngleDiff -45.0 145.0 |
|||
Get-AngleDiff -45.0 125.0 |
|||
Get-AngleDiff -45.0 145.0 |
|||
Get-AngleDiff 29.4803 -88.6381 |
|||
Get-AngleDiff -78.3251 -159.036 |
|||
Write-Host |
|||
Write-Host "Inputs from a wider range" |
|||
Get-AngleDiff -70099.74233810938 29840.67437876723 |
|||
Get-AngleDiff -165313.6666297357 33693.9894517456 |
|||
Get-AngleDiff 1174.8380510598456 -154146.66490124757 |
|||
Get-AngleDiff 60175.77306795546 42213.07192354373 |
|||
}</lang> |
|||
'''Results of user inputs'''<br> |
|||
using -45 and 98 with ''Get-AngleDiff'': |
|||
<lang PowerShell>PS C:\WINDOWS\system32> Get-AngleDiff -45 98 |
|||
The difference between -45 and 98 is 143</lang> |
|||
'''Results of ''Get-Examples''''' |
|||
<lang powershell>PS C:\WINDOWS\system32> Get-Examples |
|||
Inputs from the -180 to 180 range |
|||
The difference between 20 and 45 is 25 |
|||
The difference between -45 and 45 is 90 |
|||
The difference between -85 and 90 is 175 |
|||
The difference between -95 and 90 is 185 |
|||
The difference between -45 and 125 is 170 |
|||
The difference between -45 and 145 is 190 |
|||
The difference between -45 and 125 is 170 |
|||
The difference between -45 and 145 is 190 |
|||
The difference between 29.4803 and -88.6381 is -118.1184 |
|||
The difference between -78.3251 and -159.036 is -80.7109 |
|||
Inputs from a wider range |
|||
The difference between -70099.7423381094 and 29840.6743787672 is 220.416716876614 |
|||
The difference between -165313.666629736 and 33693.9894517456 is 287.656081481313 |
|||
The difference between 1174.83805105985 and -154146.664901248 is -161.502952307404 |
|||
The difference between 60175.7730679555 and 42213.0719235437 is 37.2988555882694 |
|||
</lang> |
|||
=={{header|Python}}== |
=={{header|Python}}== |