GeoGebra. Пример на построение диагоналей.

Автор: | 04.02.2019

В программу встроены прекрасные инструменты работы с множеством точек и списками объектов, в том числе и точек. Меня заинтересовал вопрос построения диагоналей многоугольников. Один из  таких своеобразных способов – Триангуляция Делоне.

Слово триангуляция говорит само за себя. Когда я служил в армии, то познакомился с так называемыми реперными точками, т.е. точками привязки объекта на местности. Триангуляционные знаки похожи по-своему устройству и назначению. Я наблюдал такие знаки в Черноземье в детстве. В любом случае они как и реперные знаки устроены в виде насыпей, холмиков земли, на которых установлены столбы с метками.

Я построил в Геогебре точки и триангуляционные линии Делоне. Эти линии соединяют лишь часть диагоналей по некоторому принципу. Весь ввод данных в Геогебре текстовой.

Поэтому я решил получить входные данные для триангуляции через программу на VBA в Excel.

Это макрос обработки, формирующий выходные данные

Sub Krug1()

a = “Execute[{“

b = “”

kod = 64

kod1 = kod

c = “”

For i = 1 To 33

x = Round(Cells(i, 2), 2)

x = Replace(x, “,”, “.”)

y = Round(Cells(i, 3), 2)

y = Replace(y, “,”, “.”)

    kod = kod + 1

    If i > 26 Then

        kod1 = kod – 26

        b = b + “””” + Chr(kod1) + “1=(” + CStr(x) + “,” + CStr(y) + “)” + “””” + “,”

        c = c + Chr(kod1) + “1,”

    Else

        b = b + “””” + Chr(kod) + “=(” + CStr(x) + “,” + CStr(y) + “)” + “””” + “,”

         c = c + Chr(kod) + “,”

    End If

Next

b = “Execute[{” + Mid(b, 1, Len(b) – 1) + “}]”

 Cells(38, 1) = b

c = Mid(c, 1, Len(c) – 1)

c = “gr=DelaunayTriangulation[{” + c + “}]”

Cells(39, 1) = c

End Sub

Входные данные сформированы по формулам. Смотрите файл Excel

Копируем полученные 2 строки и последовательно вставляем в строку ввода GeoGebra и получаем результат.

Пример с частичными диагоналями.

А вот и готовый результат построения всех диагоналей в многоугольнике в формате Gif.