Username
Password
Auto-login
Show my name in the online users list
Not a member?
Please register.
Forgot your password?
(2) May 2008
(1) January 2008
(1) November 2007
(2) September 2007
(7) August 2007
(2) July 2007
(1) June 2007
(3) May 2007
(4) April 2007
(8) March 2007
(9) February 2007
(2) January 2007
Creating a sphere with very uniform triangles
Posted: Feb 07, 2007 - 07:26 AM
Category: tutorials
image1.jpg
buckySphere.ma (scroll to the bottom to download related material)

After some experimentation I realized that my last tutorial on this topic creates a sphere that is not as uniform as one might wish. Here is a better solution to the problem of creating a sphere with a uniform triangle distribution.

1. MENU "Create: Polygon Primitives: Platonic Solids"
In the options set the platonic type to "Icosahedron".

2. MENU "Mesh: Smooth"
3. Edit the resulting polySmoothface node:

method = "Linear"
subdidivisionLevels =1
divisionsPerFace = 10
pushStrength = 1.0
roundness = 1.45 (1.5 did not seems to be quite as accurate a sphere shape, although I dont' know the correct mathematical value)

buckySphere.ma (scroll to the bottom to download related material)

This method still has some artifacts and the sphere is not quite perfectly round. For more triangles one could go to a subidivisions of 2, although the roundness and/or pushStrength may need to be adjusted. I found that using higher subdivision levels with lower divisions per face one needed a higher roundness(10) and a lower pushStrength(.15). The higher subdivisions seem to provide a slightly more uniform triangle size, but the shape is less spherical. Alternately one could also apply a second smooth, which may provide the best result. There are simple recursive methods of computing a near perfect sphere, but non of these are implemented in Maya currently. However there is the a mel script called geoSphere on highend3d.com, which looks like it should work well, although I've not tried it.
In order to post any comments, you must be logged in!
  Posted by joojaa  on  13 Feb, 2007  at  10:23 PM

If one have gotten this far its relatively easy to fix the roundness. All one has to do is select all the vertices and run something like this:

for ($item in `ls -sl -flatten`){
$pos=`pointPosition -l $item`;
$vec=unit(<<(float)$pos[0],(float)$pos[1],(float)$pos[2]>>);
move -a -os ($vec.x) ($vec.y) ($vec.z) $item;
}

 
Page 1 of 1 pages