NonUniform B-Spline (NURBS) is a method to describe parametric curves/surfece. TYpically used as base poriniteves in CAD modelling.
Questions tagged [nurbs]
18 questions
10
votes
1 answer
Non-uniform rational B-spline (NURBS) Basics
I'm trying to understand NURBS curves (surfaces later!) but I have some trouble understanding the very basics of its inner workings. Could someone please explain a few things to me? As I come from Bezier curves, a comparison between these two would…
Ecir Hana
- 1,459
- 11
- 20
9
votes
1 answer
Splitting of NURBS curves
Splitting Bezier curve into two parts at some parameter t is easy thanks to De Casteljau's algorithm.
Is there a similar algorithm for NURBS curves? How to split a NURBS curve?
Ecir Hana
- 1,459
- 11
- 20
8
votes
1 answer
NURBS knot multiplicity
In Splitting of NURBS curves there the answer relied on "maximum knot multiplicity". In order not to mix-up different topics I would like to kindly ask to answer it in another question: what is this "knot multiplicity" all about?
Ecir Hana
- 1,459
- 11
- 20
8
votes
1 answer
NURBS topology classification
In what sense is it true that a NURBS surface can only have the topology of a plane, cylinder or torus?
For example I can do a NURBS sphere.
Is the sphere homeomorphic to one of the above surfaces?
Valerio
- 443
- 2
- 5
7
votes
1 answer
NURBS curve drawing
How to draw a NURBS curve?
Compared with Bezier curve, I just evaluate the Bernstein polynomial, multiply it with control point positions and that's it.
Looking at the "General form of a NURBS curve" paragraph of NURBS Wikipedia page I have a hard…
Ecir Hana
- 1,459
- 11
- 20
6
votes
1 answer
How to sample 3D points to visualize a B-spline surface?
Given that I have implemented a function called calc_bspline_surf() in C, and that function has the following declaration:
calc_bspline_surf(ctrlnet, p, q, U, V, u, v)
/*
ctrlnet --> control net of B-spline surface
p, q --> degree of B-spline…
xyz
- 161
- 4
6
votes
1 answer
NURBS curve offset
One of the benefits of NURBS curve over, say Bezier curve, is the ability to create offset curves exactly. How to proceed with such computation? Do I just translate the control points?
Ecir Hana
- 1,459
- 11
- 20
5
votes
1 answer
How do CAD programs render non-polygonal 3D objects?
How CAD programs handle displaying B-Reps and NURBS/T-Splines in their viewports? Assuming viewport uses OpenGL API - are those programs transform every object into triangles and creating/deleting vertex/index buffers when needed?
pmakal
- 53
- 3
4
votes
0 answers
Making surface with common parametrization from bunch of other surfaces
I have bunch of surfaces, like in these two images:
Currently to make single surface with common parametrization I sample points uniformly from all source surfaces, and fit single NURBS surface from these points. And in most cases it works, but in…
Ibraim Ganiev
- 393
- 1
- 5
3
votes
1 answer
drawing NURBS: knots, multiplicity, divide by zero?
I'm trying to grasp how NURBS curves work. I think I understand the principle, but I'm unsure about the formula. Here, I base myself on this course.
From a DXF file, I got the following parameters:
knots (7): [0,0,0,0.5,1,1,1]
degree: 2
closed:…
tgirod
- 131
- 4
3
votes
1 answer
Normalize NURBS knot vector
I have NURBS surface data. I have a list of control points, knot vectors in U and V params and the degree. The U knot vector lies in range -3.14 to 3.14 and the knot V vector lies in range -100 to 100. How can I normalize this data so that both knot…
Vaibhav
- 33
- 4
3
votes
1 answer
Determining Rational Quadratic Bezier Curve Weights for Circle
I am trying to create a spherical interpolation with 3 points. I'm currently using Quadratic Bezier Interpolation but have been told I should use Rational Quadratic Bezier Curve in order to get a perfectly circular curve. I have tried implementing…
Dr. Pontchartrain
- 155
- 4
2
votes
0 answers
Projecting a point on a Freefrom surface
My first issue is getting a set of planes and a set of points as input, an find the projection of the those points on the nearest plane.
That was pretty easy, where i just calculate the normal of the plan and do some linear algebra to find the best…
Mohbenay
- 131
- 2
2
votes
1 answer
Sweeping cross section along nurbs curve
I have a nurb/b-spline curve in 2d, and I want to sweep a cross section along it.
Here is the curve and resulting "tube" (green points are control points):
However, as you can see, the resulting "tube" becomes thinner where the curve curves. So…
lijas
- 123
- 2
1
vote
1 answer
B spline curve generation in Python
I am using the de boors algorithm to generate B splines in python. However I am getting spikes in the final figure. I do not understand why this happens. I am posting my code here for reference
def knot_values(n,k):
t = np.zeros((1,n+k+1))
…
Jose Kurian
- 13
- 5