2
$\begingroup$

I have the idea to use ResourceFunction["InverseStereographicProjection"] to project various plane curves onto a sphere for the purpose of 3d printing.

This would require that the plane curve has some kind of thickness so that it can be "booleaned" onto the sphere (shell for 3d printing). I thought I could start with the example shown in Wolfram documentation...(https://resources.wolframcloud.com/FunctionRepository/resources/InverseStereographicProjection)

logspiral = 
Entity["PlaneCurve", "LogarithmicSpiral"]["ParametricEquations"][a, 
b][t]
ParametricPlot[
Evaluate[logspiral /. {a -> 1, b -> .1}], {t, 0, 10 \[Pi]}]
sphericalloxodrome = 
ResourceFunction["InverseStereographicProjection"][logspiral] // 
Simplify

I explored this approach in Stereographic Projection in which I attempted to export the orange object but the resulting stl file was not suitable for 3d printing.

What would be the best way to "solidify" the spiral, use it as a cutter and boolean it onto the shell before exporting it as an stl file? I am relatively new to Mathematica and so I hope I can understand any potential responses correctly. Thanks!

$\endgroup$

1 Answer 1

1
$\begingroup$

I am not sure if I understand "thickness" correctly. I assume that you mean 3D thickness. Then:

fun[a_, b_, t_] = 
 sphericalloxodrome = 
  ResourceFunction["InverseStereographicProjection"][logspiral] // 
   Simplify

curve=ParametricPlot3D[fun[1, 0.1, t], {t, 0, 10 Pi}] /. 
 Line[pts_, rest___] :> Tube[pts, 0.05, rest]

enter image description here

If you want to put this spiral on a sphere you could say:

Show[{curve, Graphics3D[Sphere[]]}]

enter image description here

$\endgroup$
4
  • $\begingroup$ Yes you are correct. Then the idea is to project this 3d spiral onto the 3d shell and perform a boolean operation and export as an stl. $\endgroup$ Nov 13, 2021 at 13:16
  • 1
    $\begingroup$ I hope I interpret correctly what you mean by "project". I added this to my answer. $\endgroup$ Nov 13, 2021 at 13:37
  • $\begingroup$ Well I think the resource function takes care of the projection of the curve from the plane to the sphere? I attempted to cut out the sphere with the spiral cutter via "rr = RegionDifference[reg2, reg1]" where reg2=curve and reg1=fun. Nothing happened. $\endgroup$ Nov 13, 2021 at 14:11
  • $\begingroup$ Note the Sphere is only the surface, a Ball is the body. $\endgroup$ Nov 13, 2021 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.