diff --git a/basis/math/points/points.factor b/basis/math/points/points.factor index c8654869e2..107e81d51f 100644 --- a/basis/math/points/points.factor +++ b/basis/math/points/points.factor @@ -22,6 +22,5 @@ PRIVATE> : rise ( pt2 pt1 -- n ) [ second ] bi@ - ; : run ( pt2 pt1 -- n ) [ first ] bi@ - ; : slope ( pt pt -- slope ) [ rise ] [ run ] 2bi / ; -: distance ( point point -- float ) v- norm ; : midpoint ( point point -- point ) v+ 2 v/n ; : linear-solution ( pt pt -- x ) [ drop first2 ] [ slope ] 2bi / - ; \ No newline at end of file diff --git a/basis/math/vectors/vectors.factor b/basis/math/vectors/vectors.factor index 01a421b4e7..a6967a7218 100644 --- a/basis/math/vectors/vectors.factor +++ b/basis/math/vectors/vectors.factor @@ -24,6 +24,8 @@ IN: math.vectors : norm ( v -- x ) norm-sq sqrt ; : normalize ( u -- v ) dup norm v/n ; +: distance ( u v -- x ) [ - absq ] [ + ] 2map-reduce sqrt ; + : set-axis ( u v axis -- w ) [ [ zero? 2over ? ] dip swap nth ] map-index 2nip ; @@ -31,6 +33,7 @@ HINTS: vneg { array } ; HINTS: norm-sq { array } ; HINTS: norm { array } ; HINTS: normalize { array } ; +HINTS: distance { array array } ; HINTS: n*v { object array } ; HINTS: v*n { array object } ;