[metapost] fullcircle in metapost language

José Carlos Santos jcsantos at fc.up.pt
Fri Oct 19 16:15:56 CEST 2007


On 19-10-2007 12:55, Pierre Lorenzon wrote:

> Excuse me if this question already occured many times on the
> list but I am an occasional metapost user and did not know the
> existence of this list before today.
> 
> Following metapost code :
> 
> beginfig(1);
>   %tracingall;
>   pair A,B,C,I,Ap,Bp,Cp,As,Bs,Cs; %les points de la figure
>   path Da,Db,Dc; %les bissectrices intérieures
>   numeric alpha,beta,gamma; %les longueurs des côtés
>   A=(0,0);
>   B=(6cm,0);
>   C=(2cm,6cm);
> 
>   %Calcul des longueurs
>   a=abs(B-C);
>   b=abs(C-A);
>   g=abs(A-B);
>   (a+b+g)*alpha = a;
>   (a+b+g)*beta = b;
>   (a+b+g)*gamma = g;
> 
>   %Les points A',B',C'
>   beta*(B-Ap) + gamma*(C-Ap) = (0,0);
>   gamma*(C-Bp) + alpha*(A-Bp) = (0,0);
>   alpha*(A-Cp) + beta*(B-Cp) = (0,0);
> 
>   %Les bissectrices
>   Da = A--Ap;
>   Db = B--Bp;
>   Dc = C--Cp;
> 
>   %Le centre du cercle circonscrit
>   alpha*(A-I) + beta*(B-I) + gamma*(C-I) = (0,0);
> 
>   %Les projetés de I
>   (As-I) rotated 90 = whatever*(C-B);
>   (As-B) = whatever*(C-B);
>   (Bs-I) rotated 90 = whatever*(A-C);
>   (Bs-C) = whatever*(A-C);
>   (Cs-I) rotated 90 = whatever*(B-A);
>   (Cs-A) = whatever*(B-A);
> 
>   %Le cercle inscrit
>   path cercle;
>   cercle = fullcircle scaled 2*abs(As-I) shifted I;
> 
>   %Tracé de la figure
>   draw Da;
>   draw Db;
>   draw Dc;
>   draw cercle;
>   dotlabel.bot(btex $I$ etex,I);
>   dotlabel.lft(btex $A$ etex,A);
>   dotlabel.rt(btex $B$ etex,B);
>   dotlabel.top(btex $C$ etex,C);
>   dotlabel.rt(btex $A'$ etex,Ap);
>   dotlabel.lft(btex $B'$ etex,Bp);
>   dotlabel.bot(btex $C'$ etex,Cp);
>   dotlabel.rt(btex $A''$ etex,As);
>   dotlabel.lft(btex $B''$ etex,Bs);
>   dotlabel.bot(btex $C''$ etex,Cs);
> 
>   %Le triangle
>   draw A--B--C--cycle;
> endfig;
> 
> compiled perfectly a few years ago with metapost 0.64 in web2C
> 7.3.1. 
> 
> Today metapost version is 
> MetaPost 0.641 (Web2C 7.5.4)
> kpathsea version 3.5.4
> Copyright (C) 1997-2004 AT&T Bell Laboratories.
> Kpathsea is copyright (C) 1997-2004 Free Software Foundation, Inc.
> There is NO warranty.  Redistribution of this software is
> covered by the terms of both the MetaPost copyright and
> the GNU General Public License.
> For more information about these matters, see the files
> named COPYING and the MetaPost source.
> Primary author of MetaPost: John Hobby.
> Kpathsea written by Karl Berry and others.
> 
> corresponding to installation of tetex 3.0 and I recieve
> following error message :
> 
> This is MetaPost, Version 0.641 (Web2C 7.5.4) (mem=mpost 2005.10.11)  19 OCT 2007 13:46
> **C-Bissectrices.mp
> (C-Bissectrices.mp
>>> path
>>> 52.23541
> ! Not implemented: (path)*(known numeric).
> <to be read again> 
>                    shifted
> l.43 ...le = fullcircle scaled 2*abs(As-I) shifted
>                                                    I;
> ? 
> ! Emergency stop.
> <to be read again> 
>                    shifted
> l.43 ...le = fullcircle scaled 2*abs(As-I) shifted
>                                                    I;
> End of file on the terminal!
> 
> 
> as if the circle could not be scaled and shifted ! Why ? Did
> something change in language specification ?

I don't know, but it will accept

    cercle = fullcircle scaled (2*abs(As-I)) shifted I;

Best regards,

Jose Carlos Santos




More information about the metapost mailing list