Class JXG.Circle
JXG.GeometryElement
↳ JXG.Circle
Creates a new circle object. Do not use this constructor to create a circle. Use JXG.Board#create with
type Circle instead.
Defined in: circle.js.
Extends
JXG.GeometryElement.
Constructor Attributes  Constructor Name and Description 

JXG.Circle(board, method, par1, par2, attributes)
A circle consists of all points with a given distance from one point.

 Fields borrowed from class JXG.GeometryElement:
 _org_type, _pos, ancestors, baseElement, board, childElements, dash, descendants, draft, dump, elementClass, elType, fillColor, fillOpacity, fixed, frozen, hasLabel, highlight, highlighted, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, id, inherits, isDraggable, isReal, lastDragTime, methodMap, mouseover, name, needsRegularUpdate, needsUpdate, notExistingParents, numTraces, parents, quadraticform, rendNode, scalable, shadow, snapToGrid, stdform, strokeColor, strokeOpacity, strokeWidth, subs, symbolic, trace, traceAttributes, traces, transformations, transitionDuration, type, visible, visProp, visPropCalc, withLabel
Field Attributes  Field Name and Description 

The circles center.


Circle defining the radius of the circle given by the radius of the other circle
only set if method equals 'pointLine'.


Line defining the radius of the circle given by the distance from the startpoint and the endpoint of the line
only set if method equals 'pointLine'.


Stores the given method.


Point on the circle only set if method equals 'twoPoints'.


Radius of the circle
only set if method equals 'pointRadius'

 Fields borrowed from class JXG.GeometryElement:
 _org_type, _pos, ancestors, baseElement, board, childElements, dash, descendants, draft, dump, elementClass, elType, fillColor, fillOpacity, fixed, frozen, hasLabel, highlight, highlighted, highlightFillColor, highlightFillOpacity, highlightStrokeColor, highlightStrokeOpacity, highlightStrokeWidth, id, inherits, isDraggable, isReal, lastDragTime, methodMap, mouseover, name, needsRegularUpdate, needsUpdate, notExistingParents, numTraces, parents, quadraticform, rendNode, scalable, shadow, snapToGrid, stdform, strokeColor, strokeOpacity, strokeWidth, subs, symbolic, trace, traceAttributes, traces, transformations, transitionDuration, type, visible, visProp, visPropCalc, withLabel
Method Attributes  Method Name and Description 

addTransform(transform)
Add transformations to this circle.


Area()
Circle area


bounds()
Get bounding box of the circle.


<private> 
Used to generate a polynomial for a point p that lies on this circle.

<private> 
Generate symbolic radius calculation for loci determination with GroebnerBasis algorithm.

Get data to construct this element.


Use JXG.Circle#Radius.


