Arc

Arc

Class representing a circular arc

Constructor

new Arc(pc, r, startAngle, endAngle, counterClockwise)

Source:
Parameters:
Name Type Description
pc Point arc center
r number arc radius
startAngle number start angle in radians from 0 to 2*PI
endAngle number end angle in radians from 0 to 2*PI
counterClockwise boolean arc direction, true - clockwise, false - counterclockwise

Classes

Arc

Members

box

Get bounding box of the arc
Source:

center

Get center of arc
Source:

counterClockwise :boolean

Arc orientation
Source:
Type:
  • boolean

end

Get end point of arc
Source:

endAngle :number

Arc end angle in radians
Source:
Type:
  • number

length

Get arc length
Source:

pc :Point

Arc center
Source:
Type:

r :number

Arc radius
Source:
Type:
  • number

start

Get start point of arc
Source:

startAngle :number

Arc start angle in radians
Source:
Type:
  • number

sweep

Get sweep angle in radians. Sweep angle is non-negative number from 0 to 2*PI
Source:

Methods

breakToFunctional() → {Array.<Arc>}

Breaks arc in extreme point 0, pi/2, pi, 3*pi/2 and returns array of sub-arcs
Source:
Returns:
Type:
Array.<Arc>

chordHeight() → {number}

Returns chord height ("sagitta") of the arc
Source:
Returns:
Type:
number

clone() → {Arc}

Return new cloned instance of arc
Source:
Returns:
Type:
Arc

contains(pt) → {boolean}

Returns true if arc contains point, false otherwise
Source:
Parameters:
Name Type Description
pt Point point to test
Returns:
Type:
boolean

distanceTo(shape) → {number|Segment}

Calculate distance and shortest segment from arc to shape and return array [distance, shortest segment]
Source:
Parameters:
Name Type Description
shape Shape Shape of the one of supported types Point, Line, Circle, Segment, Arc, Polygon or Planar Set
Returns:
  • Type:
    number
    distance from arc to shape
  • Type:
    Segment
    shortest segment between arc and shape (started at arc, ended at shape)

intersect(shape) → {Array.<Point>}

Returns array of intersection points between arc and other shape
Source:
Parameters:
Name Type Description
shape Shape Shape of the one of supported types
Returns:
Type:
Array.<Point>

middle() → {Point}

Return middle point of the arc
Source:
Returns:
Type:
Point

pointAtLength(length) → {Point}

Get point at given length
Source:
Parameters:
Name Type Description
length number The length along the arc
Returns:
Type:
Point

reverse() → {Arc}

Returns new arc with swapped start and end angles and reversed direction
Source:
Returns:
Type:
Arc

sortPoints(pts) → {Array.<Point>}

Sort given array of points from arc start to end, assuming all points lay on the arc
Source:
Parameters:
Name Type Description
pts Array.<Point> array of points
Returns:
Type:
Array.<Point>
new array sorted

split(pt) → {Array.<Arc>}

When given point belongs to arc, return array of two arcs split by this point. If points is incident to start or end point of the arc, return clone of the arc. If point does not belong to the arcs, return empty array.
Source:
Parameters:
Name Type Description
pt Point Query point
Returns:
Type:
Array.<Arc>

svg(attrs) → {string}

Return string to draw arc in svg
Source:
Parameters:
Name Type Description
attrs Object an object with attributes of svg path element
Returns:
Type:
string

tangentInEnd() → {Vector}

Return tangent unit vector in the end point in the direction from end to start
Source:
Returns:
Type:
Vector

tangentInStart() → {Vector}

Return tangent unit vector in the start point in the direction from start to end
Source:
Returns:
Type:
Vector

transform(matrix) → {Arc}

Return new arc transformed using affine transformation matrix
Source:
Parameters:
Name Type Description
matrix Matrix affine transformation matrix
Returns:
Type:
Arc