NURBS

From Bennet

Jump to: navigation, search

There is a severe lack of NURBS tools in the free software domain. To better help developers implement a good NURBS library, this page will serve as a link page to the various free implementations available.

Contents

[edit] Terminology

Effort to create consistent terminology that agrees with mathematics

Attach - Select two splines and attach. The two splines are now one spline object, consisting of two segments. If the spline ends are not touching, this modifier should not work. This modifier should not reshape the original splines.

Detach - Select one EP and detach. The spline will be broken into two segments, but still is one spline object.

Connect - Select a group, a, of EPs'. Then select a point, b. This modifier will create a new spline between all the points in group, a to the point, b. The points in group a should not share the same space as the point, b.

Cut - Create two separate splines that overlap each other and cut. When the two splines intersect, they will be divided apart at the location.

Trim

Gordon - Construct a surface interpolating the given curves

Project

Union

Substract

Difference

Intersect

Sculpt

Revolve

Loft - Surface created between two or more curves.

Knot Insert - Inserting a knot into a curve adds another Curve Point (CP). Place another CP anywhere on the curve. Now the curve has a few extra CPs. Add/subtract knots to the curve while still keeping the relative shape. Change the Number of Spans

Interrogate

Rebuild - This is a simplify function. It will remove edit points that are not needed to represent the shape of the spline.

T-Junction

Extrude

Planar?

Revert - Reverse the direction of the curve

Bevel

Offset

Birail 2 and 3+

Fillet - Select two adjoining curves (the edges are touching but not connected), adjust radius and fillet. This will create an unattached curve that fillets the corner nicely.

Cap - Create surface from a closed curve

Boundary - Surface from 4 touching curves?

Arc - Two and three point circular arc

Snap - Grid, Spline, Point, View Planes, Mid Point

CV Spline Tool - Uses Control Vertices to create the curve. Four CVs equals one curve. Create tool for creating quick flowing organic curves.

EP Spline Tool - Uses Edit Points to create the curve. Two EPs equals one curve but if you keep clicking with this tool in use, the curve will change according the distance between EPs.

Pencil Spline Tool - Draw a free hand spline with this tool

[edit] Libraries

Existing NURBS libraries:

libnurbs INACTIVE C

jgeom INACTIVE JAVA

libnurbana INACTIVE

CGAL ACTIVE

NURBS Toolbox

[edit] Applications

Applications supporting rudimentary NURBS support:

Blender ACTIVE

Varkon ACTIVE

Dragon INACTIVE

Fluxus ACTIVE

BRL-CAD ACTIVE

Nurbana INACTIVE

Ayam VERY ACTIVE NURBS development

Innovation3d INACTIVE

K-3D VERY ACTIVE NURBS development

Wildcat CAD INACTIVE

QCad UNSURE - Free version of this software has rudimentary NURBS in R2

[edit] Developers

Developers with NURBS experience:

Martin Schuersh, mschuerch@datacomm.ch, Hacking on libnurbs

Alejandro Frangi, alex@isi.uu.nl, Contributed closed curves and closed surface support in libnurbs.

Philippe Lavoie, philosophil@users.sourceforge.net, Maintainer of libnurbs

David Forsey Developer of Dragon. Cannot find his email

Samuel Gerber, suppechasper@dev.java.net, jgeom Developer; Not planning any NURBS development in the near future (20061215)

Emmanuel Stone, email?, Made a NURBS library called libnurbana from Nurbana and made Blender use it.

Justin Shumaker, email?, Developer of Nurbana.

Randolf Schultz, rschultz@informatik.uni-rostock.de, Developer of Ayam

Stephen Swaney, sswaney@swbell.net, Added NURBS curves iterators to Blender

Jon Anderson, janders@users.sourceforge.net, Developer of Innovation3d

Fernando Serboncini, fserb@fserb.com.br, Looking to create a NURBS surface module in Blender

Francesco Tamagni, email?, Looking to implement a clean NURBS interface in Blender

[edit] Tutorial

A NURBS Summary Markus Altmann

NURBS Curves: A Guide for the Uninitiated Philip J. Schneider, pjs@apple.com

[edit] Letter

We need to draft a letter to send to these developers and ask them about their plans for NURBS development.

We may also try to raise a fund to hire a developer.

We should maybe make a special page for free software NURBS development.

If a developer is not interested in developing, maybe he can join the mailinglist and help other developers.

It would also be nice if the maintainers of the different inactive NURBS libraries and applications could link to the NURBS page.


Dear Sir

There is currently very primitive support for NURBS in the free
software world. You have previously worked on implementing NURBS. Do
you have any further plans to work on free NURBS libraries or 
applications?. 

Thank you for your time. 

Personal tools