This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; A Common Lisp port of the Möller–Trumbore ray-triangle intersection | |
;;; algorithm originally authored in C. | |
;;; Introduction | |
;;; ============ | |
;;; The Möller–Trumbore ray-triangle intersection algorithm is credited to its | |
;;; inventors Tomas Möller and Ben Trumbore. | |
;;; The original C code was accessed from Möller Trumbore's article: `Practical |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; Start lisp, for example run sbcl. | |
;;; $ sbcl | |
;;; First uninstall all systems. | |
;;; ref: https://github.com/quicklisp/quicklisp-client/issues/147#issuecomment-1631778086 | |
(mapc #'ql:uninstall (mapcar #'ql-dist:short-description (ql-dist:installed-systems t))) | |
;;; To be able to use slime, we install the slime helper | |
(ql:quickload "quicklisp-slime-helper") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; `(pathname "/foo/bar")` uses the trailing directory separator to decide if a | |
;; path refers to a file or directory | |
;; (pathname "/home/foo.bar" ) => #P"/home/foo.bar" | |
;; (pathname "/home/foo.bar/") => #P"/home/foo.bar/" | |
;; Instead, this function definition `pathname-as-dir` results in a pathname | |
;; which is a always a directory irrespective of the trailing slash contained in | |
;; the string argument. |