ierope を EDA ツールに応用する際の例題を作成。
Revision | 1149af3a850b51d81cf081a977bf5c42d4da0ab9 (tree) |
---|---|
Time | 2012-03-04 19:31:45 |
Author | U-tackya-PC\tackya <yammouch@user...> |
Commiter | U-tackya-PC\tackya |
[1] Updated.
@@ -5,16 +5,37 @@ | ||
5 | 5 | (require 'src.math) |
6 | 6 | (alias 'mt 'src.math) |
7 | 7 | |
8 | -; ['up x vx y vy] | |
9 | -(defn phys [[_ x vx y vy]] | |
8 | +(defn L [[_ t [x y] [vx vy]]] | |
10 | 9 | (let [k 10 m 0.1] |
11 | - ['up | |
12 | - vx | |
13 | - (/ (- (* k x)) m) | |
14 | - vy | |
15 | - (/ (- (* k y)) m) | |
16 | - ])) | |
10 | + (- (* 0.5 m | |
11 | + (+ (* vx vx) (* vy vy)) | |
12 | + ) | |
13 | + (* 0.5 k | |
14 | + (+ (* x x) (* y y)) | |
15 | + )))) | |
16 | + | |
17 | +(def A (mt/L->accer L)) | |
18 | + | |
19 | +(defn phys [xi] | |
20 | + (let [n (/ (- (count xi) 1) 2) | |
21 | + q (take n (rest xi)) | |
22 | + qdot (drop n (rest xi)) | |
23 | + qddot (A ['up 0 q qdot])] | |
24 | + (concat ['up] | |
25 | + qdot | |
26 | + qddot))) | |
27 | + | |
28 | +; ['up x vx y vy] | |
29 | +;(defn phys [[_ x vx y vy]] | |
30 | +; (let [k 10 m 0.1] | |
31 | +; ['up | |
32 | +; vx | |
33 | +; (/ (- (* k x)) m) | |
34 | +; vy | |
35 | +; (/ (- (* k y)) m) | |
36 | +; ])) | |
17 | 37 | |
38 | +; ['up x y vx vy] | |
18 | 39 | (def xi (ref ['up 1 0 0 -1])) |
19 | 40 | |
20 | 41 | (defn anime-panel [] |