From eccad305a24dd1365adeb9f49986f7ca898c0f5a Mon Sep 17 00:00:00 2001 From: Bruno Cichon Date: Sun, 25 Jun 2017 12:48:15 +0200 Subject: Optimize extrusion. --- turtle.lisp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/turtle.lisp b/turtle.lisp index 9aa9fbc..3d59787 100644 --- a/turtle.lisp +++ b/turtle.lisp @@ -31,15 +31,13 @@ (defun extrusion (turtle n) (mapcar #'(lambda (vertex) (add-point - (m4:get-column - (let* ((x (v4:- (aref *vertices* vertex) (tra turtle))) - (y (v4:*S x (* (r turtle) - (sqrt (v:dot x x)))))) - (m4:* (m4:translation (v4:+ (tra turtle) - (v4:*S (m4:get-column (rot turtle) 1) n))) - (rot turtle) - (m4:translation (v4:- x y)))) - 3))) + (let* ((x (v4:- (aref *vertices* vertex) (tra turtle)))) + (v4:+ (tra turtle) + (v4:*S (m4:get-column (rot turtle) 1) n) + (m4:*v (rot turtle) + (v4:- x + (v4:*S x (* (r turtle) + (sqrt (v:dot x x)))))))))) (points turtle))) (defun forward (turtle n) -- cgit v1.2.3