Recursion
I was Working couple weeks ago in a simple script to produce a recursion, I try drawing 3 points and then subdivided every segment for the mid point to find the another triangle inside of the original, the script appear in several minutes, Ididn`t think too much, I just typed very fast.
I learned recursion using C++, but I never used In Rvb, so this is my first experiments in recursion in Rvb. and this time I add The source of the original code, add comments, modify it, share, make differents Calls and send me Images.
Best.
Option Explicit
‘Script written by Carlos de la Barrera’
Call Main()
Sub Main()
Dim pt1, pt2, pt3, trip
pt1 = Rhino.GetPoint(“sel fisrt point”)
If IsNull (pt1) Then Exit Sub
pt2 = Rhino.GetPoint(“sel second point”)
If IsNull (pt2) Then Exit Sub
pt3 = Rhino.GetPoint(“sel third point”)
If IsNull (pt3) Then Exit Sub
trip = Rhino.AddPolyline(Array(pt1, pt2, pt3, pt1))
Call myFractal(trip, pt1, pt2, pt3)
End Sub
Function myFractal(trip, Opt1, Opt2, Opt3)
Dim pt1, pt2, pt3
pt1 = myMidFunction(Opt1, Opt2)
pt2 = myMidFunction(Opt2, Opt3)
pt3 = myMidFunction(Opt3, Opt1)
trip = Rhino.AddPolyline(Array(pt1, pt2, pt3, pt1))
If Rhino.Distance(pt1, pt2) > 0.01 Then
Call myFractal(trip, pt1, pt2, pt3)
Else
Exit Function
End If
End Function
Function myMidFunction(P1, P2)
Dim MidP
MidP = Array((P1(0) + P2(0)) / 2, (P1(1) + P2(1)) / 2, (P1(2) + P2(2)) / 2)
myMidFunction = MidP
End Function






images represent the process of my recursion work that started few weeks ago, with the post recursion, I will continue working in this kind of programming, and exploring differents types of recursion.
Recursion-3