# BezierCurve class

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[Serializable]
public class BezierCurve : IDisposable, ISerializable
```

Represents a Bezier curve.

Note: as an exception, the bezier curve is not derived from [Curve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.curve.md).

## Constructors

- [BezierCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/ctor.md): (4 overloads) Create bezier curve with controls defined by a list of 2d points

## Finalizer

- [~BezierCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/finalize.md): Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

## Properties

- [ControlVertexCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/controlvertexcount.md): Number of control vertices in this curve
- [Dimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/dimension.md): Dimension of Bezier
- [IsRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/isrational.md): Gets a value indicating whether or not the curve is rational. Rational curves have control-points with custom weights.
- [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/isvalid.md): Tests an object to see if it is valid.

## Methods

- [ChangeDimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/changedimension.md): Change dimension of bezier.
- [CreateBeziers](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/createbeziers.md): (static) Create an array of Bezier curves that fit to an existing curve. Please note, these Beziers can be of any order and may be rational.
- [CreateCubicBeziers](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/createcubicbeziers.md): (static) Constructs an array of cubic, non-rational Beziers that fit a curve to a tolerance.
- [CreateLoftedBezier](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/createloftedbezier.md): (2 overloads, static) Loft a bezier through a list of points
- [CurvatureAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/curvatureat.md): Evaluate the curvature vector at a curve parameter.
- [Derivative](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/derivative.md)
- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/dispose.md): (2 overloads) Actively reclaims unmanaged resources that this instance uses.
- [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/getboundingbox.md): Bounding box solver. Gets the world axis aligned bounding box for the curve.
- [GetControlVertex2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/getcontrolvertex2d.md): Get location of a control vertex.
- [GetControlVertex3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/getcontrolvertex3d.md): Gets the 3D location of a control vertex at the specified index.
- [GetControlVertex4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/getcontrolvertex4d.md): Gets the homogeneous (4D) value of a control vertex at the specified index.
- [GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/getobjectdata.md): Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
- [IncreaseDegree](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/increasedegree.md): Increase degree of bezier
- [MakeNonRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/makenonrational.md): Make bezier non-rational
- [MakeRational](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/makerational.md): Make bezier rational
- [PointAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/pointat.md): Evaluates point at a curve parameter.
- [Split](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/split.md): Divides the Bezier curve at the specified parameter.
- [TangentAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/tangentat.md): Evaluates the unit tangent vector at a curve parameter.
- [ToNurbsCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.beziercurve/tonurbscurve.md): Constructs a NURBS curve representation of this curve.
