Three.js で円柱を、始点と終点を指定して、描く。

Three.js を使って円柱を描きたいのだが、始点終点を指定する方法がなかったので、
自分で作りました。コードを載せておきます。
始点(x0,y0,z0)始点半径(r0)、終点(x1,y1,z1)終点半径(r1)
色(int)、端を閉じるか(boolean) で指定します。

function createCylinder(x0,y0,z0,r0, x1,y1,z1,r1, col, open)
{
    var v = new THREE.Vector3(x0-x1, y0-y1, z0-z1);
	var len = v.length();
	var material = new THREE.MeshLambertMaterial({ color:col, ambient:col, opacity:1.0 });
	var cylinder = new THREE.Mesh(new THREE.CylinderGeometry(r0, r1, len, 0, 0, open), material);
	cylinder.overdraw = true;

	if (len > 0.001) {
		cylinder.rotation.z = Math.acos(v.y/len);
		cylinder.rotation.y = 0.5*Math.PI + Math.atan2(v.x, v.z);
		cylinder.eulerOrder = 'YZX';
	}
    
	cylinder.position.x = (x1+x0)/2;
	cylinder.position.y = (y1+y0)/2;
	cylinder.position.z = (z1+z0)/2;
    
	return cylinder;
}


これを使ったサンプルページは、こちら
http://www.nariuchi.com/3d/indexj.html