Hi Stefan,

Thanks for the quick answer and solution!
Your solution works perfectly in mkiv; however typesetting with mkii results in
        ! Undefined control sequence.
        l.3 \startMPdefinitions
Is there a solution with mkii?

May I ask one more question?
In the macro you wrote
                Triangle((0cm,0cm), (5cm,0cm), 8cm, 6cm)
one has to specify the double of the length of each side (because a unit circle 
in MetaPost is a circle having diameter one). Would it be possible to change 
slightly the lines
                p := fullcircle scaled la shifted za ;
                q := fullcircle scaled lb shifted zb ;
so that la and lb are replaced with their doubled values? I tried
                p := fullcircle scaled 2*la shifted za ;
but this does not work.

Thanks for your attention: OK

On 24 mars 2011, at 10:29, Stefan Müller wrote:

> Hi,
> 
> what about
> 
> \startMPdefinitions
>       vardef Triangle(expr za, zb, la, lb) =
>               path p, q ;
>               pair zc ;
>               pickup pencircle scaled 2mm ;
>               drawdot za ;
>               drawdot zb ;
>               p := fullcircle scaled la shifted za ;
>               q := fullcircle scaled lb shifted zb ;
>               zc = p intersectionpoint q ;
>               drawdot zc ;
>               pickup pencircle scaled 1mm ;
>               za--zb--zc--cycle
>       enddef;
> \stopMPdefinitions
> 
> \starttext
> \startMPcode
>       draw Triangle((0cm,0cm), (5cm,0cm), 8cm, 6cm) withcolor blue ;  
> \stopMPcode
> \stoptext
> 
> Stefan
> 
> On 24.03.2011 09:59, Otared Kavian wrote:
>> Hi all,
>> 
>> I have a document in which I must draw several triangles for which two 
>> summits, say z0, z1, and the length of the two other sides are known, so 
>> that the third summit, say z2, is completly determined.
>> In order to draw one triangle the following works fine:
>> 
>> \setupcolors[state=start]
>> \starttext
>> \startMPcode
>>      z0 = (0cm,0cm) ;
>>      z1 = (5cm,0cm) ;
>>      path p, q ;     
>>      pickup pencircle scaled 2mm ;
>>      drawdot z0 ;
>>      drawdot z1 ;
>>      p := halfcircle scaled 8 cm ; % twice the length of the second side at 
>> z0
>>      p := p shifted z0 ;
>>      q := halfcircle scaled 6 cm ;  % twice the length of the second side at 
>> z1
>>      q := q shifted z1  ;
>>      z2 = p intersectionpoint q ;
>>      drawdot z2 ;
>>      pickup pencircle scaled 1mm ;
>>      draw z0--z1--z2--cycle withcolor blue ;
>> \stopMPcode
>> \stoptext
>> 
>> However I would like to have a macro, for instance named Triangle, which 
>> accepts four arguments z0,z1, length_1, length_2, so that in a MetaPost code 
>> i can use
>>      draw Triangle(z0,z1, 4, 3) withcolor blue ;
>> in order to draw the above triangle.
>> Has anyone any idea about how to do this?
>> 
>> Thanks in advance for your help: OK
>> ___________________________________________________________________________________
>> 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://tex.aanhet.net
>> archive  : http://foundry.supelec.fr/projects/contextrev/
>> 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://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

%%%%%%%%%%%%%%%%%%
Otared Kavian
Département de Mathématiques
Université de Versailles Saint-Quentin
Bâtiment Fermat
45 avenue des Etats Unis
78035 Versailles cedex

Téléphone: +33 1 39 25 46 42
Secrétariat: +33 1 39 25 46 44 
Secrétariat: +33 1 39 25 46 46

e-mail: otared.kav...@math.uvsq.fr




___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to