nearestEdge

Найдите ребра самыми близкими к заданной точке

    Описание

    пример

    EdgeID = nearestEdge(g,Coords) находит ребра самыми близкими к точке с координатами Coords.

    Примеры

    свернуть все

    Найдите ребра блока самыми близкими к заданным точкам.

    Создайте геометрию блока.

    gm = multicuboid(3,2,1)
    gm = 
      DiscreteGeometry with properties:
    
           NumCells: 1
           NumFaces: 6
           NumEdges: 12
        NumVertices: 8
           Vertices: [8x3 double]
    
    

    Постройте геометрию с метками ребра. Добавьте точки с координатами (0 0 0), (1 0.9 1), и (1.5 - 1 0) к графику.

    pdegplot(gm,'EdgeLabels','on','FaceAlpha',0.2)
    hold on
    scatter3([0 1 1.5],[0 0.9 -1],[0 1 0],'filled','MarkerFaceColor','g')

    Figure contains an axes object. The axes object contains 4 objects of type quiver, patch, line, scatter.

    Найдите ребра самыми близкими к точкам с координатами (0 0 0), (1 0.9 1), и (1.5 - 1 0). Если несколько ребер одинаково близки (в допуске) к точке, nearestEdge возвращает ID одного из ребер.

    edgeIDs = nearestEdge(gm,[0 0 0; 1 0.9 1; 1.5 -1 0])
    edgeIDs = 1×3
    
         1     7     4
    
    

    Найдите ребра L-образной мембраны самыми близкими к заданным точкам.

    Создайте модель и включайте эту геометрию. Геометрия L-образной мембраны описана в файле lshapeg.

    model = createpde();
    gm = geometryFromEdges(model,@lshapeg)
    gm = 
      AnalyticGeometry with properties:
    
           NumCells: 0
           NumFaces: 3
           NumEdges: 10
        NumVertices: 8
           Vertices: [8x2 double]
    
    

    Постройте геометрию с метками ребра. Добавьте точки с координатами (0 0), (0.1 0.2), и (-0.5 0.5) к графику.

    pdegplot(gm,'EdgeLabels','on')
    hold on
    scatter([0 0.1 -0.5],[0 0.2 0.5],'filled')

    Figure contains an axes object. The axes object contains 12 objects of type line, text, scatter.

    Найдите ребра самыми близкими к точкам с координатами (0 0), (0.1 0.2), и (-0.5 0.5). Если несколько ребер одинаково близки (в допуске) к точке, nearestEdge возвращает ID одного из ребер.

    edgeIDs = nearestEdge(gm,[0 0; 0.1 0.2; -0.5 0.5])
    edgeIDs = 1×3
    
         7    10    10
    
    

    Входные параметры

    свернуть все

    Геометрия в виде DiscreteGeometry или AnalyticGeometry объект.

    Координаты точки в виде вектора из 2 или 3 элементов для 2D или 3-D геометрии, соответственно.

    Типы данных: double

    Выходные аргументы

    свернуть все

    Идентификаторы ребер, самых близких к заданной точке, возвращенной как положительное число или вектор из положительных чисел.

    Введенный в R2021a