Spherical Projection Origin

project
rhino5

#1

I’m trying to make a globe as a truncated icosahedron, a soccer ball shape.

I have vectors for countries wrapped as a sphere, just how I want them. Is there a way to project them from the sphere to the polygon from a central origin? like a light source from the center of the sphere?

I messed around for a while with an unwrapped icosahedron as a tiling of pentagons and hexagons, trying to manipulate a world map into those shapes. By the time I was close, the file had lost a bunch of information and the vectors were all messed up.

Projecting is the precise and efficient way to do it, but I haven’t found the method yet…


(Pascal Golay) #3

Hi Marc - Setting the texture mapping for your object to use spherical mapping is where I’d start I guess - ApplySphericalMapping - does that help at all?

Oh, yeah, sorry, vectors… if they are already on a sphere, use Pull to suck them to your target object…

-Pascal


#4

in case you have the map as curves, project does not seem to deliver a surface normal projection. but you can use OffsetNormal and distance it somewhere beyond the icosahedron, then loft the curves from the sphere with the offset and intersect with the icosahedron.


#5

Hey @pascal

I started with some texture mapping, I could get it to work, But I need the vectors after the fact. I dont know how to get them from the texture after its wrapped.


(Pascal Golay) #6

Hi Marc - yeah, I read that too quickly - if you have the vectors on the sphere you can use Pull to suck them onto the target objects. If they are not already on the sphere we may be able to get them there - can you post a file?

-Pascal


#7

You cannot wrap vectors on a sphere, but you can wrap curves and surfaces.

Make a point in the center of the icosahedron. If the countries are curves, use ExtrudeCrvToPoint to extrude them to the point. If the countries are surfaces, use ExtrudeSrfToPoint to extrude them to the point. The last step is using IntersectTwoSets to intersect the extrusions with the icosahedron.


#8

@pascal @Andrew_Nowicki file itself is too big. but the extrude to point and intersection worked beautifully


#9

now to flatten it and divide into individual polygon facets…

edges can be turned into curves right?


#10

pulling was giving me some weird results around the seams.


(Pascal Golay) #11

Hi Marc - I’d try:

  • DupFaceBorder and window around the whole thing to get the edges as curves.
  • Assuming the object is joined and closed, use UnjoinEdge to unjoin some edges to make something that will unfold - I’d say this might turn out to be tricky and you may end up flattening in stages,
  • UnrollSrf, including all the curves you want to flatten, probably with Explode=No.

-Pascal