designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

#bezier-curve

10 posts

Calculating a Guitar’s Surface Area with Bézier Curves

August 27, 2024

Below is the first paper of my son, Mete Yazar. It is about a mathematical and geometric exercise of calculating the surface area of an arbitrary shape (a classical guitar’s body panel). He did a good job in utilizing Bezier/de Casteljau curves and generating the parametric equations of the piecewise curve. I helped him to validate the results by using rhinoceros CAD software. Therefore, it seems that his calculations are correct. In this paper, we attempted to calculate a guitar’s…

B-Spline Decomposition

February 6, 2024

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 placing control points, dividing segments, and connecting points in a…

Parametric point on a Bezier curve

February 1, 2024

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 0 and 1. I will divide the segments, so I…

B-Spline Construction

January 25, 2024

I have been studying the Bezier-De Casteljau algorithm for several years. Last week, I finally managed to understand and implement B-Spline Construction in Rhino and Grasshopper Python code, using the Cox-De Boor algorithm. This algorithm calculates the effect of control points on a B-Spline with many control points. After this, I am not limited to the degree+1 control points. This animation shows both algorithms working together. This Rhino Python code in a Grasshopper definition can handle three tasks. The first…

Bezier Function Extractor

December 26, 2023

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 the second degree, we need three points (P1, P2, and…

Compass only Construction of Bézier Curves

September 2, 2021

This is a new paper published in Nexus Network Journal. I tried to implement euclidean constructions by compass in the approximation of famous parametric curves; Bézier curves, and B-Splines. Then, I created the algorithms to calculate the number of steps on a compass-only construction of Bézier curves. I developed a simple Python script to simulate the geometric constructions. However, I have been studying this topic for nearly four years. In the future, I wish that it would be a good…

Drawing a Basis Spline with Cubic Bézier Spans

May 1, 2018

I realized this method of constructing basis splines from given control points while searching for a way to teach students about basis splines. I couldn’t find an easy and visual method to create clamped basis splines by connecting simple cubic Bézier spans. It is a tough job and requires lots of complex equations. However, I suddenly realized that there is a special way of doing that. So I decided to share this with the people searching for an easy way…

Cubic Bézier Curve with Rhino Python

April 30, 2018

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 set of linear interpolations. In fact, the linterp function in…

Common-action Gardens #2

January 8, 2018

It has been nearly 2 years since we designed and produced this garden. Similar to the first version, Common-action Gardens #2 is injected in formal park layouts. We build it for recreation as garden structures with an aim to support the “preserve, sustain, and share” idea. Thus, we expect to bring people together while producing. These gardens organize sustainable models for communal living by integrating raised beds, planting holes, water bowls, compost holes, seedboxes, tool pots, niches for animals, and…

The Flow Earring

January 9, 2012

I developed this code 13 years ago while learning the fundamentals of Visual Programming in Grasshopper. I was studying the ways of NURBS curve geometry. The animation shows the construction process of several Bezier Curves. In 2024, I optimized the code and added the thickness. The Flow Earring project showcases the beauty of parametric curves. The Grasshopper definition displays the animated construction process and the variations. The flow of the curve and its variations still look fascinating, reminding me of…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #kuka-prc
    • #regulations
    • #bezier-curve
    • #buckminster-fuller
    • #hexagon
    • #animation
    • #graph-mapper
    • #timer
    • #sphere
    • #frege
    • #fourier
    • #cycloid
    • #permaculture
    • #deleuze
    • #escher
    • #hyperbolic
    • #optimization
    • #terrain
    • #cuboctahedron
    • #enneahedron
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement