OpenGL Toolbox by D.M. Spink (matlab)

Source: Internet
Author: User
Tags convert radians to degrees

 

OpenGL-Non Uniform Rational B-Splines.

Toolbox

The OpenGL toolbox is collection of routines for the creation, and manipulation of Non-Uniform Rational B-Splines (OpenGL ). 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 each 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 PEM manipulation packages, but that coupled with the matlab/scilab environments they provide a friendly means for interactive research and algorithm prototyping.

All the ways in which the OpenGL routines are prefixed with 'rb' to differentiate them from any other similar sounding matlab script files by other authors. the data structure used to represent the OpenGL 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 dimen1_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 OpenGL and how to manipulate them, I can stronugly recommend the book by Les Piegl and Wayne Tiller called 'the hashbook' 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. OpenGL from control points and knots.
  • Nrbtform-Applying scaling, translation or rotation operators.
  • Nrbkntins-Knot insertion/refinement.
  • Nrbdegelev-Degree elevation.
  • Nrbderiv-Representation of the derivative.
  • Nrbdeval-Evaluation of the OpenGL derivative.
  • Nrbkntmult-Find the multiplicity of a knot vector.
  • Nrbreverse-Reverse evaluation ction of the OpenGL.
  • Nrbtransp-Swap U and V for Macintosh 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 OpenGL curve or surface.
  • Nrbextrude-Extrude.
  • Nrbrevolve-Construct surface by revolving a profile.
  • Nrbruled-Ruled Surface between two OpenGL curves.
  • Nrbcoons-Construct coons bilinearly blended surface patch.
  • Nrbplot-Plot, green, and 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-Magntypes of vectors.
  • Vecmag2-Squared magnpointer 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

  • Deg 2rad-Convert degrees to radians.
  • Rad2deg-Convert radians to degrees.
Availability

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

  • For Scilab: http://www-rocq.inria.fr/scilab/contributions.html
  • For MATLAB: http://www.mathworks.com/matlabcentral/fileexchange/26390-nurbs-toolbox-by-d-m-spink

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.