Circle
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
Name
Description
Public Method
Circle(Arc)
Initializes a circle from an arc.
Public Method
Circle(Double)
Initializes a circle with center (0,0,0) in the world XY plane.
Public Method
Code Example
Circle(Plane, Double)
Initializes a circle on a plane with a given radius.
Public Method
Code Example
Circle(Point3d, Double)
Initializes a circle parallel to the world XY plane with given center and radius.
Public Method
Circle(Plane, Point3d, Double)
Initializes a circle parallel to a given plane with given center and radius.
Public Method
Circle(Point3d, Point3d, Point3d)
Initializes a circle through three 3d points.
Public Method
Circle(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”.
Properties
Name
Description
Public Property
BoundingBox
Gets the circle’s 3d axis aligned bounding box.
Public Property
Center
Gets or sets the center point of this circle.
Public Property
Circumference
Gets or sets the circumference of this circle.
Public Property
Diameter
Gets or sets the diameter (radius * 2.0) of this circle. Diameters should be positive values.
Public Property
IsValid
A valid circle has radius larger than 0.0 and a base plane which is must also be valid.
Public Property
Normal
Gets the normal vector for this circle.
Public Property
Plane
Gets or sets the plane of the circle.
Public Property
Radius
Gets or sets the radius of this circle. Radii should be positive values.
Public Property
Static Member
Unset
Gets a circle with Unset components.
Methods
Name
Description
Public Method
ClosestParameter
Gets the parameter on the circle which is closest to a test point.
Public Method
ClosestPoint
Gets the point on the circle which is closest to a test point.
Public Method
DerivativeAt
Determines the value of the Nth derivative at a parameter.
Public Method
EpsilonEquals
Check that all values in other are within epsilon of the values in this
Public Method
Equals
Indicates whether this instance and a specified object are equal.
(Inherited from ValueType.)
Public Method
GetHashCode
Returns the hash code for this instance.
(Inherited from ValueType.)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
IsInPlane
Evaluates whether or not this circle is co-planar with a given plane.
Public Method
PointAt
Circles use trigonometric parameterization: t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis.
Public Method
Reverse
Reverse the orientation of the circle. Changes the domain from [a,b] to [-b,-a].
Public Method
Rotate(Double, Vector3d)
Rotates the circle through a given angle.
Public Method
Rotate(Double, Vector3d, Point3d)
Rotates the circle through a given angle.
Public Method
Rotate(Double, Double, Vector3d)
Rotates the circle around an axis that starts at the base plane origin.
Public Method
Rotate(Double, Double, Vector3d, Point3d)
Rotates the circle around an axis that starts at the provided point.
Public Method
TangentAt
Circles use trigonometric parameterization: t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis.
Public Method
ToNurbsCurve.
Constructs a nurbs curve representation of this circle. This amounts to the same as calling NurbsCurve.CreateFromCircle().
Public Method
ToNurbsCurve(Int32, Int32)
Create a uniform non-rational cubic NURBS approximation of a circle.
Public Method
ToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Public Method
Transform
Transforms this circle using an transformation matrix.
Public Method
Translate
Moves the circle.
Public Method
Static Member
TryFitCircleToPoints
Attempt to fit a circle through a set of points.
Public Method
Static Member
TryFitCircleTT
Try to fit a circle to two curves using tangent relationships.
Public Method
Static Member
TryFitCircleTTT
Try to fit a circle to three curves using tangent relationships.
Public Method
Static Member
TrySmallestEnclosingCircle
Attempt to create the smallest circle enclosing a set of planar points.
Remarks
\>An IsValid circle has positive radius and an IsValid plane defining the frame.