Liking cljdoc? Tell your friends :D

Table of contents

  • cljs-polys-etc.polys - Functions for working with polygons in SVG.
    • arc-len-degrees - Returns the length of an arc with given theta (degrees) and radius.
    • arc-len-radians - Returns the length of an arc with given theta (radians) and radius.
    • degrees-to-radians - Converts degrees to radians.
    • difference - Returns a vector of polys that is the difference of two polys.
    • equilateral-height - Returns height of an equilateral triangle with given side length.
    • equilateral-inradius - Returns the inner radius of an equilateral triangle with given side length.
    • equilateral-sidelen - Returns the side length of an equilateral triangle with given height.
    • intersection - Returns a vector of polys that is the intersection of two polys.
    • polar-to-cartesian - Converts a point in polar space to cartesian space.
    • poly2path - Converts a poly into a string suitable for using in an SVG :polygon's :point attribute.
    • rotate-point - Rotates a point around [0,0] by given degrees.
    • rotate-poly - Rotates all points in poly around [0,0] by given degrees.
    • sqrt3
    • translate-point - Translates a point by xd, yd.
    • translate-poly - Translates all points in a poly by xd, yd.
    • translate-polys - Translates all polys in a vector of polys.
    • union - Returns a vector of polys that is the union of two polys.

cljs-polys-etc.polys

Functions for working with polygons in SVG. This library requires polybooljs to work.

The notion of a polygon here is just a vector of points in cartesian space, e.g.

(def a-square [[0 0] [10 0] [10 10] [0 10]])

The polybooljs library has a more complex idea of what a polygon is [<https://sean.cm/a/polygon-clipping-pt2], which means a vector of with multiple regions and an inverted? flag. Cljs-polys-etc is not that complex (yet). The inverted? tag remains unimplemented.

arc-len-degrees


(arc-len-degrees theta radius)

Returns the length of an arc with given theta (degrees) and radius.

Source

arc-len-radians


(arc-len-radians theta radius)

Returns the length of an arc with given theta (radians) and radius.

Source

degrees-to-radians


(degrees-to-radians degrees)

Converts degrees to radians. 0 radians usually 'point right' and the resulting degrees will also have 0 'pointing right.'

Source

difference


(difference poly1 poly2)

Returns a vector of polys that is the difference of two polys.

Source

equilateral-height


(equilateral-height sidelen)

Returns height of an equilateral triangle with given side length.

Source

equilateral-inradius


(equilateral-inradius sidelen)

Returns the inner radius of an equilateral triangle with given side length.

Source

equilateral-sidelen


(equilateral-sidelen height)

Returns the side length of an equilateral triangle with given height.

Source

intersection


(intersection poly1 poly2)

Returns a vector of polys that is the intersection of two polys.

Source

polar-to-cartesian


(polar-to-cartesian cx cy radius degrees)

Converts a point in polar space to cartesian space.

Source

poly2path


(poly2path poly)

Converts a poly into a string suitable for using in an SVG :polygon's :point attribute.

Source

rotate-point


(rotate-point [x y] degrees)

Rotates a point around [0,0] by given degrees.

Source

rotate-poly


(rotate-poly poly degrees)

Rotates all points in poly around [0,0] by given degrees.

Source

sqrt3

Source

translate-point


(translate-point [x y] xd yd)

Translates a point by xd, yd.

Source

translate-poly


(translate-poly poly xd yd)

Translates all points in a poly by xd, yd.

Source

translate-polys


(translate-polys polys x y)

Translates all polys in a vector of polys.

Source

union


(union poly1 poly2)

Returns a vector of polys that is the union of two polys.

Source

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close