Today’s curve is the beautiful Bezier curve. A series of linear interpolations between the coordinates of control points describe a Bezier curve. So, I created a simple tool in Grasshopper called Bezier Function Extractor to experiment with this elegant construction. In the linear form (degree 1) the linear interpolation between 2 points (P1 and P2). The point at parameter t (0<= t <= 1); Q = tP1 + (1-t)P2. In […]
Posts with the keyword curve
The parametric curve equations are good examples to demonstrate the bridge between computer-aided design and mathematics. Although useless and pointless, it is a good exercise to extract the curve equations. In this Rhino Python code, I present a generalized equation extractor for Rhino. Rhino curves are good examples de Casteljau and Bézier curves. You can see the mathematical underpinnings of Rhino curves with this exercise: This code asks the user […]
Below is the Python code you can run in Rhino, that draws a cubic Bézier curve (degree 3). As you can see, the Rhino Python code is very slow and inefficient because we calculate every point with lots of computations. Instead, we can use the spline formulae to make this quicker but I wanted to show that the mathematical construction is parallel to the geometric one. This is a nested […]
Here is a test of the optical flow component of Firefly. You can check the Firefly add-on to Grasshopper here. As an ongoing research project, I’ve been searching for a suitable platform to study responsive geometric patterns. This initial study focuses on one particular effect of Firefly, the optical flow that outputs the direction vectors on a given webcam input. I developed traces of it by joining endpoints of these […]
Currently, Rhinoceros does not offer the capability for an aligned text onto a curve, to the best of my knowledge. However, Grasshopper, with its latest version, provides a solution for such tasks by offering a range of text components. For my current project, I am studying an installation. It incorporates various typographic effects, and Grasshopper has become an invaluable tool in this regard. Nevertheless, it is important to note that […]
This is a simple trick that shows the utilization of the “surface split” component in Grasshopper. It is used for detecting the inner regions of any given two-dimensional linework. Thus, it resembles the hatch boundary detection of AutoCAD and similar software. There is no built-in hatch component in Grasshopper. But maybe you can use this as a starting point if you want to develop it. The definition starts with drawing […]
Today’s tip is about two-dimensional curve-point calculations. It is very handy to use “closest point” components in Grasshopper. You can calculate distances and directions between curves, surfaces, and points. Then, place point objects in relation to the proximity of another object. However, there is no “farthest point” implemented yet. I tried to calculate the farthest point from a curve. First, I tried to translate the curve in a fashion that […]
This is another brave group of students. They studied one of the most interesting materials in this year’s Basic Design studio. They tested the structural capacities and nearly all possibilities of thin Bamboo sticks. Unfortunately, they lost most of the prototypes, and one of them was a beautiful structural tripod. In the final assembly, they managed to span the required distance by attaching bamboo sticks using plastic fasteners. Below are […]
Today, there are pedagogical and practical challenges on the use of algorithms in architectural design, as computer puts not only a physical but also a cognitive layer between designer and the subject. Formulation of this cognitive layer is becoming important, regarding which model of computing is used to connect designer with the subject. Is it a “designerly” search, or design exploration in a visual programming environment? As most of the researchers admit […]
Today, we’ve studied fundamentals of component-based design methods. Using curves and surfaces as starting points, we’ve experienced ways of translating those entities via design criteria based on our purposes. First, a curve is used to construct a leaf structure. We’ve experienced dispatching data lists and combining them back together. Subdividing curves into points created further entities such as vectors and planes. We used those entities as inputs of regular drawing […]
Today, we’ve discussed ways of subdividing entities to create parametric definitions. Curves can be divided into segments, creating snake-like object definitions. This exercise is important regarding the management of data. Vectors and planes are used as reference entities here. Nowadays, it became clear to me that, reference planes are very important because they both include reference points and related vectors as well. The definition studied in this post includes a curve […]