この絵の形は、自然界に多くあります。
アンモナイト、カタツムリ、低気圧の雲、等です。
Excel macro aEXP()
Sub aEXP()
Dim x(1001) As Double
Dim y(1001) As Double
Set RngStart = Worksheets("Sheet1").Range("B40")
xs = RngStart.Left
ys = RngStart.Top
Set RngEnd = Worksheets("Sheet1").Range("D4")
ye = RngEnd.Top
xe = xs + (ys - ye)
pai = 3.14159265
a = 1000#
b = 0.1
dp = 13# * pai / 1000#
For i = 1 To 1000
theta = i * dp
r = a * Exp(b * theta)
x(i) = r * Cos(theta)
y(i) = r * Sin(theta)
Next i
xmax = -100000#
ymax = -100000#
xmin = 100000#
ymin = 100000#
For i = 1 To 1000
If (x(i) > xmax) Then
xmax = x(i)
Else
End If
If (x(i) < xmin) Then
xmin = x(i)
Else
End If
If (y(i) > ymax) Then
ymax = y(i)
Else
End If
If (y(i) < ymin) Then
ymin = y(i)
Else
End If
Next i
If (xmax > ymax) Then
ymax = xmax
Else
xmax = ymax
End If
If (xmin < ymin) Then
ymin = xmin
Else
xmin = ymin
End If
dx = (xe - xs) / (xmax - xmin)
dy = (ye - ys) / (ymax - ymin)
xg = (xe - xs) * (-xmin / (xmax - xmin)) + xs
yg = (ye - ys) * (-ymin / (ymax - ymin)) + ys
For i = 1 To 999
x1 = x(i) * dx + xg
y1 = y(i) * dy + yg
x2 = x(i + 1) * dx + xg
y2 = y(i + 1) * dy + yg
ActiveSheet.Shapes.AddLine x1, y1, x2, y2
Next i
End Sub