Get-PointsDistance

Получить расстояние между координатами двух точек.
Параметры

  • -Point1 объект Point

  • -Point2 объект Point

  • -Round округлить результат

Примеры

  1. Получить расстояние между координатами двух точек.

    Wake up, Neo, select all

    Get-PointsDistance 100, 100 300, 300
  2. Получить расстояние между координатами двух точек, округлить результат.

    Wake up, Neo, select all

    Get-PointsDistance 100, 100 300, 300 -Round
  3. Получить расстояние между координатами в виде объекта 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
  4. Отсортировать массив координат по расстоянию от указанной точки.

    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)}
  5. Отсортировать массив 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 $_}