Thanks Aditya! One can learn a lot with your answers ! In the Metafun manual I see enlonged but I did not know to use it.
Best regards: Otared > On 9 Dec 2020, at 21:38, Aditya Mahajan <adit...@umich.edu> wrote: > > On Wed, 9 Dec 2020, Otared Kavian wrote: > >> Hi Aditya, >> >> Thanks for the alternative method, which comes handy if one wishes to extend >> the straight line by a different amount at either end: >> >> \starttext >> \startMPcode >> z1 = (1cm,3cm) ; >> z2 = (5cm, 9cm) ; >> z3 = 1cm * dir(angle (z2 - z1)) shifted z2 ; >> z4 = -.5cm*dir(angle(z2 - z1)) shifted z1 ; >> draw z1 -- z3 ; >> draw z4 -- z1 ; >> draw z1 -- z2 withcolor red ; >> \stopMPcode >> \stoptext > > Or just redefine shortened to accept a pair! > > \startMPdefinitions > primarydef p shortened d = > reverse ( ( reverse (p enlonged -xpart paired(d)) ) enlonged -ypart > paired(d) ) > enddef ; > \stopMPdefinitions > > > > \starttext > \startMPpage > z1 = (1cm,3cm) ; > z2 = (5cm, 9cm) ; > draw (z1--z2) shortened (-1cm,-2cm) withcolor blue ; > draw (z1--z2) withcolor red ; > > \stopMPpage > \stoptext > > Now that if you really want to shorten a path, then cutends works better than > shortened > > \startMPdefinitions > primarydef p shortened d = > reverse ( ( reverse (p enlonged -xpart paired(d)) ) enlonged -ypart > paired(d) ) > enddef ; > \stopMPdefinitions > > > \starttext > \startMPpage > z1 = (1cm,3cm) ; > z2 = (5cm, 9cm) ; > path p, q; > p := z1 {up} .. {right} z2; > q := p shifted (6cm, 0); > > draw p withcolor red ; > draw p shortened (1cm,2cm) withcolor blue ; > > draw q withcolor green ; > draw q cutends (1cm,2cm) withcolor blue ; > > \stopMPpage > \stoptext > > 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 > ___________________________________________________________________________________ ___________________________________________________________________________________ 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 ___________________________________________________________________________________