Re: [NTG-context] MetaPost cutdraw

2022-07-06 Thread Mikael Sundqvist via ntg-context
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

2022-07-06 Thread Henning Hraban Ramm via ntg-context

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

2022-07-06 Thread 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?

\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

2022-07-05 Thread Aditya Mahajan via ntg-context
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

2022-07-05 Thread Henning Hraban Ramm via ntg-context

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
___