Here is the shortest possible way of generating quick parametric curves in Rhino Python. So, you may change the f, g, and h functions to test any function curve. In this Python code, the list comprehension [(f(t), g(t), h(t)) for t in [t0 + i*dt for i in range(int((t1-t0)/dt)+1)]] works by first generating a list of t values from t0 to t1 with an increment of dt using the inner […]
Posts categorized under Education
Modeling a rhombicosidodecahedron requires exploding and extending the faces of a dodecahedron and an icosahedron of the same edge length. We begin with both polyhedra centered at the same point. Then, we explode the faces of the dodecahedron and icosahedron outward from the center. We extend their planes while maintaining their orientation and shape. As these faces extend, they intersect and form new polygonal regions. Triangular and pentagonal faces emerge […]
It is not possible to cover a double curvature surface with planar quads. Here is one method that overcomes quad tiling on double curvature by pulling one vertex of the quads to the plane defined by the other three. This method was used in architecture on several occasions such as the exterior facade of The Yas Hotel, designed by Asymptote Architecture in 2009. The same approach is also evident in […]
In this short tutorial, I am showing the essentials of data domains in Grasshopper. A domain is a data type in Grasshopper that represents a portion of the 1d or 2d number space. This requires a starting and ending point in those spaces. In 1d, these points are two numbers. Then, the domain represents all the numbers between them. In 2d, a data domain is represented by two coordinates (u, […]
Curvature can be roughly described as how much a curve is “turning” at point a P. We place two “very” close tangents and measure the difference between them. The closer these tangents are, the more precise our approximation would be. An osculating circle is a tangent circle that has the same curvature as the curve at point P. The larger the circle, the more “flat” the curve is. An infinitely […]
Truncation refers to the process of shortening something by removing parts. You can apply truncation to numbers, text, or data in various contexts. A truncated polyhedron is a geometric solid formed by truncating the vertices of a regular polyhedron. Truncation involves cutting off the corners or vertices of the polyhedron in such a way that the original faces become polygons with new edges. This process creates new faces at the […]
The rhombitrihexagonal tiling is one of the semi-regular tessellations. It is composed of regular hexagons, squares, and triangles. It is a periodic tessellation since you can copy the fundamental unit and move it across the plane to generate the tiling. I use this quality of the tiling to draw and expand it in Rhinoceros software. This is a basic drawing exercise. At the same time, it is a nice exercise […]
The snub square tiling is one of the semi-regular tessellations, where regular triangles and squares match perfectly to fill the plane without gaps or overlaps. The Euclidean construction of Snub Square tiling is possible by utilizing the basic compass and straightedge operations. I made this construction in Rhinoceros to show that there is no need for any numerical input to locate the points and draw the tiling. There are two […]
This is a 3d modeling tutorial for the platonic solid of dodecahedron. Modeling a dodecahedron is a good exercise for the basic transformation commands such as Rotate3D in Rhinoceros. You will see that it is possible to calculate the rotation angle by using sphere intersections. I learned this elegant method while teaching Architectural Geometry classes 12 years ago. It is based on the fact that, given a rotation axis and […]
This is a short video tutorial on the B-Spline decomposition I studied earlier here. This tutorial demonstrates how to decompose a B-Spline curve into Bezier curves using Rhino. Despite the original Bezier-de Casteljau algorithm requiring degree+1 control points, Rhino allows drawing a degree-3 curve with any number of control points. By examining knot points and dividing segments appropriately, the B-Spline curve can be manually subdivided into Bezier curves. This involves […]
In this short tutorial, I am going to show you how to locate a parametric point on a Bezier curve. This will be a third-degree cubic Bezier curve. So, I start by placing four control points. I name these points from P0 to P3. Then, I connect them by a polyline in order. I explode the polyline into the segments. The parameter of my point must be a number between […]
Here is a short tutorial on getting help from Grasshopper in physical terrain modeling. It is a classical architectural terrain modeling process. Let’s see how Grasshopper can help us with this. Part 1: Terrain modeling for Laser cutter The terrain model entered in the Brep data store in this application is a closed/solid model. For now, you can also use ready-made components such as Cone or Sphere (Sph) to quickly […]
Data structures and data matching principles are important to be able to design with #Grasshopper. In this tutorial, I show data matching procedures with arithmetic operations. Then I repeat them in the production of geometric objects. I think it should be easier to use this programming language once the students understand the basic principles. Therefore it would be easier to design with it. Sometimes the design process of these diagrams […]
Here is another basic exercise in Grasshopper. This exercise “Point Waves” creates wave-like deformations on the grids of points. The major function of the definition is to calculate the distances from every point of a grid to an attractor point, with the help of Distance (Dist). Then it sorts them from the smallest to the largest (= closest to farthest) with the Sort List (Sort) component. This component takes and […]
Fields is a native group of components available since the very early version of Grasshopper. In today’s Design Computing class, we studied it again with the first-year design students. I studied these interesting and beautiful shapes earlier here, here, here, and here. The one you see below is a short in-class exercise about vector fields. The exercise aims to show the Grasshopper’s capabilities in form-finding studies via Field Lines. The […]
This paper investigates the integration of robotic fabrication into first-year undergraduate design education, particularly in a basic design studio. Traditionally, robotic technologies are not introduced at this level due to perceived skill gaps among novice students. The study demonstrates the potential and strategies for incorporating robotic arms into early design education through an experiment conducted at Istanbul Bilgi University. The experiment involved 32 students from various design disciplines, divided into […]
While digging through the lecture archive, I found this video I made in 2017. We introduce Platonic solids and Archimedean solids in the Design Geometry course at Istanbul Bilgi University. This video shows how we can create an Archimedean solid, the Truncated Tetrahedron, by folding it from a flat sheet.While doing this, I intersected the spheres by using the relations between the side lengths of the solid, and I calculated […]
We continue with the Grasshopper for Beginners series by explaining Rhino+Gh workflow principles. What does GH add to Rhino‘s standard drawing and modeling functions? To put the question differently, what does GH do that conventional modeling programs, such as Rhino, can’t? What is the difference and relationship between Rhino+Gh? Let’s take an example to answer these questions. Our example is about parametrically describing a surface model and deriving its alternatives. […]
This is the continuation of the physical prototyping project of a folding pattern from 9 years ago. I simulate the folding pattern using the Rhino Grasshopper Kangaroo. As seen in the video, this is possible thanks to the pre-set hinge positions on the Rhino model. Thus, the folding motion can be animated on the screen. You can download and try the Grasshopper code. I often use this code in my […]
Let’s continue the Grasshopper for Beginners series. We start with the traditional “Hello World!” displayed on the Rhino screen: Placing the Components In most CAD programs, the text creation function, which is the equivalent of the Text command, is performed by a component called Text Tag (Tag) in GH. The Text Tag (Tag) component is in the Dimension panel under the Display tab. If you’re not comfortable with tabs and […]