Hi Stefan,

Thanks for your explanations: everything works as expected and your solution is 
very instructive for me.
Later this weekend I'll put it on the wiki.

Have a nice day.
Best regards: OK

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

> 
> 
> On 24.03.2011 10:57, Otared Kavian wrote:
>> 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?
> 
> Then just drop the MPdefinitions section and put the complete vardef before 
> your normal mp code in the MPcode section. That should work, I think.
> 
>> 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
> 
> Now that's strange... But I see what you mean. I didn't notice.
> 
>>              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 ;
> 
> Yeah, you need parentheses here, because otherwise Metapost tries to scale by 
> 2 and then doesn't know how to multiply the result (the path "fullcircle 
> scaled 2") with "la".
> 
>               p := fullcircle scaled (2 * la) shifted za ;
>               q := fullcircle scaled (2 * lb) shifted zb ;
> 
> 
>> but this does not work.
>> 
>> Thanks for your attention: OK
> 
> np, Stefan.
> 
>> 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
>> ___________________________________________________________________________________
>> 
> ___________________________________________________________________________________
> 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