circle2-lowdeps

fork of circle2 with only `intersectCircle()` and `containsPoint()` method and less dependencies

Usage no npm install needed!

<script type="module">
  import circle2Lowdeps from 'https://cdn.skypack.dev/circle2-lowdeps';
</script>

README

circle2-lowdeps

all credits go to tmpvar and his circle2 implementation

install

npm install circle2-lowdeps

use

new Circle([origin [, radius])

Where origin adheres to the following form:

  • [0, 1]
  • { x: 0, y: 1}
  • new Vec2(0, 1)

and radius is a number

Note: the arguments to the Circle function are optional. If none are passed circle.position will be 0, 0 and circle.radius will be 1

containsPoint(point)

Where point looks like one of the following:

  • [0, 1]
  • { x: 0, y: 1 }
  • new Vec2(0, 1)

This function will return true if the passed point is inside or right on the boundary of the circle.

var Circle = require('circle2');

var c = Circle()

console.log(c.contains([10, 0])) // false

c.radius(10);

console.log(c.contains([10, 0])); // true

intersectCircle(circle)

Performs an intersection between this circle and the incoming. Results are as follows:

  • false - no intersection or one circle is contained in the other
  • [] - same circles
  • [Vec2] - single intersection
  • [Vec2, Vec2] - two intersection points

toSegments([segments])

Convert this circle into a series of points representing the outline of this circle

license

MIT (see: LICENSE)