• Advertisement
Sign in to follow this  

How do you push out vertices of a tesselated sphere?

This topic is 4818 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, this was posted a while ago but I'm not sure how to go about doing this:
Quote:
Now, instead of placing these new vertices on the exact same planes as the old ones, move them away from the center of your polyhedron so that every vertex is the exact same distance from the center (this distance is the radius of your sphere.) The result? Your octahedron now has 32 sides, and it looks a lot more like a sphere than it did before. Now, apply the process again - split the triangles into smaller triangles with new vertices placed at the midpoint of the line segments joining the previous vertices, then place them all the same distance from the center - and the result looks a whole, whole lot like a sphere.
After tesselating an octahedron twice I've tried normalizing the vertices but that doesn't really make my object look anything like a sphere. It looks more like a slightly bulbous octahedron. So really what I need is an explanation on how to go about blowing out the vertices to make it look more like a sphere. BTW, I've searched google a million times, I probably just suck at it though.

Share this post


Link to post
Share on other sites
Advertisement
I just normalize. And i swear, it looks like sphere.

BTW. your initial object(octohedron or something) should be centered at 0. Otherwise it might look bit too weird

Share this post


Link to post
Share on other sites
Assuming that your sphere is built around is own local axis, or at the origin, all you have to do is normalize the new vertex to get a unit normal, then multiply each component of that unit normal by the radius of the sphere.

If it's built about an arbitrary position in 3D space, translate the vertex by the inverse of that position, do the above procedure, then translate it by the position again...

Share this post


Link to post
Share on other sites
Alright, I fixed it. My problem was that when I was normalizing my vertex (I use 4 components because of homogeneous-ness) I was taking into account that 4th component, and I obviously shouldn't have been. I am now only calculating the normal using the 3 standard components and it works fine.

Thanks guys.

Share this post


Link to post
Share on other sites
linky

Learn to use the Google engine of Gamedev. It's Google * GameDev database.

You can also find many other threads on this subject here.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement