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

Discussion Overview

The discussion revolves around the problem of identifying which triangular face of an icosahedron a given vector falls within, particularly when the icosahedron is used to approximate a sphere. The participants explore various mathematical approaches and geometric considerations related to this problem.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests checking the angles between the input vector and the vertex vectors of the icosahedron to find the nearest vertices, but notes that this method may fail near the vertices.
  • Another participant proposes calculating a representative vector for each triangular face of the icosahedron, which should be perpendicular to the face and point towards its center, and suggests using the dot product to identify the closest face.
  • A correction is made regarding the use of the dot product, indicating that the largest dot product should be used instead of the smallest.
  • Another approach involves projecting the vector onto the plane of each face and determining which face has the largest projection.
  • Concerns are raised about the projection method, particularly regarding cases where the vector is perpendicular to a face, which could lead to selecting the wrong face based on projection results.

Areas of Agreement / Disagreement

Participants express differing views on the effectiveness of the proposed methods, with some uncertainty about the projection approach and its implications. No consensus is reached on a definitive solution.

Contextual Notes

Limitations include potential inaccuracies when the vector is near vertices or edges of the icosahedron, and the dependence on the geometric properties of the faces and their representative vectors.

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
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 3 ·
Replies
3
Views
976
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K