I'm programming a tool where I want to track the directions of a unit vector. I want to store the position to which the vector is pointing on a unit ball. Each time the vector points to a position $x$ it's (float)value is increased

I'm using a radial gradient around the stored position to produce a small falloff, so I also need to access the "neighbour" elements. It is also possible that I use less tracking-positions(vertices) and round my tracked position to the next possible one .

Up until now I was simply using a 360x360-float-array, but since there are coordinate singularities I'm looking for an alternative

The optimal shape should provide:

  • No coordinate singularities
  • An arbitrary number of vertices, since I want to be able to alter memory usage
  • Easy, efficient access to neighbour vertices

I already had a look at isospheres from Blender but I couldn't find a mathematical description and I asume the "neighbour-access" is quite costly.

  • 1
    $\begingroup$ If you could figure out the 'neighbour' relationship, a spiral coordinate system might help. See this question on StackOverflow $\endgroup$ – Aaron Lockey Jun 26 '13 at 18:48
  • $\begingroup$ See also Distributing many points on a sphere by Saff and Kuijlaars if you can get access to that. Learned about that in this comment and found it nicely written. $\endgroup$ – MvG Jun 26 '13 at 21:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.