Jump to content

(hemi)spherical distributed points / concurent vectors


mireazma

Recommended Posts

I know nothing about curved geometry but maybe I don't have to, after all.

I want to evenly distribute an arbitrary number of points on a hemisphere.
I visualized for example 1000 vectors starting from the same origin, on one side of a plane containing the origin. If they are normalized they'll resemble a hemisphere. Being evenly spaced means the 'tips" make for corners of equilateral triangles.
I guess there are at least 2 possibilities: on the top of the "dome" there's a point OR the center of a triangle.

Basically I want to find the vectors.

Can it be explained with matrices at most? Quaternions are a little too hard for me and be it only if there's no other choice.

Thanks in advance.

Link to comment
Share on other sites

It seems to me that it would be easier for you to work in spherical coordinates. In the thread, Deriving formulae for spheres, I posted several equations for deriving properties of spheres. The equation for deriving a vector from the center of a sphere located at the origin to the surface of the sphere is

 

[math]\text{V}\left(\rho,\,\varphi,\,\theta\right)=\left\langle\,\rho\,\text{sin}\,\varphi\,\text{cos}\,\theta,\,\,\rho\,\text{sin}\,\varphi\,\text{sin}\,\theta,\,\,\rho\,\text{cos}\,\varphi\,\right\rangle[/math]

 

where [math]\rho[/math] is the radius [math]\left\{\rho\in\mathbb{R}\,|\,0\le\rho<\infty\right\}[/math], [math]\varphi[/math] is the inclination [math]\left\{\varphi\in\mathbb{R}\,|\,0\le\varphi\le \pi\right\}[/math], and [math]\theta[/math] is the azimuth [math]\left\{\theta\in\mathbb{R}\,|\,0\le\theta\le 2\pi\right\}[/math].

 

You can use the above equation to derive the vectors you need.

Edited by Daedalus
Link to comment
Share on other sites

Here is a possible procedure, that partly solves your question.

 

It is based on the principle that every point must be a maximum distance from every neighbour.

This can be achieved by placing the points at the vertices of equilateral spherical triangles and maximising the size of their sides.

 

Let N = number of points.

 

Start with N = 1. this point can go anywhere on the hemisphere.

 

add 1 point so N =2

 

The maximum distance apart they can be is half a great circle so they must reside on the base circle of the upturned pudding basin, at opposite ends of a diameter.

 

The next stage of my scheme adds three points to make 5 in all. This is because you need to bisect three great half circles to maintain the equidistance criterion. This generates the first set of spherical triangles

 

From then on you can add points by bisecting each side, placing additional points at each bisection point.

You cannot have N = to any number you like and keep the equispacing criterion.

I apologise for the poor quality of the sketches, but they were freehand in a hurry.

 

post-74263-0-21311900-1381181749_thumb.jpg

 

Link to comment
Share on other sites

Thank you both for replying.

Daedalus, I'm lost with the double integrals thing; I was hoping for a more intuitive description. I'm just a lousy programmer and an even lousier mathematician and all I can assimilate is that if I know the given triplet (r, θ, φ) for a point I can get its corresponding vector by using the formula you supplied. This solves a half of my problem. The other half is to split the azimuth and inclination angles so to even-space the vectors, where studiot's reasoning comes into play.

studiot, I have 2 things to be clarified about in your reasoning:

 

1. I know curved geometry has some differences compared to euclidian (?) but can a triangle be both right and equilateral at the same time?

All appearances say it can and it is in your sketches.

 

2. Can the circles (horizontal spherical sections) be divided in numbers other than powers of 2 and still mentain equidistant points?

 

Imagine the second picture in your sketch: we section the hemisphere by a horizontal plane at any point. I presume equilateral spherical triangles result independently of the elevation of the sectioning plane (resulting circle).

a. If I'm right, if we split any circle in a number other than 4, the horizontal sides will be of course, shorter / longer, so no more "equilaterality".

b. If I'm wrong, it follows that there is a unique elevation corresponding to a specific number of arcs of the circle.

Although I think (a) is true, how can this be explained:

In plane geometry we have a hexagon formed by 6 equilateral triangles (all triangles with a common corner -- center of hex and the additional corners common 2 by 2).

If we only take 5 of those triangles and close the resulting gap, the whole shape would pop-up into a pentagonal pyramid. So a curve plane could contain all of the points. This curved "mesh" is a "patch" of a sphere, right? I presumed this patch can be extended by additional equilateral spherical triangles but from this point on it's out of my reach.

