我想计算一个球体(并用我的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
答案 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