X-Git-Url: https://git.jsancho.org/?p=dungeon-master.git;a=blobdiff_plain;f=dungeon-master%2Fgeom%2Fpoint.scm;fp=dungeon-master%2Fgeom%2Fpoint.scm;h=0000000000000000000000000000000000000000;hp=72ca1bbe00ae662ae9d97ba448c721424bb745c9;hb=8f36ecdca1766ddd2a177fa46dc885c7f8e14130;hpb=4fce641cc077d18f972e250d2fe3be5067618127 diff --git a/dungeon-master/geom/point.scm b/dungeon-master/geom/point.scm deleted file mode 100644 index 72ca1bb..0000000 --- a/dungeon-master/geom/point.scm +++ /dev/null @@ -1,53 +0,0 @@ -;;; Dungeon Master --- RPG Adventure Generator -;;; Copyright © 2019 Javier Sancho -;;; -;;; Dungeon Master is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or -;;; (at your option) any later version. -;;; -;;; Dungeon Master is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with Dungeon Master. If not, see . - - -(define-module (dungeon-master geom point) - #:use-module (srfi srfi-9) - #:export (make-point - point? - point-x - point-y - points-distance - sum-points - scale-point)) - -(define-record-type - (make-point x y) - point? - (x point-x) - (y point-y)) - -(define (points-distance p1 p2) - (abs - (sqrt (+ (expt (- (point-x p1) (point-x p2)) 2) - (expt (- (point-y p1) (point-y p2)) 2))))) - -(define (sum-points . points-to-sum) - (let loop ((points points-to-sum) - (x 0) - (y 0)) - (cond ((null? points) - (make-point x y)) - (else - (loop (cdr points) - (+ x (point-x (car points))) - (+ y (point-y (car points)))))))) - -(define (scale-point point scale) - (make-point - (* (point-x point) scale) - (* (point-y point) scale)))