/*曲面椭球面.c曲面d'un EllipsoídeJeux et Mathématiques 2012年2月11日GCC许可证gcc-o surfell曲面椭球体.c-lgsl-lblas-lm冲浪者5 3 2*//* 图书馆特别手册:描述GNU科学图书馆(GSL)是数值计算例程的集合。这些例程是从由GSL团队用C编写,并为C程序员提供现代应用程序编程接口(API),允许为非常高级的语言编写包装器。图书馆涵盖以下领域,复数多项式的根特殊功能向量和矩阵突变组合排序BLAS支持线性代数特征系统快速傅里叶变换正交随机数准随机序列随机分布统计直方图N元组蒙特卡罗积分模拟退火微分方程插值数值微分切比雪夫近似串联加速度离散Hankel变换寻根最小化Least-Squares配件物理常数IEEE浮点有关更多信息,请参阅GSL参考手册,该手册作为信息文件提供。你可以在线阅读使用shell命令info gsl-ref(如果安装了库)。*/#包括#包括#包括#包括#定义PREC GSL_PREC_SINGLE//GSL_PREC_APPROX双曲面(双u、双v、双w){如果(u==v&&v==w){返回4*M_PI*u*u;}双倍a=u,b=v,c=w,d;如果(b>a){d=b,b=a,a=d; }如果(c>a){d=c,c=b,b=a,a=d;}否则,如果(c>b){d=c,c=b,b=d;}双cos2phi=c*c/(a*a),sin2phi=1-cos2phi,ph=acos(c/a),k=平方(a*a*(b*b-c*c)/(b*b*(a*a-c)));返回2*M_PI*(c*c+a*b/sin(ph)*(gsl_sf_elint_E(ph,k,PREC)*sin2phi+gsl_sf _elint_F(ph、k,PRCE)*cos2phi));}int main(int argc,char*argv[]){如果(argc<4){printf(“用法:%s a b c \n”,argv[0]);返回0;}双a=atof(argv[1]),b=atof(argv[2]),c=atof(argv[3]);printf(“%f\n”,表面(a,b,c));返回0;}