我目前正在尝试用three.js进行物理实验。我想制作一个球体的磁场线。我搜索了bezier曲线,但我不太确定如何实现它。我希望实现的是这样的:
这是一个二维版本,但我想要一个3d版本。
答案 0 :(得分:1)
如果您有计算点的数学运算,可以使用样条曲线绘制磁力线,如下所示:
// Array of THREE.Vector3 points created using your math
var points = [ v1, v2, v3, v4, etc ];
var curve = new THREE.SplineCurve3( points );
var geometry = new THREE.Geometry();
// Set the amount of segments, the higher the number the smoother the line.
geometry.vertices = curve.getPoints( 50 );
var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
// Create the final Object3d to add to the scene
var splineObject = new THREE.Line( geometry, material );
这直接来自文档,可以找到here
同样有趣的可能是 MathBox ,this answer here中也提到了这一点。