diff options
author | bnewbold <bnewbold@eta.mit.edu> | 2009-02-03 03:48:29 -0500 |
---|---|---|
committer | bnewbold <bnewbold@eta.mit.edu> | 2009-02-03 03:48:29 -0500 |
commit | 5a44d113571ca634c8582655130a2bb324a27e42 (patch) | |
tree | d9a39aa88a67f5c7ecadfe58062f84401bc0ecb6 /journal/02feb2009.html | |
parent | a3feb7494f34d60af11ac3f598dc6ac33d3bcb14 (diff) | |
download | 8thesis-5a44d113571ca634c8582655130a2bb324a27e42.tar.gz 8thesis-5a44d113571ca634c8582655130a2bb324a27e42.zip |
02feb partial checkin
Diffstat (limited to 'journal/02feb2009.html')
-rw-r--r-- | journal/02feb2009.html | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/journal/02feb2009.html b/journal/02feb2009.html new file mode 100644 index 0000000..7f29192 --- /dev/null +++ b/journal/02feb2009.html @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head><title>bnewbold thesis</title></head> +<body style="margin: 25px; font-family: helvetica;"> +<h1 style="border-bottom: 2px solid;"> +Journal: Jan 27, 2009</h1> +<i>Bryan Newbold, <a href="mailto:bnewbold@mit.edu">bnewbold@mit.edu</a></i><br /> +<i><a href="http://web.mit.edu/bnewbold/thesis/"> +http://web.mit.edu/bnewbold/thesis/</a></i> +<br /><p /> +<!-- ================================================================ --> +<!-- ================================================================ --> + +Playing with crude evolution of basic differential equations: + +<pre style="margin:20px; border-left: solid grey 3px; background-color:lightgrey +;padding:5px;width:750px;"> +(define J (- (* x d/dy) (* y d/dx))) + +(define ((((evolution order) + delta-t vector-field) + manifold-function) + manifold-point) + (series:sum + (((exp (* delta-t vector-field)) + manifold-function) + manifold-point) + order)) + +(pe ((((evolution 6) 'a J) R2-chi) + ((R2 '->point) (up 1 0)))) + +(pe ((((evolution 6) 2. J) R2-chi) + ((R2 '->point) (up 1 0)))) + +(define mywindow (frame -4 4 -4 4)) + +(define (plot-evolution win order initial a step) + (letrec + ((dostep + (lambda (val) + (cond + ((< val a) (let ((this-point ((((evolution order) val J) R2-chi) + ((R2 '->point) initial)))) + (plot-point win + (time this-point) + (coordinate this-point)) + (dostep (+ val step)))))))) + (dostep 0.))) + +(plot-evolution mywindow 6 (up 1. 0.) 6. .01) +</pre> +<br /> +<img src="02feb2009-evolve-circle-01.png" /> +<br /> +Haha, not really what you'd expect at the end there... numerical error? +<br /> +And then interactively: +<pre style="margin:20px; border-left: solid grey 3px; background-color:lightgrey +;padding:5px;width:750px;"> +(define (explore-evolution window order length) + (define (iterate-mything i x y) + (if (< i length) + (let ((this-point ((((evolution order) i J) R2-chi) + ((R2 '->point) (up x y))))) + (plot-point window (time this-point) (coordinate this-point)) + (iterate-mything (+ .01 i) x y)) + (button-loop x y))) + (define (button-loop ox oy) + (pointer-coordinates + window + (lambda (x y button) + (let ((temp button)) + (cond ((eq? temp 0) (write-line (cons x (cons y (quote ())))) + (display " started.") + (iterate-mything 0 x y)) + ((eq? temp 1) (write-line (cons ox (cons oy (quote ())))) + (display " continued.") + (iterate-mything 0 ox oy)) + ((eq? temp 2) (write-line (cons x (cons y (quote ())))) + (display " hit.") + (button-loop ox oy))))))) + (newline) + (display "Left button starts a trajectory.") + (newline) + (display "Middle button continues a trajectory.") + (newline) + (display "Right button interrogates coordinates.") + (button-loop 0. 0.)) + +(explore-evolution mywindow 5 .4) +</pre> +<img src="02feb2009-evolve-circle-02.png" /> +<br /> +That looks a lot better! +<br /><br /> +<a href="27jan2009.html"><i>(previous entry)</i></a> + +<!-- ================================================================ --> +<!-- ================================================================ --> +</body> +</html> |