designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

B-Spline Decomposition

February 6, 2024 | Studios
#b-spline #bezier-curve #parametric-curve #rhinoceros #tutorial

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 specific order to reveal the Bezier spans. The tutorial emphasizes maintaining continuity and smoothness between segments through careful construction, ensuring tangency and curvature alignment at connecting points.

Guided by the tutorial, users embark on a systematic method. So, it begins with the identification of knot points along the B-Spline curve using Rhino’s Point command. These knot points serve as pivotal markers, delineating the curve into segments. Each segment represents a Bezier curve with four control points, in line with the degree-3 specification.

Throughout the B-Spline decomposition tutorial, I placed importance on preserving continuity and smoothness between segments. By connecting specific points in a prescribed order and ensuring collinearity and equidistance between certain points, users can seamlessly transition between Bezier curves while upholding essential principles of tangency and curvature continuity. Thus, this systematic methodology equips users with the knowledge and tools needed to effectively decompose complex B-Spline curves into smaller, more manageable Bezier segments, facilitating enhanced control and manipulation of curves within Rhino and other CAD environments.

B-Spline Decomposition b-spline, bezier-curve

Cite this post

Yazar, T. (2024, February 6). B-Spline Decomposition. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/b-spline-deconstruction/

Related Posts

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…

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…

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…

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…

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…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #polyhedra
    • #unrolling
    • #archimedean-solid
    • #platonic-solid
    • #parametric-surface
    • #folding
    • #truncated
    • #relief
    • #icosahedron
    • #buckminster-fuller
    • #grasshopper
    • #icosidodecahedron
    • #dodecahedron
    • #stellated-solid
    • #cuboctahedron
    • #octahedron
    • #tetrahedron
    • #deformation
    • #pattern
    • #tessellation
  • 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