Ric*_*hez 1 java processing clojure
我在Java/Processing中有以下代码
posX += (targetX - posX) * easing;
posY += (targetY - posY) * easing;
Run Code Online (Sandbox Code Playgroud)
但我很难将其翻译成Clojure,任何帮助都将不胜感激!
基于你的代码片段,我猜你基本上是使用另一个集合和一个缓动因子来变换一组坐标.
我将定义一个函数来以下列方式封装转换:
(defn ease-coord [factor src tgt]
(+ src (* (- tgt src) factor)))
(defn ease [factor src tgt]
(map (partial ease-coord factor) src tgt))
(ease 0.1 [1 2] [3 10])
;=> (1.2 2.8)
(ease 0.1 [1 2 3] [3 10 5])
;=> (1.2 2.8 3.2)
Run Code Online (Sandbox Code Playgroud)
请注意,该ease函数实际上适用于具有任意数量坐标的矢量和列表.
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |