• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

NURBSToolboxbyD.M.Spink(matlab)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

NURBS - Non Uniform Rational B-Splines.

Toolbox

The NURBS toolbox is collection of routines for the creation, and manipulation of Non-Uniform Rational B-Splines (NURBS). NURBS have to some extent become the de facto industry standard for representing complex geometric information in CAD, CAE and CAM, and are an integral part of many standard data exchange formats such as IGES, STEP and PHIGS.

The toolbox is available for either Matlab or Scilab, and contains both script files and c routines to increase the performance. The intention of these toolboxes is not to provide the worlds fastest NURBS manipulation packages, but that coupled with the matlab/scilab environments they provide a friendly means for interactive research and algorithm prototyping.

All the nurbs routines are prefix with 'nrb' to differentiate them from any other similar sounding matlab script files by other authors. The data structure used to represent the NURBS in Matlab is compatible with that used in the Spline Toolbox by C. de Boor and The MathWorks, Inc and can be manipulated as four dimensional univariate or multivariate B-Splines. Both packages also include demonstration scripts that show examples on how to use the toolbox, and also online help is available.

For a detailed explanation of NURBS and how to manipulate them, I can strongly recommend the book by Les Piegl and Wayne Tiller called 'The NURBS Book' ISBN 3-540-61545-8. Please note that the 'C' code algorithms is this library are modified versions of the pseudo-code within the book.

Functions

The functions currently available in the toolbox are:

Main functions

  • nrbmak - Construct a NURBS from control points and knots.
  • nrbtform - Applying scaling, translation or rotation operators.
  • nrbkntins - Knot insertion/refinement.
  • nrbdegelev - Degree elevation.
  • nrbderiv - NURBS representation of the derivative.
  • nrbdeval - Evaluation of the NURBS derivative.
  • nrbkntmult - Find the multiplicity of a knot vector.
  • nrbreverse - Reverse evaluation direction of the NURBS.
  • nrbtransp - Swap U and V for NURBS surface.
  • nrbline - Construct a straight line.
  • nrbcirc - Construct a circular arc.
  • nrbrect - Construct a rectangle.
  • nrb4surf - Surface defined by 4 corner points.
  • nrbeval - Evaluation of NURBS curve or surface.
  • nrbextrude - Extrude a NURBS curve along a vector.
  • nrbrevolve - Construct surface by revolving a profile.
  • nrbruled - Ruled surface between two NURBS curves.
  • nrbcoons - Construct Coons bilinearly blended surface patch.
  • nrbplot - Plot NURBS curve or surface.

Low level functions - c routines

  • bspeval - Evaluate a univariate B-Spline.
  • bspderiv - B-Spline representation of the derivative
  • bspkntins - Insert a knot or knots into a univariate B-Spline.
  • bspdegelev - Degree elevation of a univariate B-Spline.

Vector and Transformation Utilities

  • vecnorm - Normalisation of Vectors.
  • vecmag - Magnitude of Vectors.
  • vecmag2 - Squared Magnitude of the vectors.
  • vecangle - Alternative to atan2 (0 <= angle <= 2*pi).
  • vecdot - Dot product of two vectors.
  • veccross - Cross product of two vectors.
  • vecrotx - Rotation matrix around the x-axis.
  • vecroty - Rotation matrix around the y-axis.
  • vecrotz - Rotation matrix around the z-axis.
  • vecscale - Scaling matrix.
  • vectrans - Translation matrix.

Misc Utilities

  • deg2rad - Convert degrees to radians.
  • rad2deg - Convert radians to degrees.
Availability

The NURBS toolbox is provide free of any charges and has a GPL license. The source code is available for the Linux, Solaris and Windows, however should compile easily on other platforms.

Runar Tenfjord has ported the NURBS toolbox to Python. The module and further details can be found at http://runten.tripod.com/.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap