在three.js中创建球体(例如地球)的磁场线

时间:2016-05-18 05:57:47

标签: javascript three.js

我目前正在尝试用three.js进行物理实验。我想制作一个球体的磁场线。我搜索了bezier曲线,但我不太确定如何实现它。我希望实现的是这样的:

Examples of what I want

这是一个二维版本,但我想要一个3d版本。

1 个答案:

答案 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中也提到了这一点。