aboutsummaryrefslogtreecommitdiff
path: root/path/point.ml
diff options
context:
space:
mode:
Diffstat (limited to 'path/point.ml')
-rwxr-xr-xpath/point.ml17
1 files changed, 17 insertions, 0 deletions
diff --git a/path/point.ml b/path/point.ml
index 046c2e7..d49d655 100755
--- a/path/point.ml
+++ b/path/point.ml
@@ -45,3 +45,20 @@ let get_coord'
let open Gg.V2 in
let trans = of_polar @@ v t.size t.angle in
t.p + trans
+
+let mix
+ : float -> Gg.v2 -> t -> t -> t
+ = fun f point p0 p1 ->
+ let angle0 = p0.angle
+ and angle1 = p1.angle
+ and width0 = get_width p0
+ and width1 = get_width p1
+ and stamp0 = get_stamp p0
+ and stamp1 = get_stamp p1 in
+ let angle = angle0 +. f *. ( angle1 -. angle0 ) in
+ let width = width0 +. f *. ( width1 -. width0 ) in
+ let stamp = stamp0 +. f *. ( stamp1 -. stamp0 ) in
+ { p = point
+ ; size = width
+ ; angle
+ ; stamp }