4

I am asking for someone's kind help with creating the figure blow for a poster. The figure I have is a bit too basic and I am don't know how to use Photoshop as yet.

enter image description hereMany thanks in advance for any help.

Engineer
  • 119
  • 3
  • 3
    This is possible in Mathematica. Here's some code But seriously, do it in Photoshop, Gimp, Affinity Photo, inkscape or whatever. It will all make this a lot easier and look better in the end. – flinty Mar 18 '24 at 16:13
  • 3
    Related: https://mathematica.stackexchange.com/questions/45410/sketch-type-graphics-with-transparency-and-dashed-hidden-lines – Goofy Mar 18 '24 at 16:29

2 Answers2

6

Something like:

cyl[x_] = {
   Circle[{x + -2, 0}, {0.2, 1}],
   Circle[{x + 2, 0}, {0.2, 1}],
   Line[{{x + -2, 1}, {x + 2, 1}}],
   Line[{{x + -2, -1}, {x + 2, -1}}],
   Arrow[{{x + -2, 0}, {x + -1.92, -0.5}}],
   Arrow[{{x + -2, 0}, {x + -2, 0.7}}],

Dashing[0.005], Circle[{x + -2, 0}, {0.1, 0.7}], Circle[{x + 2, 0}, {0.1, 0.7}], Line[{{x + -2, 0.7}, {x + 2, 0.7}}], Line[{{x + -2, -0.7}, {x + 2, -0.7}}] }; Graphics[{PointSize[0.008], Arrowheads[0.02], Thickness[0.001], cyl[-3], cyl[3], Arrow[{{-0.7, 0}, {0.7, 0}}], Point[{{-5, 0.85}, {5, 0.85}, {-3, 0.7}, {-3, -1}, {3, 1}, {3, -0.7}, {-1, 0.85}, {1, 0.85}}], Text @@@ {{"Rin", {-4.7, 0.3}}, {"Rout", {-4.6, -0.3}}, {"rin", {1.3, 0.3}}, {"rout", {1.3, -0.3}}, {"P", {-5.2, 0.85}}, {"p", {0.8, 0.85}}, {"Q", {-0.8, 0.85}}, {"q", {5.2, 0.85}}, {"R", {-3, 0.85}}, {"S", {-3, -0.85}}, {"r", {3, 0.85}}, {"s", {3, -0.85}}}, ImageSize -> 400 }]

enter image description here

Daniel Huber
  • 51,463
  • 1
  • 23
  • 57
3

You could also import an image of this:

cylinders = Graphics3D[
 {
  {Opacity[0.5], White, 
   Cylinder[{{0, 0, 0}, {10, 0, 0}}, 0.5]},
  {Opacity[0.2], Blue, Cylinder[{{0, 0, 0}, {10, 0, 0}}, 1]

} }, Boxed -> False,ViewPoint -> {-12, -10, 20}]

export:

Export["image.png",Image[cylinders]]

And then annotate the image in Inkscape, etc.

Craig Carter
  • 4,416
  • 16
  • 28