課程
/前端開發
/Html5
/走進SVG
var delta = x.length() - relation;
// f = k * x
f = f.add(x.normalize(delta * k));
這兩行代碼不太懂
2018-02-27
源自:走進SVG 7-4
正在回答
x是兩點之間的矢量, x.length()是兩點之間的長度,
delta就是兩點之間的長度與relation之差。
delta * k 是用一個常量k將delta轉化為一個合適的值,這個值控制著每一幀(大概每1/60秒)變化的位移變化量。
x是兩點之間的矢量,
x.normalize(delta*k) 是x的單位矢量乘以delta*k的長度,也就是從點a到點b的方向上,移動delta*k的距離
f.add(...) 累加上述移動。
理解這個首先要理解:
1、這個是每幀動畫執行,大概每1/60秒執行一次,
2、每次執行時,因兩點之間的距離計算出作用力的大小,然后根據作用力的大小計算出每幀需要移動的距離和方向。
這個也就是對位移的微分。。
舉報
SVG是HTML5 中矢量圖的標記語言,學習后掌握更多的干貨
1 回答一個聽不懂的大問題
4 回答講的不是那么通俗易懂,汗
1 回答老師 應該站在所有人都能聽得懂的角度講而不應該是說太簡單了
1 回答可以用svg做一個流程設計不?
1 回答老師,請問正弦函數那塊,ly=0,cy;還有往后的cy-ly. 是什么意思啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-04
var delta = x.length() - relation;
x是兩點之間的矢量, x.length()是兩點之間的長度,
delta就是兩點之間的長度與relation之差。
f = f.add(x.normalize(delta * k));
delta * k 是用一個常量k將delta轉化為一個合適的值,這個值控制著每一幀(大概每1/60秒)變化的位移變化量。
x是兩點之間的矢量,
x.normalize(delta*k) 是x的單位矢量乘以delta*k的長度,也就是從點a到點b的方向上,移動delta*k的距離
f.add(...) 累加上述移動。
理解這個首先要理解:
1、這個是每幀動畫執行,大概每1/60秒執行一次,
2、每次執行時,因兩點之間的距離計算出作用力的大小,然后根據作用力的大小計算出每幀需要移動的距離和方向。
這個也就是對位移的微分。。