Реализации алгоритмов/Треугольник Серпинского: различия между версиями
Содержимое удалено Содержимое добавлено
РоманСузи (обсуждение | вклад) перенесено из w:Треугольник Серпинского |
(нет различий)
|
Версия от 19:09, 3 апреля 2015
Треугольник Серпинского — фрактал, один из двумерных аналогов множества Кантора, предложенный польским математиком Вацлавом Серпинским в 1915 году.
Visual Basic for Applications
Пример кода VBA для CAD-систем:
Sub Sieve()
Dim pointObj As AcadPoint
Dim location(0 To 2) As Double 'Координаты искомых точек xi, yi, zi; zn = 0
Dim i As Long 'Счётчик итераций
Dim R As Double 'Случайность
Dim A(0 To 1) As Double 'Координаты вершин
Dim B(0 To 1) As Double
Dim C(0 To 1) As Double
A(0) = 0 'Cos(pi / 2)
A(1) = 1 'Sin(pi / 2)
B(0) = -0.866 'Cos(7 * pi / 6)
B(1) = -0.5 'Sin(7 * pi / 6)
C(0) = 0.866 'Cos(11 * pi / 6)
C(1) = -0.5 'Sin(11 * pi / 6)
For i = 1 To 100000
R = Rnd(1)
If R < 0,33 Then
location(0) = (location(0) + A(0)) / 2
location(1) = (location(1) + A(1)) / 2
ElseIf R < 0,67 Then
location(0) = (location(0) + B(0)) / 2
location(1) = (location(1) + B(1)) / 2
Else
location(0) = (location(0) + C(0)) / 2
location(1) = (location(1) + C(1)) / 2
End If
Set pointObj = ThisDrawing.ModelSpace.AddPoint(location)
Next i
End Sub