I'm insisting on non powers of 2 because I have a fixed number of points / vectors, limited by the requirements of the software I'm making (I think it's 1000)

 

I'm sorry I don't have a sketch for a more intuitive reading but I did my best at clarity of the exposition.

Link to comment
Share on other sites

Second point first

 

 

Can the circles (horizontal spherical sections) be divided in numbers other than powers of 2 and still mentain equidistant points?

 

If you look at the development of my model from sketch 1 to 2, you cannot introduce fewer points otherwise some lines would be bisected and others not.

If you split the circle into more points then you would have to split all the other connecting lines into the same number as well.

 

 

1. I know curved geometry has some differences compared to euclidian (?) but can a triangle be both right and equilateral at the same time?

All appearances say it can and it is in your sketches.

 

The internal angles of Spherical triangles add up to more than 180. It is called spherical excess and varies with the size (area) of the triangle.

Think of lines of lat and long on the globe. All lines of longitude meet each other at the pole and intersect the equator at 90. So you have two angles of 90 plus the polar angle in every such spherical triangle.

 

Incidentally Daedalus approach will get you vectors, but using angles to distribute the lengths of arc evently is difficult since the sin and cos functions are non linear.

Link to comment
Share on other sites

Thanks again.

 

I can't get around the fact that the number of points/vectors is fixed (100) and no point resides on the great circle. With these conditions I think I cannot manage to solve it. I can't see a formula but I get the feeling it's doable through derivation [edited] integration over the curvature (maybe I'm talking non-sense but the double integral stands for the double curvature of the sphere -- 1 would by a cylinder) [/edited] and I don't know to derive redface.gif Yes I missed the derivation and integration classes and from the web all I could learn is what they stand for but can't make calculations of their type, not taking into account the curved geometry.

If I could see an example for an arbitrary number of points, i.e. the operations involved, I guess I would know to adapt it to any case, i.e. 100, 1000.

So, if I'm not asking too much from anybody who cares to help me with this matter, I'd appreciate such an example very much.

It's the only mathematics related part of my software -- the only part that keeps me from developing it.

Edited by mireazma
Link to comment
Share on other sites

 

I can't get around the fact that the number of points/vectors is fixed (100) and no point resides on the great circle.

 

Distances on the surface of a sphere are measured on great circles. Great circles include a diameter, though they may be vert, horiz or slant.

All surface points are on an infinite number of great circles.

 

I have had a further thought.

 

If instead of introducing one extra great half circle through the pole, after the first two points on the equator, you can add two at 60 degrees dividing each great half circle into 3 great arcs of 60. These will intersect the equator at points dividing that into great arcs of 60 as well. There will now be no point at the pole, a question you originally asked about.

Edited by studiot
Link to comment
Share on other sites

You have an eye for space geometry. I barely managed to just picture the idea. I'm not sure I have correctly but I don't know what to do further; I added the red points and something is off with eventual additional resulting blue arcs but I can't see what.

post-82219-0-02138700-1381346271.jpg

Link to comment
Share on other sites

I added just two points to each half circle, you added five which is heaps more complicated. I suggest a globe (football?) to do that.

post-74263-0-42822200-1381349603_thumb.jpg

 

There is a method known as chord factors for matching multifaceted polyhedra to spheres and domes, and triangulation of the same for finite element meshes. The polyhedra can be made so that the vertices, which touch the sphere are equispaced.

 

http://www.domerama.com/calculators/chord-charts/

Edited by studiot
Link to comment
Share on other sites

Thank you for still sticking with me.

 

Wait, CE = FD < diameter of the sphere which means in our situation -- where they don't intersect -- that the subtending arcs are smaller than a semi great circle.

 

EDIT:

thanks a lot for the link, it is a new stub to explore in my quest. I won't give up until I have proof that it's impossible to get what I want.

Edited by mireazma
Link to comment
Share on other sites

sorry for joining late - but if I may ask a newbie question (based on op as i havent really had time to digest rest).

 

You mention "Being evenly spaced means the 'tips" make for corners of equilateral triangles." - yes but is that useful? Three tips will form an equilateral triangle - but not necessarily with those closest to it. Just look at the intersection of a cube or a dodecahedron with a sphere - those points are maximally space and yet the basic shape enclosed is square and pentagonal respectively . The second order shape (ie with a point in the centre) will be an equilateral triangle - but not necessarily the primary.

Link to comment
Share on other sites

I don't understand "not necessarily the primary". Are you saying I could use other "cell" shapes, i.e. square, and still have equally spaced vertices on the surface of the sphere?

 

I need as few vertices as possible per facet, but since 2 is impossible, I'm left with 3. This is because given a position on the sphere I have to compute its characteristics by interpolation between the neighboring vertices.

It seemed at least at the beginning that it's as easy to generate equilateral triangles as it is for squares etc. but considerably more inefficient to interpolate in a square compared to a triangle.

 

EDIT:

I would have used a tessellated icosahedron (seen in the link you gave, studiot) but the small triangles resulting by division, projected on the sphere, have a different topology.

Otherwise, there would have exist the respective regular polyhedron and I understand the only regular ones are the platonic ones.

Edited by mireazma
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.