<private> 
hasPoint(x, y)
Checks whether (x,y) is near the circle line or inside of the ellipse
(in case JXG.Options.conic#hasInnerPoints is true).

<private> 
maxX()
Returns 1.

<private> 
minX()
Returns 0.

<private> 
notifyParents(contentStr)
Finds dependencies in a given term and resolves them by adding the elements referenced in this
string to the circle's list of ancestors.

Radius(value)
Calculates the radius of the circle.


setRadius(r)
Set a new radius, then update the board.


update()
Uses the boards renderer to update the circle.


<private> 
Updates this circle's JXG.Circle#quadraticform.

<private> 
Uses the boards renderer to update the circle.

<private> 
Updates the stdform derived from the position of the center and the circle's radius.

X(t)
Treats the circle as parametric curve and calculates its X coordinate.


Y(t)
Treats the circle as parametric curve and calculates its Y coordinate.


Z(t)
Treat the circle as parametric curve and calculates its Z coordinate.

 Methods borrowed from class JXG.GeometryElement:
 _set, addChild, addDescendants, addParents, addRotation, animate, clearTrace, cloneToBackground, countChildren, createGradient, createLabel, draggable, fullUpdate, getAttribute, getAttributes, getLabelAnchor, getName, getProperty, getTextAnchor, getType, handleSnapToGrid, hideElement, labelColor, noHighlight, normalize, prepareUpdate, remove, removeChild, removeDescendants, resolveShortcuts, setArrow, setAttribute, setDash, setDisplayRendNode, setLabel, setLabelText, setName, setParents, setPosition, setPositionDirectly, setProperty, showElement, snapToPoints, updateVisibility
 Events borrowed from class JXG.GeometryElement:
 attribute, attribute:<attribute><attribute>, down, drag, mousedown, mousedrag, mousemove, mouseout, mouseover, mouseup, move, out, over, touchdown, touchdrag, touchup, up
Class Detail
JXG.Circle(board, method, par1, par2, attributes)
A circle consists of all points with a given distance from one point. This point is called center, the distance is called radius.
A circle can be constructed by providing a center and a point on the circle or a center and a radius (given as a number, function,
line, or circle).
 Parameters:
 {JXG.Board} board
 The board the new circle is drawn on.
 {String} method
 Can be
 'twoPoints' which means the circle is defined by its center and a point on the circle.
 'pointRadius' which means the circle is defined by its center and its radius in user units
 'pointLine' which means the circle is defined by its center and its radius given by the distance from the startpoint and the endpoint of the line
 'pointCircle' which means the circle is defined by its center and its radius given by the radius of another circle
 {JXG.Point} par1
 center of the circle.
 {JXG.PointJXG.LineJXG.Circle} par2
 Can be
 a point on the circle if method is 'twoPoints'
 a line if the method is 'pointLine'
 a circle if the method is 'pointCircle'
 {Object} attributes
Field Detail
{JXG.Point}
center
The circles center. Do not set this parameter directly as it will break JSXGraph's update system.
{JXG.Circle}
circle
Circle defining the radius of the circle given by the radius of the other circle
only set if method equals 'pointLine'. Do not set this parameter directly as it will break JSXGraph's update system.
 See:
 #method
 Default Value:
 null
{JXG.Line}
line
Line defining the radius of the circle given by the distance from the startpoint and the endpoint of the line
only set if method equals 'pointLine'. Do not set this parameter directly as it will break JSXGraph's update system.
 See:
 #method
 Default Value:
 null
{string}
method
Stores the given method.
Can be
 'twoPoints' which means the circle is defined by its center and a point on the circle.
 'pointRadius' which means the circle is defined by its center and its radius given in user units or as term.
 'pointLine' which means the circle is defined by its center and its radius given by the distance from the startpoint and the endpoint of the line.
 'pointCircle' which means the circle is defined by its center and its radius given by the radius of another circle.
 See:
 #center
 #point2
 #radius
 #line
 #circle
{JXG.Point}
point2
Point on the circle only set if method equals 'twoPoints'. Do not set this parameter directly as it will break JSXGraph's update system.
 See:
 #method
{Number}
radius
Radius of the circle
only set if method equals 'pointRadius'
 See:
 #method
 Default Value:
 null
Method Detail
{JXG.Circle}
addTransform(transform)
Add transformations to this circle.
 Parameters:
 {JXG.TransformationArray} transform
 Either one JXG.Transformation or an array of JXG.Transformations.
 Returns:
 {JXG.Circle} Reference to this circle object.
{Number}
Area()
Circle area
 Returns:
 {Number} area of the circle.
{Array}
bounds()
Get bounding box of the circle.
 Returns:
 {Array} [x1, y1, x2, y2]
<private>
{Array}
generatePolynomial(p)
Used to generate a polynomial for a point p that lies on this circle.
 Parameters:
 {JXG.Point} p
 The point for which the polynomial is generated.
 Returns:
 {Array} An array containing the generated polynomial.
<private>
{String}
generateRadiusSquared()
Generate symbolic radius calculation for loci determination with GroebnerBasis algorithm.
 Returns:
 {String} String containing symbolic calculation of the circle's radius or an empty string if the radius can't be expressed in a polynomial equation.
{Array}
getParents()
Get data to construct this element. Data consists of the parent elements
and static data like radius.
 Returns:
 {Array} data necessary to construct this element
getRadius()
Use JXG.Circle#Radius.
<private>
{Boolean}
hasPoint(x, y)
Checks whether (x,y) is near the circle line or inside of the ellipse
(in case JXG.Options.conic#hasInnerPoints is true).
 Parameters:
 {Number} x
 Coordinate in x direction, screen coordinates.
 {Number} y
 Coordinate in y direction, screen coordinates.
 Returns:
 {Boolean} True if (x,y) is near the circle, False otherwise.
<private>
maxX()
Returns 1.
<private>
minX()
Returns 0.
<private>
notifyParents(contentStr)
Finds dependencies in a given term and resolves them by adding the elements referenced in this
string to the circle's list of ancestors.
 Parameters:
 {String} contentStr
{Number}
Radius(value)
Calculates the radius of the circle.
 Parameters:
 {StringNumberfunction} value Optional
 Set new radius
 Returns:
 {Number} The radius of the circle
{JXG.Circle}
setRadius(r)
Set a new radius, then update the board.
 Parameters:
 {StringNumberfunction} r
 A string, function or number describing the new radius.
 Returns:
 {JXG.Circle} Reference to this circle
update()
Uses the boards renderer to update the circle.
<private>
updateQuadraticform()
Updates this circle's JXG.Circle#quadraticform.
<private>
updateRenderer()
Uses the boards renderer to update the circle.
<private>
updateStdform()
Updates the stdform derived from the position of the center and the circle's radius.
{Number}
X(t)
Treats the circle as parametric curve and calculates its X coordinate.
 Parameters:
 {Number} t
 Number between 0 and 1.
 Returns:
 {Number} X(t)= radius*cos(t)+centerX.
{Number}
Y(t)
Treats the circle as parametric curve and calculates its Y coordinate.
 Parameters:
 {Number} t
 Number between 0 and 1.
 Returns:
 {Number} X(t)= radius*sin(t)+centerY.
{Number}
Z(t)
Treat the circle as parametric curve and calculates its Z coordinate.
 Parameters:
 {Number} t
 ignored
 Returns:
 {Number} 1.0