Castle Game Engine
← Users Developers →
 
Intro
 
News
 
view3dscene
 
The Castle
 
All Programs
 
Forum
 
Donate
 
Engine
 
VRML/X3D
 
Blender
 

bezier_curves (version 1.1.9)

Image from "bezier_curves"

Plot rational Bezier curves and smooth interpolated curves (Bezier curves connected smoothly).

Download bezier_curves:
 Linux<br/>(32 bit)
Linux
(32 bit)
 Linux<br/>(64 bit, x86_64)
Linux
(64 bit, x86_64)
 Windows<br/>(32 bit, works on 64-bit too)
Windows
(32 bit, works on 64-bit too)
 Mac OS X<br/>(32 bit)
Mac OS X
(32 bit)

If you like this software, please consider donating.

No installation is required. Just download and unpack these archives wherever you want, and run the program inside. The documentation (this web page) is also included inside (look in the documentation/ subdirectory) for offline viewing.

This is free/open-source software. Developers can download sources of this program.

Documentation below is in somewhat raw state, sorry.

Controlling with mouse:

Left mouse click
If none curve selected, create new curve with one point (so use backspace to start creating new curve), else add point to selected curve after selected point.
Middle mouse click (or left mouse click with Shift down)
Select closest control point (and select it's curve).
Dragging with right mouse button down
If ctrl is not down, then you move selected point. Else you move whole selected curve.

For a whole lifetime, you can have one selected curve and one selected point on that curve.

On start background is inited from UserOptionsPath + default_bezier_curves_image.jpg, if it exists. UserOptionsPath = (linux, freebsd, macosx) home dir, (windows) exe dir.

Save/Open work using non-standard nodes RationalBezierCurve and SmoothInterpolatedCurve (defined in unit VRMLBezierCurve).

RationalBezierCurve {
  SFFloat tBegin 0.0             # must be tBegin <= tEnd
  SFFloat tEnd 1.0
  MFVec3f controlPoints [0 0 0]  # must always have Length >= 1
  MFFloat weights [1]            # must have Length = controlPoints.Length
}

SmoothInterpolatedCurve {
  SFFloat tBegin 0.0             # must be tBegin <= tEnd
  SFFloat tEnd 1.0
  MFVec3f controlPoints [0 0 0]  # must always have Length >= 1
}

Requirements