generative-toolbelt.point
A set of function to create, manipulate, and draw Points and also Vector structures. Points are structured as maps like this: {:x 100 :y 100}. Vectors are strucutred as maps like this: {:len 100 :dir 60}
draw-line
(draw-line l & [drawOptions])
Draws a Line into the current graphics canvas.
draw-point
(draw-point p)
(draw-point p size)
Draws a Point into the current graphics canvas.
flip-dir
(flip-dir vect)
Flip the direction of a by 180 degrees vector. Returns a Vector structure.
make-line
(make-line a b)
Creates a Line with absolutes coordinates. Returns a Line.
make-point
(make-point x y)
Creates a Point with absolutes coordinates. Returns a Point.
make-vec
(make-vec l d)
Creates a Vector structure with length `l` and direction `d` in radians.
mkln
(mkln ax ay bx by)
Creates a Line with canvas-relative coordinates. Returns a Line.
mkpt
(mkpt x y)
Creates a Point with canvas-relative coordinates. Returns a Point.
point-angle
(point-angle a b)
Calculate the angle between two Points. Returns a number.
point-between
(point-between a b pos)
Creates a new intermediate point between two Points `pos` is a floating number between 0 and 1 that defines the distance between the two points. 0 returns point `a`, 1 returns point `b`, 0.5 returns the middle point between `a` and `b`, etc... Returns a Point.
point-distance
(point-distance a b)
Calculate the distance between two Points. Returns a number.
point-mirror
(point-mirror points mode)
NEEDS UPDATE Mirror a sequence of points vertically, horizontally, or both. mode
can be :h
for horizontal only, :v
for vertical only, or :hv
for both horizontal and vertical. Returns a sequence of Points.
point-move-by-vector
(point-move-by-vector point vect)
Creates a new Point which is moved by a certain ammount in a certain direction defined by a Vector structure. Returns a Point.
point-to-vector
(point-to-vector p)
Converts a Point structure to a Vector structure. Returns a Vector.
reverse-line
(reverse-line {:keys [a b]})
Reverse a Line swapping its Points. Returns a Line.
tweak-len
(tweak-len vect value)
Changes the length of the vector multiplicating its length by `value`. Returns a Vector structure.
vector-to-point
(vector-to-point v)
Converts a Vector structure to a Point structure. Returns a Point.