计算球体的点数?

时间:2018-03-15 17:06:27

标签: javascript math web geometry

我想计算一个球体(并用我的JavaScript程序渲染它。(渲染效果很好))

我发现了这个问题: Plotting a point on the edge of a sphere 然后我开发了这段代码:

for(var s = 0; s < 6; s++){
    for(var t = 0; t <= 3; t++){
        var x = d * Math.cos(s) * Math.sin(t);
        var y = d * Math.sin(s) * Math.sin(t);
        var z = d * Math.cos(t);
        console.log("("+x+","+y+","+z+")");
    }
}

看起来像:

它看起来不像一个球体!

所以我将s ++改为s + = 0.1,将t ++改为t + = 0.1。

现在看起来像:

现在看起来更好, 但是我的大问题:在中间线条应该在Z轴上相交。我想你可以在第一张图片上看到更好的问题。

感谢您的回答!

修改 解决方案:来自 @MBo 的未经编辑的答案:

for(var ss = 0; ss < 24; ss++){
    for(var tt = 0; tt <= 12; tt++){
        s = Math.Pi * ss / 12;
        t = Math.Pi * tt / 12;
        ...x y z stuff

1 个答案:

答案 0 :(得分:1)

s和t是极坐标角度,它们必须相应地在 private DataTable FillDataTable(int rowcount, DataTable dt, SomeDetails perColl) { for (int i = 1; i < rowcount; i++) { string A= ""; string B= ""; if (i < perColl.SetA.Count) { A= perColl.SetA[i]; } if (i < perColl.SetB.Count) { B= perColl.SetB[i]; } dt.Rows.Add("", A, B); } return dt; } 2*Pi~6.28范围内。

所以要做出正确的步骤,例如:

Pi~3.14