I'll build on David's answer (if you vote for this one, please also vote for his), since it's been a while since anyone demonstrated the excellent shadow` package on this site.
We start by defining the arrows as in the previous answer:
myarrow[x_, y_] := Graphics[{
Purple,
Thickness[0.02],
Arrowheads[.08],
Arrow[{{x, y}, {x, y - 1.5}}],
Black,
PointSize[0.04],
Point[{x, y}]
}];
arrows = Show[Table[myarrow[x, y], {x, 0, 7, 1}, {y, 0, -4, -2}]];
Then we create the half ellipse:
myGreen = RGBColor[{165, 203, 149}/255];
ellipse = Graphics[{
myGreen,
DiskSegment[{0, 0}, {5, 1}, {Pi, 2 Pi}]
}, ImageSize -> 600]
Now we use the shadow` package to blur the ellipse:
<< shadow`
glowingEllipse = shadow[
ellipse,
ellipse,
"blur" -> 30,
"offset" -> {0, 0},
"color" -> myGreen,
"outline" -> False
]
Finally, we put the arrow and the half ellipse together. We also add the gray line:
Show[
arrows,
Graphics[{
Inset[glowingEllipse, {3.5, -5.5}, {Center, Top}, {10, 2}],
Thick, Lighter@Gray,
Line[{{-0.8, -6}, {7.8, -6}}]
}]
]
Graphics[]
? Do I have to writeArrow[]
24 times? $\endgroup$