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.
-
3This 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
-
3Related: https://mathematica.stackexchange.com/questions/45410/sketch-type-graphics-with-transparency-and-dashed-hidden-lines – Goofy Mar 18 '24 at 16:29
2 Answers
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
}]
- 51,463
- 1
- 23
- 57
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.
- 4,416
- 16
- 28

