Questions tagged [nurbs]

NonUniform B-Spline (NURBS) is a method to describe parametric curves/surfece. TYpically used as base poriniteves in CAD modelling.

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…
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)) …
1
2