Re: [NTG-context] Making metafun pictures fainter (shading, uncolored clash)
Hi List, I made good progress producing fainter pictures in metafun. Here is a uniformly accelerated cow in the style of my book. I abandoned transparency, since I actually don’t want to see through anything. I am using uncolored to get the fade. It works great with a picture that is made with fill and draw, but it doesn’t work with shading. The example below has a flat disk and a round ball. The disk looks fine, but the shaded ball is not surviving the application of inverted / uncolored. \startMPinclusions picture disk, ball; disk := image( fill fullcircle scaled 1cm withcolor .4white; draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); ball := image( fill fullcircle scaled 1cm withshademethod "circular" withshadecenter (.25,.25) withshadecolors (.8white, black); draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); \stopMPinclusions \startMPpage draw inverted (disk uncolored .1white) ; draw inverted (disk uncolored .2white) shifted (0.25cm,0) ; draw inverted (disk uncolored .5white) shifted (1cm,0) ; draw disk shifted (2.25cm,0) ; draw inverted (ball uncolored .1white) shifted (0, -2cm) ; draw inverted (ball uncolored .2white) shifted (0.25cm, -2cm) ; draw inverted (ball uncolored .5white) shifted (1cm, -2cm) ; draw ball shifted (2.25cm, -2cm) ; \stopMPpage Same result in LMTX and MkIV. (ConTeXt ver: 2021.09.17 10:01 LMTX fmt: 2021.9.21 int: english/english) I’m pretty happy with this uncolored trick, and will be even happier if I can get it to work with the shadings. Any suggestions? Gavin
On 10/11/2021 6:30 AM, Gavin via ntg-context wrote:
Hi List,
I made good progress producing fainter pictures in metafun. Here is a uniformly accelerated cow in the style of my book.
I abandoned transparency, since I actually don’t want to see through anything. I am using uncolored to get the fade. It works great with a picture that is made with fill and draw, but it doesn’t work with shading. The example below has a flat disk and a round ball. The disk looks fine, but the shaded ball is not surviving the application of inverted / uncolored.
\startMPinclusions picture disk, ball; disk := image( fill fullcircle scaled 1cm withcolor .4white; draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); ball := image( fill fullcircle scaled 1cm withshademethod "circular" withshadecenter (.25,.25) withshadecolors (.8white, black); draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); \stopMPinclusions
\startMPpage draw inverted (disk uncolored .1white) ; draw inverted (disk uncolored .2white) shifted (0.25cm,0) ; draw inverted (disk uncolored .5white) shifted (1cm,0) ; draw disk shifted (2.25cm,0) ;
draw inverted (ball uncolored .1white) shifted (0, -2cm) ; draw inverted (ball uncolored .2white) shifted (0.25cm, -2cm) ; draw inverted (ball uncolored .5white) shifted (1cm, -2cm) ; draw ball shifted (2.25cm, -2cm) ; \stopMPpage
Same result in LMTX and MkIV. (ConTeXt ver: 2021.09.17 10:01 LMTX fmt: 2021.9.21 int: english/english)
I’m pretty happy with this uncolored trick, and will be even happier if I can get it to work with the shadings.
Any suggestions? \startMPpage fill fullcircle scaled 10cm shifted (3cm,0) withcolor white ; fill fullcircle scaled 10cm shifted (3cm,0) withcolor black withtransparency (1,.25) ;
fill fullcircle scaled 5cm shifted (3cm,0) withcolor .25[red,white] ; \stopMPpage ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi List, Thanks, Hans, for your suggestion. In the end, I decided that I actually liked the silhouettes better than a faint version of the whole picture. Silhouettes clearly show the motion, but are far less visually distracting. In the figure below, the projectile motion’s are clear, including the cow’s constant angular velocity, but the final state still pops out. I used “redecorated" to get the pictures with light, solid grays. Below is code for producing just the ball, if anyone wants to see the details. It includes a simple “shadow" macro that produces a shadow of any picture with an adjustable gray. I’m having lots of metafun! Gavin \startMPinclusions picture ball; ball := image( fill fullcircle scaled 1cm withshademethod "circular" withshadecenter (.25,.25) withshadecolors (.8white, black); draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); vardef shadow(expr p, t) = draw redecorated (draw p) withcolor t[background,0.8background]; enddef; \stopMPinclusions \startMPpage pair p; for i=0 upto 10: p := (i*cm/10, -((i-7.33)**2)*cm/7); shadow(ball shifted p, (i+1)/10) ; endfor draw ball shifted(1.1cm, -1.92cm) ; \stopMPpage
On Oct 11, 2021, at 2:53 AM, Hans Hagen
wrote: On 10/11/2021 6:30 AM, Gavin via ntg-context wrote:
Hi List, I made good progress producing fainter pictures in metafun. Here is a uniformly accelerated cow in the style of my book. I abandoned transparency, since I actually don’t want to see through anything. I am using uncolored to get the fade. It works great with a picture that is made with fill and draw, but it doesn’t work with shading. The example below has a flat disk and a round ball. The disk looks fine, but the shaded ball is not surviving the application of inverted / uncolored. \startMPinclusions picture disk, ball; disk := image( fill fullcircle scaled 1cm withcolor .4white; draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); ball := image( fill fullcircle scaled 1cm withshademethod "circular" withshadecenter (.25,.25) withshadecolors (.8white, black); draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); \stopMPinclusions \startMPpage draw inverted (disk uncolored .1white) ; draw inverted (disk uncolored .2white) shifted (0.25cm,0) ; draw inverted (disk uncolored .5white) shifted (1cm,0) ; draw disk shifted (2.25cm,0) ; draw inverted (ball uncolored .1white) shifted (0, -2cm) ; draw inverted (ball uncolored .2white) shifted (0.25cm, -2cm) ; draw inverted (ball uncolored .5white) shifted (1cm, -2cm) ; draw ball shifted (2.25cm, -2cm) ; \stopMPpage Same result in LMTX and MkIV. (ConTeXt ver: 2021.09.17 10:01 LMTX fmt: 2021.9.21 int: english/english) I’m pretty happy with this uncolored trick, and will be even happier if I can get it to work with the shadings. Any suggestions? \startMPpage fill fullcircle scaled 10cm shifted (3cm,0) withcolor white ; fill fullcircle scaled 10cm shifted (3cm,0) withcolor black withtransparency (1,.25) ;
fill fullcircle scaled 5cm shifted (3cm,0) withcolor .25[red,white] ; \stopMPpage
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi List, Thanks, Hans, for your suggestion. In the end, I decided that I actually liked the silhouettes better than a faint version of the whole picture. Silhouettes clearly show the motion, but are far less visually distracting. In the figure below, the projectile motion’s are clear, including the cow’s constant angular velocity, but the final state still pops out. I used “redecorated" to get the pictures with light, solid grays. Below is code for producing just the ball, if anyone wants to see the details. It includes a simple “shadow" macro that produces a shadow of any picture with an adjustable gray. I’m having lots of metafun! Gavin \startMPinclusions picture ball; ball := image( fill fullcircle scaled 1cm withshademethod "circular" withshadecenter (.25,.25) withshadecolors (.8white, black); draw fullcircle scaled 1cm withpen pencircle scaled 0.8pt ;); vardef shadow(expr p, t) = draw redecorated (draw p) withcolor t[background,0.8background]; enddef; \stopMPinclusions \startMPpage pair p; for i=0 upto 10: p := (i*cm/10, -((i-7.33)**2)*cm/7); shadow(ball shifted p, (i+1)/10) ; endfor draw ball shifted(1.1cm, -1.92cm) ; \stopMPpage
participants (2)
-
Gavin
-
Hans Hagen