1. cone[heiht_, base_, {x_, y_, z_}, {ax_, ay_, az_}] :=
    2. Module[{c1, c2, c3, c4, c5},
    3. c1 = RevolutionPlot3D[{t, -heiht *t*2}, {t, 0, base}, Mesh -> None];
    4. c2 = Rotate[c1[[1]], ax, {1, 0, 0}];
    5. c3 = Rotate[c2, ay, {0, 1, 0}];
    6. c4 = Rotate[c3, az, {0, 0, 1}];
    7. c5 = Translate[c4, {x, y, z + heiht*base}];
    8. c5
    9. ]
    10. torus := {};
    11. snowman3D[bodyRadius_] := Module[
    12. {bodyCenter = {0, 0, 0},
    13. torsoRadius = bodyRadius/GoldenRatio,
    14. headRadius = bodyRadius/GoldenRatio^2,
    15. torsoCenter,
    16. headCenter,
    17. leftShoulder,
    18. rightShoulder,
    19. buttonSize = bodyRadius/10,
    20. buttonStp = bodyRadius/3.3,
    21. leftHand,
    22. rightHand,
    23. mouthCenter,
    24. leftEyeCenter,
    25. rightEyeCenter},
    26. (*************************************************)
    27. (*************************************************)
    28. torsoCenter = {
    29. bodyCenter[[1]],
    30. bodyCenter[[2]],
    31. bodyRadius + torsoRadius};
    32. headCenter = {bodyCenter[[1]], bodyCenter[[2]],
    33. bodyRadius + 2 torsoRadius + headRadius};
    34. leftShoulder =
    35. torsoCenter + {torsoRadius*Sin[-Pi/3], 0, torsoRadius*Cos[-Pi/3]};
    36. leftHand =
    37. torsoCenter + {2.5 torsoRadius*Sin[-Pi/3], 0,
    38. 3 torsoRadius*Cos[-Pi/3]};
    39. rightShoulder =
    40. torsoCenter + {torsoRadius*Sin[Pi/3], 0, torsoRadius*Cos[Pi/3]};
    41. rightHand =
    42. torsoCenter + {2.5 torsoRadius*Sin[Pi/3], 0,
    43. 3 torsoRadius*Cos[Pi/3]};
    44. leftEyeCenter =
    45. headCenter + {0.5 headRadius*Sin[-Pi/4], -0.8 headRadius,
    46. 0.5 headRadius*Cos[-Pi/4]};
    47. rightEyeCenter =
    48. headCenter + {0.5 headRadius*Sin[Pi/4], -0.8 headRadius,
    49. 0.5 headRadius*Cos[Pi/4]};
    50. mouthCenter =
    51. headCenter + {0.75 headRadius*Sin[Pi], -25,
    52. 0.75 headRadius*Cos[Pi]};
    53. (*************************************************)
    54. (*************************************************)
    55. Graphics3D[{
    56. Sphere[bodyCenter, bodyRadius],
    57. Sphere[torsoCenter, torsoRadius],
    58. Sphere[headCenter, headRadius],
    59. Cylinder[{leftShoulder, leftHand}, 1.5],
    60. Cylinder[{rightShoulder, rightHand}, 1.5],
    61. Sphere[leftEyeCenter, headRadius/4],
    62. Sphere[rightEyeCenter, headRadius/4],
    63. cone[headRadius/4, headRadius/4,
    64. headCenter - {headRadius/8, 2 headRadius,
    65. 0.75 headRadius}, {90 Degree, 180 Degree, -5 Degree}]},
    66. Axes -> True, AxesLabel -> {"x", "y", "z"}
    67. ]
    68. ];
    69. snowman3D[30]

    效果图:
    image.png