Click or drag to resize

Circle Structure

Represents a circle in 3D.

The values used are a radius and an orthonormal frame of the plane containing the circle, with origin at the center.

The circle is parameterized by radians from 0 to 2 Pi given by

t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis

where center, xaxis and yaxis define the orthonormal frame of the circle plane.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]
public struct Circle : IEpsilonComparable<Circle>, 
	ICloneable

The Circle type exposes the following members.

Constructors
  NameDescription
Public methodCircle(Arc)
Initializes a circle from an arc.
Public methodCircle(Double)
Initializes a circle with center (0,0,0) in the world XY plane.
Public methodCode exampleCircle(Plane, Double)
Initializes a circle on a plane with a given radius.
Public methodCode exampleCircle(Point3d, Double)
Initializes a circle parallel to the world XY plane with given center and radius.
Public methodCircle(Plane, Point3d, Double)
Initializes a circle parallel to a given plane with given center and radius.
Public methodCircle(Point3d, Point3d, Point3d)
Initializes a circle through three 3d points.
Public methodCircle(Point3d, Vector3d, Point3d)
Initializes a circle from two 3d points and a tangent at the first point. The start/end of the circle is at point "startPoint".
Top
Properties
  NameDescription
Public propertyBoundingBox
Gets the circle's 3d axis aligned bounding box.
Public propertyCenter
Gets or sets the center point of this circle.
Public propertyCircumference
Gets or sets the circumference of this circle.
Public propertyDiameter
Gets or sets the diameter (radius * 2.0) of this circle. Diameters should be positive values.
Public propertyIsValid
A valid circle has radius larger than 0.0 and a base plane which is must also be valid.
Public propertyNormal
Gets the normal vector for this circle.
Public propertyPlane
Gets or sets the plane of the circle.
Public propertyRadius
Gets or sets the radius of this circle. Radii should be positive values.
Public propertyStatic memberUnset
Gets a circle with Unset components.
Top
Methods
  NameDescription
Public methodClosestParameter
Gets the parameter on the circle which is closest to a test point.
Public methodClosestPoint
Gets the point on the circle which is closest to a test point.
Public methodDerivativeAt
Determines the value of the Nth derivative at a parameter.
Public methodEpsilonEquals
Check that all values in other are within epsilon of the values in this
Public methodEquals
Indicates whether this instance and a specified object are equal.
(Inherited from ValueType.)
Public methodGetHashCode
Returns the hash code for this instance.
(Inherited from ValueType.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsInPlane
Evaluates whether or not this circle is co-planar with a given plane.
Public methodPointAt
Circles use trigonometric parameterization: t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis.
Public methodReverse
Reverse the orientation of the circle. Changes the domain from [a,b] to [-b,-a].
Public methodRotate(Double, Vector3d)
Rotates the circle through a given angle.
Public methodRotate(Double, Vector3d, Point3d)
Rotates the circle through a given angle.
Public methodRotate(Double, Double, Vector3d)
Rotates the circle around an axis that starts at the base plane origin.
Public methodRotate(Double, Double, Vector3d, Point3d)
Rotates the circle around an axis that starts at the provided point.
Public methodTangentAt
Circles use trigonometric parameterization: t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis.
Public methodToNurbsCurve
Constructs a nurbs curve representation of this circle. This amounts to the same as calling NurbsCurve.CreateFromCircle().
Public methodToNurbsCurve(Int32, Int32)
Create a uniform non-rational cubic NURBS approximation of a circle.
Public methodToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Public methodTransform
Transforms this circle using an transformation matrix.
Public methodTranslate
Moves the circle.
Public methodStatic memberTryFitCircleToPoints
Attempt to fit a circle through a set of points.
Public methodStatic memberTryFitCircleTT
Try to fit a circle to two curves using tangent relationships.
Public methodStatic memberTryFitCircleTTT
Try to fit a circle to three curves using tangent relationships.
Public methodStatic memberTrySmallestEnclosingCircle
Attempt to create the smallest circle enclosing a set of planar points.
Top
Remarks
>An IsValid circle has positive radius and an IsValid plane defining the frame.
See Also