Quelle fonction permet de fusionner deux éléments (path) en un dans METAPOST ? Je n’ai pas pu la trouver, notamment parce que je ne sais pas trop quel mot utiliser. J’ai cherché merge dans le manuel de METAPOST et regardé la liste des fonctions du manuel, sans grand succès. En guise d’exemple, il faudrait dessiner les contours d’une figure issue de la fusion des cercles p et q. Pour des raisons de commodités, je donne un ECM pour ConTeXt. Ouvrir dans l'éditeur Overleaf
\starttext \startMPcode path p,q ; p:= fullcircle scaled 15 ; q:= p xshifted 10 ; draw p withcolor black ; draw q withcolor black ; \stopMPcode \stoptext Posée 13 Oct '18, 23:11 sztruks |
La réponse de Maxime me rappelle opportunément que je devais tester la solution que Bogusław Jackowski, le gourou Metapost de la communauté polonaise des utilisateurs de TeX, m’avait communiquée. Elle fait intervenir plain_ex.mp, du paquet METATYPE1. Il m’avait dit que le paquet roex pouvait aussi être utile. Ouvrir dans l'éditeur Overleaf
\starttext \startMPpage input plain_ex; path p,q,r; p:= fullcircle scaled 50 ; q:= p xshifted 30; draw p withcolor black; draw q withcolor black; find_outlines(p, q)(r) ; %si je comprends bien, find_outlines sort une figure appelée r1 dans le cas présent fill r1 withcolor blue ; \stopMPpage \stoptext Publiée 27 Jui '20, 19:51 sztruks |
La solution est peut-être le passage par une Ouvrir dans l'éditeur Overleaf
path p,q ; picture pq; pq := image( p:= fullcircle scaled 15 ; q:= p shifted (10,0) ; draw p withcolor black ; draw q withcolor black ; ); beginfig(0); draw pq; endfig; end. Publiée 26 Jui '20, 16:06 Maxime ♦ 1
Merci. L’inconvénient est que je dois pouvoir appliquer cette solution à des sous composantes du dessin. Cette réponse me rappelle utilement que j’avais reçu une réponse d’un spécialiste, que je communique donc.
(27 Jui '20, 19:37)
sztruks
|
@sztruks Les salutations sont à éviter sur le présent site : celle(s) de votre contribution a (ont) été supprimée(s). Sur ce, une question sur METAPOST et un ECM pour ConTeXt ? Bravo !