椭球面积函数没有给出正确的结果

elipsoid area function not giving correct results

我已经创建了一个函数来 return 给定 椭球维度 的表面积,但我得到了奇怪的结果。

函数如下:

function elipsoid($a,$b,$c){
    
    $ab=$a*$b;
    $ab=pow($ab,1.6);
    
    $ac=$a*$c;
    $ac=pow($ac,1.6);
    
    $bc=$b*$c;
    $bc=pow($bc,1.6);
    
    $abacbc=$ab+$ac+$bc;
    $abacbc=$abacbc/3;
    
    $prepie=pow($abacbc,0.016);
    
    $fourpies=3.1415926535898*4;
    
    $elipsoidarea=$prepie*$fourpies;
    
    
    return $elipsoidarea;
    
}

如果$a$b$c的值都是=1,则结果是12.566370614359,根据[=上的椭球计算器41=] 是正确的。

如果$a$b$c的值都是=2,则结果是13.02034823541,根据[=上的椭球计算器41=] 应该是 50.26548.

我让我十几岁的女儿帮忙翻译了这个:

S≈4π((ab)1.6+(ac)1.6+(bc)1.63)1/1.6(从 google 复制粘贴因此看起来不像现在的等式大声笑)。

变成我能理解的“白痴”形式。

计算翻译是否正确and/or我编码正确吗?我还质疑根据 google 一个 4m 宽的球体怎么会有 50m 的表面积? Google 以及有此计算选项的许多网站都错了吗?

你这里做错了,

$prepie = pow($abacbc,0.016); 

应该是,

$prepie = pow($abacbc,0.625); 

至此,

1.6 的根 -> 1/1.6 -> 0.625