Документация Engee

triplot

Страница в процессе перевода.

triplot(x, y; kwargs...)
triplot(positions; kwargs...)
triplot(triangles::Triangulation; kwargs...)

Строит триангуляцию на основе предоставленной позиции или объекта Triangulation из DelaunayTriangulation.jl.

Тип графика

Псевдоним типа графика для функции triplot — Triplot.

Примеры

triplot строит треугольную сетку, созданную из произвольного набора точек. Входные данные могут быть представлены либо в виде точек (например, scatter или lines), либо а виде Triangulation из пакета DelaunayTriangulation.jl.

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

points = randn(Point2f, 50)
f, ax, tr = triplot(points, show_points = true, triangle_color = :lightblue)

tri = triangulate(points)
ax, tr = triplot(f[1, 2], tri, show_points = true)
f
a267c0b

С помощью triplot можно визуализировать призрачные ребра, окружающие границу.

using CairoMakie
using DelaunayTriangulation

n = 20
angles = range(0, 2pi, length = n+1)[1:end-1]
x = [cos.(angles); 2 .* cos.(angles .+ pi/n)]
y = [sin.(angles); 2 .* sin.(angles .+ pi/n)]
inner = [n:-1:1; n] # внутренняя часть по часовой стрелке
outer = [(n+1):(2n); n+1] # внешняя часть против часовой стрелки
boundary_nodes = [[outer], [inner]]
points = [x'; y']
tri = triangulate(points; boundary_nodes = boundary_nodes)

f, ax, tr = triplot(tri; show_ghost_edges = true, show_points = true)
f
93832d8

Можно также выделить ограниченные ребра и отобразить выпуклую оболочку, что особенно полезно, когда триангуляция перестает быть выпуклой.

using CairoMakie
using DelaunayTriangulation

using Random
Random.seed!(1234)

outer = [
    (0.0,0.0),(2.0,1.0),(4.0,0.0),
    (6.0,2.0),(2.0,3.0),(3.0,4.0),
    (6.0,6.0),(0.0,6.0),(0.0,0.0)
]
inner = [
    (1.0,5.0),(2.0,4.0),(1.01,1.01),
    (1.0,1.0),(0.99,1.01),(1.0,5.0)
]
boundary_points = [[outer], [inner]]
boundary_nodes, points = convert_boundary_points_to_indices(boundary_points)
tri = triangulate(points; boundary_nodes = boundary_nodes)
refine!(tri; max_area=1e-3*get_area(tri))

f, ax, tr = triplot(tri, show_constrained_edges = true, constrained_edge_linewidth = 4, show_convex_hull = true)
f
bd5b958

Атрибуты

bounding_box

Значение по умолчанию: automatic

Устанавливает ограничивающую рамку для усечения призрачных краев, которая может быть Rect2 (или BBox) или кортеж формы (xmin, xmax, ymin, ymax). По умолчанию прямоугольник будет задан [a - eΔx, b + eΔx] × [c - eΔy, d + eΔy] где e это ghost_edge_extension_factor, Δx = b - a и Δy = d - c это длины сторон прямоугольника, а [a, b] × [c, d] - ограничивающая рамка точек в триангуляции.

constrained_edge_color

Значение по умолчанию: :magenta

Задает цвет ограниченных краев.

constrained_edge_linestyle

Значение по умолчанию: @inherit linestyle

Задает стиль линий ограниченных ребер.

constrained_edge_linewidth

Значение по умолчанию: @inherit linewidth

Задает ширину ограниченных краев.

convex_hull_color

Значение по умолчанию: :red

Задает цвет выпуклой оболочки.

convex_hull_linestyle

Значение по умолчанию: :dash

Задает стиль линии выпуклой оболочки.

convex_hull_linewidth

Значение по умолчанию: @inherit linewidth

Задает ширину выпуклой оболочки.

ghost_edge_color

Значение по умолчанию: :blue

Задает цвет призрачных краев.

ghost_edge_extension_factor

Значение по умолчанию: 0.1

Устанавливает коэффициент удлинения прямоугольника, на который распространяются внешние призрачные края.

ghost_edge_linestyle

Значение по умолчанию: @inherit linestyle

Задает стиль линий призрачных краев.

ghost_edge_linewidth

Значение по умолчанию: @inherit linewidth

Задает ширину призрачных краев.

joinstyle

Значение по умолчанию: @inherit joinstyle

Документация недоступна.

linecap

Значение по умолчанию: @inherit linecap

Документация недоступна.

linestyle

Значение по умолчанию: :solid

Задает стиль линий для ребер треугольника.

marker

Значение по умолчанию: @inherit marker

Задает форму точек.

markercolor

Значение по умолчанию: @inherit markercolor

Задает цвет точек.

markersize

Значение по умолчанию: @inherit markersize

Задает размер точек.

miter_limit

Значение по умолчанию: @inherit miter_limit

Документация недоступна.

recompute_centers

Значение по умолчанию: false

Определяет, следует ли повторно вычислять характерные точки для ориентации призрачного края. Обратите внимание, что это приведет к изменению tri.representative_point_list непосредственно.

show_constrained_edges

Значение по умолчанию: false

Определяет, следует ли строить ограниченные ребра.

show_convex_hull

Значение по умолчанию: false

Определяет, следует ли строить выпуклую оболочку.

show_ghost_edges

Значение по умолчанию: false

Определяет, следует ли отображать призрачные края.

show_points

Значение по умолчанию: false

Определяет, следует ли наносить на график отдельные точки. Обратите внимание, что при этом будут отображены только точки, включенные в триангуляцию.

strokecolor

Значение по умолчанию: @inherit patchstrokecolor

Задает цвет краев треугольника.

strokewidth

Значение по умолчанию: 1

Задает ширину линии ребер треугольника.

triangle_color

Значение по умолчанию: :transparent

Задает цвет треугольников.