In that tutorial I mentioned using text. Instead of text, try making an 8 rows by 8 columns of same size circles. Then, select them all and combine them together. Then follow the steps shown in the graphic tutorial. It should yield the end result you are seek. If this works for 8 by 8 circles, it should work for any number of circles (or other objects, converted to paths). I am not able to test this out tonight. Perhaps tommorrow. Let me know how this works. Thanks.
(Or try oblio's idea ... in that same topic as a way to go forward. )
You probably will need to adjust the width and height parameters and the reference to the image itself. ou can do a fish-eye distortion using a SVG filter (feDisplacement) but you need a very specific displacement map to achieve it. This is an example I wrote based on Inkscape's reference image for fisheye distortion. See other examples for how to express this in D3 syntax.
Success! But it's slow. You need two tools and endless patience.
First create your globe. Extensions > Render > Wireframe Sphere Draw a circle and stretch this into one square of the globe. Path > Path Effects > Perspective/Envelope Use "snapping to path intersections" for accurate placement of the perspective envelopes. Repeat. Repeat. Repeat.
There's a shortcut for symmetrical globes like yours. Draw the circles in one quadrant then duplicate and flip these for the other three quadrants.
Small circles projected on a sphere look the same as small circles projected on flat tiles. The difference is visually imperceptible except near the horizon where there's more distortion and curvature
Maybe you could divide the globe into curved tiles and use Extensions > Modify Path > Envelope for each circle. This is geometrically more accurate but also much more tedious. (I'm not going to try it.)
Now that I look closely at your original post, I see that your image is a "clipped" sphere that doesn't extend to the poles. This avoids the distorted horizon problem by simply cutting it off.
I was trying to figure out earlier how to get his desired result, using BSpline LPE. But could not do it effectively. Did you apply the BSpline just once? Or did you take the wireframe result, subtractnit from another background shape (such as a rectangle ... and/or create multiple ovals) and then apply the BSpline LPE to each oval individually?
Can you share more of the steps you get this great result?
Thanks, Ken. The result was almost impossible under 1.0.1 due to continuous crashes AND a bug that makes the background lines visible despite the proper option checked. Also with 1.1 the result is far from being a beauty one. Actually I figured it out with 1.0.2, after several trials.
subtractnit from another background shape (such as a rectangle ... and/or create multiple ovals) and then apply the BSpline LPE to each oval individually?
No, not to each oval... Basically:
-deeply ungroup the wireframe sphere (sometimes you've to delete the outmost circle, especially if it is superimposed to a thinner one), convert all to paths then combine; -paste its dimensions to a circle (filled, no strokes). Put the latter in background, convert as path, superimpose the sphere, then path/division
-give the blocks a thin stroke, delete the fill. Combine it.
-simplify the path. The best result is when this puts nodes at the crossings between "latitude" and "longitudes" lines. Trim manually if necessary. In simple spheres the task is now almost over, in more elaborated spheres now you've a mess 😥.
-apply Bspline LPE once. This makes the "blocks" rounded in a mocked perspective. Not perfect (some oval are not so regular), maybe not the best solution at all (you can "wrap" only circles), but a good deal between precision and time spent. Doing it manually was well beyond my laziness. BTW, I'd love to have the "wrapping tool" in the future of Inkscape.
Sorry I can't change the title...
is it possible to creat a logo world sphere cercles with inkscape ?
http://imppao.free.fr/images/2021/21dc_test_cercle4_blender_inkscape.png
Thanks for your help
Imppao
Hi, imppao. I shared a short tutorial a while back that may do this.
https://inkscape.org/forums/tutorials/tutorial-make-text-fit-inside-circle/
In that tutorial I mentioned using text. Instead of text, try making an 8 rows by 8 columns of same size circles. Then, select them all and combine them together. Then follow the steps shown in the graphic tutorial. It should yield the end result you are seek. If this works for 8 by 8 circles, it should work for any number of circles (or other objects, converted to paths). I am not able to test this out tonight. Perhaps tommorrow. Let me know how this works. Thanks.
(Or try oblio's idea ... in that same topic as a way to go forward. )
See these ideas ... fish eye distortion ...
https://graphicdesign.stackexchange.com/questions/3076/fisheye-effect-in-inkscape
https://github.com/ucuapps/InkscapeBarrelDistortion
and this very dated onen...
https://wiki.inkscape.org/wiki/SpecLensesLPE
Maybe creating and using displacement maps ...
https://youtu.be/kP7yu66Qx64
Also, using GImp, not Inkscape ...
https://technical-tips.com/blog/photography/fisheye-effect-in-gimp-create-6253
There are some Gimp related links here:
https://inkscape.org/zh-hant/forums/beyond/image-wrapped-around-a-sphere-or-any-shape/
And last,
This code -for inkscape - may work for you.
See this link:
https://stackoverflow.com/questions/28824088/fisheye-distortion-and-codeflower
You probably will need to adjust the width and height parameters and the reference to the image itself.
ou can do a fish-eye distortion using a SVG filter (feDisplacement) but you need a very specific displacement map to achieve it. This is an example I wrote based on Inkscape's reference image for fisheye distortion. See other examples for how to express this in D3 syntax.
<filter id="trilight" x="-50%" y="-50%" width="200%" height="200%">
<feImage xlink:href="http://tavmjong.free.fr/INKSCAPE/MANUAL/images/FILTERS/bubble.png" result="lightMap" x="30" y="0" width="600" height="600"/>
<feDisplacementMap in2="lightMap" in="SourceGraphic" xChannelSelector="R" yChannelSelector="G" scale="10">
</feDisplacementMap>
</filter>
Thanks Ken Wilson :)
but it doesn't work with Bezier Envelope extension (inkscape 1.1)
I´d go with tiled Clones - PNG export and distortion filter in GIMP - back to Inkscape via SVG:
I made a square version using tiled clones but I didn't get to the spherical arrangement.
I tried tiled clone to scan but didn´t work either - as I expected:
Thanks for your help, but i want to make this, only with inkscape !
if it's possible :)
Success! But it's slow. You need two tools and endless patience.
First create your globe. Extensions > Render > Wireframe Sphere
Draw a circle and stretch this into one square of the globe. Path > Path Effects > Perspective/Envelope
Use "snapping to path intersections" for accurate placement of the perspective envelopes.
Repeat. Repeat. Repeat.
There's a shortcut for symmetrical globes like yours. Draw the circles in one quadrant then duplicate and flip these for the other three quadrants.
Thanks Paddy_CAD,
but it's not really the same thing :)
Where did I go wrong?
Your Latidudes are parallel and not bent.
Of course. That's true. Corrected below.
Small circles projected on a sphere look the same as small circles projected on flat tiles. The difference is visually imperceptible except near the horizon where there's more distortion and curvature
Maybe you could divide the globe into curved tiles and use Extensions > Modify Path > Envelope for each circle. This is geometrically more accurate but also much more tedious. (I'm not going to try it.)
Now that I look closely at your original post, I see that your image is a "clipped" sphere that doesn't extend to the poles. This avoids the distorted horizon problem by simply cutting it off.
I've made a single path out of the wireframe, simplified it then applied Bspline LPE. It's faster (you apply the effect once) but need some trimming.
Beautiful work, Marco.
I was trying to figure out earlier how to get his desired result, using BSpline LPE. But could not do it effectively. Did you apply the BSpline just once? Or did you take the wireframe result, subtractnit from another background shape (such as a rectangle ... and/or create multiple ovals) and then apply the BSpline LPE to each oval individually?
Can you share more of the steps you get this great result?
Thank you.
Thanks, Ken.
The result was almost impossible under 1.0.1 due to continuous crashes AND a bug that makes the background lines visible despite the proper option checked. Also with 1.1 the result is far from being a beauty one.
Actually I figured it out with 1.0.2, after several trials.
No, not to each oval... Basically:
-deeply ungroup the wireframe sphere (sometimes you've to delete the outmost circle, especially if it is superimposed to a thinner one), convert all to paths then combine;
-paste its dimensions to a circle (filled, no strokes). Put the latter in background, convert as path, superimpose the sphere, then path/division
-give the blocks a thin stroke, delete the fill. Combine it.
-simplify the path. The best result is when this puts nodes at the crossings between "latitude" and "longitudes" lines. Trim manually if necessary. In simple spheres the task is now almost over, in more elaborated spheres now you've a mess 😥.
-apply Bspline LPE once. This makes the "blocks" rounded in a mocked perspective.
Not perfect (some oval are not so regular), maybe not the best solution at all (you can "wrap" only circles), but a good deal between precision and time spent. Doing it manually was well beyond my laziness. BTW, I'd love to have the "wrapping tool" in the future of Inkscape.
Thank you for the details, your persistence, and your creativity.
Excellent in every way.
Thank you!