首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

求个懂mathematica的好手看下这个程序

2013-04-26 
求个懂mathematica的高手看下这个程序R 20r1 3am0 Pi/3uu[u0_, v_] : Block[{},Which[v Pi,

求个懂mathematica的高手看下这个程序
R = 20;
r1 = 3;
am0 = Pi/3;
uu[u0_, v_] := Block[{},
   Which[v <= Pi, u0 + (1 - 2*u0/Pi)*v,
                v > Pi, 2*Pi - 3*u0 - (1 - 2*u0/Pi)*v]];
three[n_] := 
 Block[{k, am, qm, ae, qe, xm, ym, zm, x1, y1, z1, xe, ye, ze, gg0, g},
  For[k = 0, k < n, k++,
   ae = k*Pi/18;
   qm = Mod[k, 6]*Pi/3;
   am = uu[am0, qm];
   xe = R*Cos[ae];
   ye = R*Sin[ae];
   ze = 0;
   x1 = r1*Sin[am]*Sin[qm];
   y1 = r1*Sin[am]*Cos[qm];
   z1 = r1*Cos[am];
   xm = xe + x1*Sin[ae] + y1*Cos[ae];
   ym = ye + y1*Sin[ae] + x1*Cos[ae];
   zm = z1;
   gg0 = ParametricPlot3D[{R*Cos[v], R*Sin[v], u},
     {u, -0.01, 0.01}, {v, 0, 2 Pi},
     Boxed -> False,
     Axes -> False,
     PlotRange -> {{-26, 26}, {-26, 26}, {-10, 10}},
     DisplayFunction -> Identity];
   g = Graphics3D[{{PointSize[0.2], RGBColor[1, 0, 0], 
       Point[{0, 0, 0}]},
      {PointSize[0.06], RGBColor[0, 0, 1], Point[{xe, ye, ze}]},
      {PointSize[0.03], RGBColor[0.8, 0, 0.8], Point[{xm, ym, zm}]}},
     PlotRange -> {{-26, 26}, {-26, 26}, {-2, 2}}];
   Show[gg0, g, ViewPoint -> {50, 50, 6},
    DisplayFunction -> $DisplayFunction]]]
这个程序运行不了啊,为什么
[解决办法]
Print[Show[gg0, g, ViewPoint -> {50, 50, 6}]]

热点排行