Re: [NTG-context] MetaPost cutdraw
Hi, On Wed, Jul 6, 2022 at 11:29 AM Henning Hraban Ramm via ntg-context wrote: > > Am 06.07.22 um 09:15 schrieb Hans Hagen via ntg-context: > > On 7/6/2022 7:10 AM, Aditya Mahajan via ntg-context wrote: > >> On Wed, 6 Jul 2022, Henning Hraban Ramm via ntg-context wrote: > >> > >>> Hi, I’m trying to understand MetaPost better. > >>> > >>> I’d like to draw a fat line that’s cut at its end points. > >> > >> You mean like linecap = butt? > > Yes, but that doesn’t behave differently. > > > > \startMPpage[offset=5mm] > > path p; > > > > p := origin -- (7cm,0); > > > > interim linecap := squared; > > > > draw p withpen ((pensquare) scaled 5mm) withcolor red ; > > draw envelope ((pensquare) scaled 5mm) of p withcolor > > green ; > > draw envelope ((pensquare rotated eps) scaled 5mm) of p withcolor > > blue ; > > \stopMPpage > > > > (there is an "ontarget" chapter about envelopes; mikael and i spent > > quite some time figuring out a few things but in the end conclused that > > mp des the right thing given the strategy it folows but it definitely > > has side effects) > > Thank you for the insight, but does that mean I can’t get my “butt > capped” lines and I must shorten the lines by half the pen size? > > Hraban > > ___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > ___ Hraban, with the new upload you can do \startMPpage[offset=1dk] pickup pencircle scaled 4 ; path p ; p := origin -- (20,0) ; draw p withcolor darkyellow ; draw p yshifted 5 withlinecap butt withcolor darkred ; draw p yshifted -5 withlinecap squared withcolor darkgreen ; for i within currentpicture : drawpoints pathpart i withpen pencircle scaled 1 ; endfor ; \stopMPpage That is, you can set linecap for each draw. I hope it helps. /Mikael ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] MetaPost cutdraw
Am 06.07.22 um 09:15 schrieb Hans Hagen via ntg-context: On 7/6/2022 7:10 AM, Aditya Mahajan via ntg-context wrote: On Wed, 6 Jul 2022, Henning Hraban Ramm via ntg-context wrote: Hi, I’m trying to understand MetaPost better. I’d like to draw a fat line that’s cut at its end points. You mean like linecap = butt? Yes, but that doesn’t behave differently. \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); interim linecap := squared; draw p withpen ((pensquare ) scaled 5mm) withcolor red ; draw envelope ((pensquare ) scaled 5mm) of p withcolor green ; draw envelope ((pensquare rotated eps) scaled 5mm) of p withcolor blue ; \stopMPpage (there is an "ontarget" chapter about envelopes; mikael and i spent quite some time figuring out a few things but in the end conclused that mp des the right thing given the strategy it folows but it definitely has side effects) Thank you for the insight, but does that mean I can’t get my “butt capped” lines and I must shorten the lines by half the pen size? Hraban ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] MetaPost cutdraw
On 7/6/2022 7:10 AM, Aditya Mahajan via ntg-context wrote: On Wed, 6 Jul 2022, Henning Hraban Ramm via ntg-context wrote: Hi, I’m trying to understand MetaPost better. I’d like to draw a fat line that’s cut at its end points. You mean like linecap = butt? \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); interim linecap := butt; draw p withpen pencircle scaled 5mm; p := p shifted (0,2cm); interim linecap := rounded; draw p withpen pencircle scaled 5mm; p := p shifted (0,2cm); interim linecap := squared; draw p withpen pencircle scaled 5mm; \stopMPpage I learned, “cutdraw” should do the trick, but I get a parallelogram instead of a rectangle. Seems to be something weird with pensquare: \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); % interim linecap := butt; cutdraw p withpen pensquare scaled 5mm; p := p shifted (0,2cm); interim linecap := rounded; draw p withpen pensquare scaled 5mm; p := p shifted (0,2cm); interim linecap := squared; draw p withpen pensquare scaled 5mm; \stopMPpage \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); interim linecap := squared; draw p withpen ((pensquare) scaled 5mm) withcolor red ; draw envelope ((pensquare) scaled 5mm) of p withcolor green ; draw envelope ((pensquare rotated eps) scaled 5mm) of p withcolor blue ; \stopMPpage (there is an "ontarget" chapter about envelopes; mikael and i spent quite some time figuring out a few things but in the end conclused that mp des the right thing given the strategy it folows but it definitely has side effects) Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] MetaPost cutdraw
On Wed, 6 Jul 2022, Henning Hraban Ramm via ntg-context wrote: > Hi, I’m trying to understand MetaPost better. > > I’d like to draw a fat line that’s cut at its end points. You mean like linecap = butt? \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); interim linecap := butt; draw p withpen pencircle scaled 5mm; p := p shifted (0,2cm); interim linecap := rounded; draw p withpen pencircle scaled 5mm; p := p shifted (0,2cm); interim linecap := squared; draw p withpen pencircle scaled 5mm; \stopMPpage > I learned, “cutdraw” should do the trick, but I get a parallelogram > instead of a rectangle. Seems to be something weird with pensquare: \startMPpage[offset=5mm] path p; p := origin -- (7cm,0); % interim linecap := butt; cutdraw p withpen pensquare scaled 5mm; p := p shifted (0,2cm); interim linecap := rounded; draw p withpen pensquare scaled 5mm; p := p shifted (0,2cm); interim linecap := squared; draw p withpen pensquare scaled 5mm; \stopMPpage Aditya___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
[NTG-context] MetaPost cutdraw
Hi, I’m trying to understand MetaPost better. I’d like to draw a fat line that’s cut at its end points. I learned, “cutdraw” should do the trick, but I get a parallelogram instead of a rectangle. What’s wrong? Hraban \startMPpage draw (0,20)--(20,20) withpen pensquare scaled 10; cutdraw (0,0)--(20,0) withpen pensquare scaled 10; % just to show start and end draw (0,-10)--(0,30); draw (20,-10)--(20,30); \stopMPpage ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___