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 == […]

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 […]

After playing with vector fields in 2d (here) it was quite easy to create a 3d surface deformation. Here is my first experiment on a regular triangular grid’s three-dimensional behaviour within a vector space, that includes a point charge of varying z coordinates. That makes field lines escape to a bounding box, instead of a bounding rectangle. Again, you may play with force decay, number of samples, and the “grid blast” parameter, which is just a t value evaluation of force fields. The first animation below shows the travelling point […]

This was the first step to the generation of Cairo Pentagonal Tiling. It is the dual of a semi-regular tiling of snub square. The first step was easy. Just dispatch cells of a square grid, then evaluate them according to the ratio of 0.366 approx. which is derived from the bisector of an equilateral triangle. Here is the definition:  [GHX: 0.9.0014] Now, we have a snub square tiling, composed of tilted squares, but in order to process it further and explore different potentials, I had to tell Grasshopper about the equal […]

İstanbul Bilgi University Faculty of Architecture Basic Design II Spring 2012 undergraduate studio* group 8’s project is a metal surface construction. Group of first year design students were capable of designing, modeling, fabricating and assembling the structure with a good precision. After physical prototypes of the proposed spanning structure, they further experimented in rhinoceros and sent faces to plasma cutting and bending process. Finally, they assembled the faces with nails at the site. This was one of the good explorations for the basic design studio, 1:1 material system study. *Students: […]

Galapagos was a great improvement, when it became available natively within Grasshopper. However I couldn’t find time to examine it until recently. This examination gave me a ideas on algorithmic thinking, tool making and tool using. The first experimentation shown below, (file here: [GHX: 0.8.0066]) tries to solve equilateral triangulation, based on Delaunay method. Galapagos has two different solvers, named “simulated annealing solver” and “evolutionary solver” shown respectively below. Both of them are trying to reach to a fitness value defined by the user. You may enter “Maximize”, “Minimize” or […]