1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # Delaunay Triangulation of Given Points # 27.07.2017 – Tugrul Yazar import rhinoscriptsyntax as rs from itertools import combinations as cb points = rs.GetObjects("Select points for Delaunay Triangulation", 1) set = list(cb(points,3)) for tuple in set: c1 = rs.PointCoordinates(tuple[0]) c2 = rs.PointCoordinates(tuple[1]) c3 = rs.PointCoordinates(tuple[2]) if (c1[0]-c2[0])*(c3[1]-c2[1])-(c1[1]-c2[1])*(c3[0]-c2[0]) != 0: circle = rs.AddCircle3Pt(tuple[0],tuple[1],tuple[2]) delaunay = 0 for point in points: if rs.PointInPlanarClosedCurve(point,circle) == 1: delaunay = 1 continue if delaunay == […]

This is a useful tip both to solve some of the problems with custom surface subdivisions, and to explain the uses of parametric surface evaluations (the U,V,W thing) and the practical use of data lists. Step 1: Put your points inside 0,0,0 and 1,1,0 so that the resulting coordinates can easily be converted to U and Vs. In the example, we are putting some random points between 0,0 and 1,1 using Populate2d component. Step 2: Then make whatever you want with these points. For example we can create voronoi subdivision or delaunay […]

This is the final Grasshopper sketch of our graduate studio conducted together with Fulya Akipek at Yıldız Technical University Computational Design Unit. The project wa about to design parametric “Lanscape Extensions” at Kabataş Park. I hope I’ll be able to post the actual student works, the material system, but now; only the final result of the digital sketch we’ve developed together with students are presented here. This was a kind of “sketchy” definition that came up as an investigation about how can we construct a system on the selected area […]

After becoming a ready-made component in Grasshopper, the Delaunay triangulation lost its popularity quickly. It used to be a nice problem of computational geometry for designers obsessed with scripting.  Last month, Benay reminded me the method of circle checking. She showed her Rhinoscript that creates circles from point triplets, and checks if a point is inside or not. Today I studied this in Grasshopper to see if I can handle the required point combinations quickly. However, my first attempt was terrible. Wikipedia has a clean-quick explanation of the term: In […]