Finding the face of an icosahedron in which a vector falls in

  • Context: Graduate 
  • Thread starter Thread starter machete
  • Start date Start date
  • Tags Tags
    Vector
Click For Summary
SUMMARY

This discussion focuses on determining the triangular face of an icosahedron that contains a given unit vector representing a point on a sphere. The initial approach involves calculating angles between the vector and the vertices of the icosahedron, but this method can yield incorrect results near vertices. A more effective strategy is proposed, which involves computing a representative vector for each face and identifying the face with the largest dot product with the test vector. The discussion highlights the importance of careful vector projection to avoid selecting incorrect faces.

PREREQUISITES
  • Understanding of unit vectors and their properties
  • Knowledge of polyhedra, specifically the structure of an icosahedron
  • Familiarity with vector dot products and projections
  • Basic concepts of geometric representation in three-dimensional space
NEXT STEPS
  • Research vector projection techniques in three-dimensional geometry
  • Explore the concept of Voronoi diagrams and their applications in spatial analysis
  • Learn about geometric algorithms for polyhedron face identification
  • Study the mathematical properties of dot products in vector analysis
USEFUL FOR

Mathematicians, computer graphics developers, and anyone involved in computational geometry or 3D modeling who seeks to understand the relationship between vectors and polyhedral structures.

machete
Messages
1
Reaction score
0
I am thinking about, given an icosahedron (polyhedron of 20 triangular faces) that "represents" a sphere (some may call it a Fuller Projection) and a vector describing a point in the sphere, finding the face of the icosahedron in which the vector falls in.

The vector is unitary, the vectors describing the polyhedron are unitary, so I thought that I could do this by checking the angles between my vector and every vector of the vertices, then checking which three vertex vectors were the nearest, and voila', those are the vertices of my triangular face.

Wrong. In some conditions (near one of the vertices) two of the nearest vertices are not necessarily those of the triangle one would look for.

If any of you knows a way to do this, I would be very grateful!
 
Last edited:
Physics news on Phys.org
Welcome to PF! Never having done such a calculation, I am not sure of my
ground here, but since no one else has yet replied, here is a suggestion
that might work: Let a, b, and c be unit vectors (relative to an origin at
the centre of the sphere) representing the vertices of one of the
triangular faces of the icosahedron. Then the vector V=a+b+c should be
perpendicular to the triangular face and point to the middle of the face.
Now compute one such representative vector V for each of the faces. I should
think that the correct face is the one whose representative vector has the
smallest dot product with your test vector pointing to some point on the
sphere. Points on edges or vertices of the icosahedron would of course
belong to two or three faces respectively.

If this does not work, then perhaps a Google search for "voronoi" might
help you further. I hope this is of some help in getting started.
 
pkleinod said:
Now compute one such representative vector V for each of the faces. I should
think that the correct face is the one whose representative vector has the
smallest dot product with your test vector pointing to some point on the
sphere.

Oops. I meant the LARGEST dot product.
 
You could project the vector onto the plane of each face, and see which plane has the largest projection.

Edit: I think this is the same as what pleknoid is saying.
 
Last edited:
maze said:
You could project the vector onto the plane of each face, and see which plane has the largest projection.
Hmmm. Does this really work? Consider a point on the sphere whose vector is perpendicular to one of the faces (i.e. the reference vector for the face, as defined in my post above). The projection of this vector onto its face would be zero, whereas the projection onto the other faces (excluding an opposite face) would not be zero. i.e. the largest projection would select the wrong face.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 3 ·
Replies
3
Views
863
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 14 ·
Replies
14
Views
3K