Skip to content

Commit

Permalink
Add vec@d polar coordinates for vector using degrees
Browse files Browse the repository at this point in the history
  • Loading branch information
soegaard committed Feb 15, 2024
1 parent f9cca48 commit de46ad8
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion metapict/pt-vec.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
(define (med α p q) (def pq (pt- q p)) (pt+ p (vec* α pq))) ; mediate aka linear interpolation
(define (pt@ r θ) (pt+ (pt 0 0) (vec@ r θ))) ; from polar: radius r, angle θ
(define (pt@d r θ) (pt+ (pt 0 0) (vec@ r (rad θ)))) ; from polar: radius r, angle θ

; for sorting:
(define (pt< p q) (match* (p q) [((pt x y) (pt a b)) (or (< x a) (and (= x a) (< y b)))]))

Expand Down Expand Up @@ -81,7 +82,8 @@
(define norm len)
(define (dir/rad α) (vec (cos α) (sin α)))
(define (dir deg) (dir/rad (rad deg)))
(define (vec@ r θ) (vec* r (dir/rad θ))) ; from polar
(define (vec@ r θ) (vec* r (dir/rad θ))) ; from polar
(define (vec@d r θ) (vec* r (dir/rad (rad θ)))) ; from polar, degrees
(define (@ x) ; to polar
; these are from "angles.rkt", but used to prevent a module cycle
(define (arccos x) ; this ensures a real result (rounding could lead to complex results)
Expand Down

0 comments on commit de46ad8

Please sign in to comment.