Get-PointsDistance
Получить расстояние между координатами двух точек.
Параметры
-Point1 объект Point
-Point2 объект Point
-Round округлить результат
Примеры
Получить расстояние между координатами двух точек.
Wake up, Neo, select all
Get-PointsDistance 100, 100 300, 300
Получить расстояние между координатами двух точек, округлить результат.
Wake up, Neo, select all
Get-PointsDistance 100, 100 300, 300 -Round
Получить расстояние между координатами в виде объекта Point.
Wake up, Neo, select all
Clear-Host
$point1 = [System.Drawing.Point]::new(200, 100)
$point2 = [System.Drawing.Point]::new(300, 400)
Get-PointsDistance $point1 $point2
Get-PointsDistance $point1 $point2 -RoundОтсортировать массив координат по расстоянию от указанной точки.
Wake up, Neo, select all
Clear-Host
# создать массив
$coord = [Collections.ArrayList]::new()
# добавить элементы, координаты в данном случае
$coord.Add(@{X = 300; Y = 200})|Out-Null
$coord.Add(@{X = 10; Y = 20})|Out-Null
$coord.Add(@{X = 100; Y = 150})|Out-Null
$coord.Add(@{X = 200; Y = 350})|Out-Null
# создать объект Point
$point = [System.Drawing.Point]::new(400, 400)
# отсортировать массив
$coord = $coord|Sort-Object {Get-PointsDistance $_.X, $_.Y $point}
$coord|ForEach-Object {Write-Host ($_.X, $_.Y)}Отсортировать массив Point по расстоянию от указанной точки.
Wake up, Neo, select all
Clear-Host
# создать массив
$coord = [Collections.Generic.List[Drawing.Point]]::new()
# добавить элементы, координаты в данном случае
$coord.Add(@{X = 300; Y = 200})|Out-Null
$coord.Add(@{X = 10; Y = 20})|Out-Null
$coord.Add(@{X = 100; Y = 150})|Out-Null
$coord.Add(@{X = 200; Y = 350})|Out-Null
# создать объект Point
$point = [Drawing.Point]::new(400, 400)
# отсортировать массив
$coord = $coord|Sort-Object {Get-PointsDistance $_ $point}
$coord|ForEach-Object {Write-Host $_}