Settings5050u02*piv02*pifuncx(u, v)funcy(u, v)funcz(u, v)1function double funcx(double du, double dv)
{
double dr = 4*(1-cos(du)/2);
if (du >=0 && du < pi)
return 6*cos(du)*(1+sin(du))+dr*cos(du)*cos(dv);
else
return 6*cos(du)*(1+sin(du))+dr*cos(dv+pi);
};
function double funcy(double du, double dv)
{
double dr = 4*(1-cos(du)/2);
if (du >=0 && du < pi)
return 16*sin(du) + dr*sin(du)*cos(dv);
else
return 16*sin(du);
};
function double funcz(double du, double dv)
{
double dr = 4*(1-cos(du)/2);
return dr * sin(dv);
}000