本系列文章可以在这里查看:verletjs动画框架

你可以从这里查看该项目的所有源文件:https://github.com/subprotocol/verlet-js

涉及文件:lib/verlet.js, lib/object.js

tire对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
 * 封闭区域对象
 * @param {Vec2} origin 源二维点
 * @param {Number} radius 封闭区域半径(决定大小)—
 * @param {Number} segments 一个圆被分为多少段
 * @param {Number} spokeStiffness 径向线段强度
 * @param {Number} treadStiffness 点之间的线段强度
 */
VerletJS.prototype.tire = function(origin, radius, segments, spokeStiffness, treadStiffness) {
}

// 用法
var canvas = document.getElementById('canvas');
var sim = new VerletJS(300, 150, canvas);
var t1 = sim.tire(new Vec2(100, 50), 50, 6, 0.9, 0.8);

cloth对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * “衣服”对象,生成一块布
 * @param {Vec2} origin 源二维节点
 * @param {Number} width
 * @param {Number} height 
 * @param {Number} segments 网格分段
 * @param {Number} pinMod 固定点
 * @param {Number} stiffness 刚度
 */
VerletJS.prototype.cloth = function(origin, width, height, segments, pinMod, stiffness) {
}

// 用法
var cloth = sim2.cloth(new Vec2(150, 50), width, height / 2, 10, 3, 0.9);