Hi,
On Sun, Oct 2, 2022 at 3:26 PM Hans Hagen via ntg-context
On 10/2/2022 3:13 PM, Fabrice Couvreur via ntg-context wrote:
Ok, it works very well. Without wanting to insist, how to have the same hatching with two different figures ? see upcoming mail from Mikael
Oh, OK, here it goes. Hans will probably rename things if he adds this. \startMPpage[offset=1dk] vardef Stripe(expr p, a, d) = save thestripe ; picture thestripe ; thestripe := nullpicture ; save diag ; numeric diag ; diag := 0.55*( abs((urcorner boundingbox p) - (llcorner boundingbox p)) ) ; thestripe := image ( draw (-diag,0) -- (diag, 0) && for i = d step d until diag: (-diag, i) -- (diag, i) && (-diag,-i) -- (diag,-i) && endfor nocycle withpen currentpen ; ) ; thestripe := thestripe shifted center boundingbox p ; thestripe := thestripe rotatedaround(center boundingbox p, a) ; clip thestripe to p ; thestripe enddef ; path p ; p := fullcircle scaled 3cm && (unitsquare scaled 2cm shifted (4cm,4cm)) && cycle ; fill p withcolor darkred ; draw Stripe(p,30,.2cm) withcolor darkgreen ; path q ; q := fullsquare randomized 0.3 scaled 3cm yshifted 5cm ; fill q withcolor yellow ; draw Stripe(q,70,.3cm) withcolor red ; draw Stripe(p && q && cycle, -20, .5cm) withcolor "orange" ; draw p ; draw q ; \stopMPpage /Mikael