Dear Alan, I have the following sample (as I wrote, this is addictive ;-)): \startMPpage draw fullcircle scaled (.06TextWidth - .05LineHeight); for m=1 step 2 until 10 : path s ; s := (dir30--dir150--dir315--dir90--dir225--cycle) scaled m; n := (m * 50) ; o := (m / 5) ; for i=0 upto n : draw textext("\utfchar{"EB09}") scaled (o * .025) shifted point (i/n*length s) of s ; endfor endfor \stopMPpage dir seems magic to me. I don’t understand how it works, not even how it can be used for drawing not having an origin. Would it be possible that all stars are vertically centered? How should be the path defined? Many thanks for your help, Pablo -- http://www.ousia.tk
On 5/24/2018 9:01 PM, Pablo Rodriguez wrote:
Dear Alan,
I have the following sample (as I wrote, this is addictive ;-)):
\startMPpage draw fullcircle scaled (.06TextWidth - .05LineHeight);
for m=1 step 2 until 10 : path s ; s := (dir30--dir150--dir315--dir90--dir225--cycle) scaled m; n := (m * 50) ; o := (m / 5) ; for i=0 upto n : draw textext("\utfchar{"EB09}") scaled (o * .025) shifted point (i/n*length s) of s ; endfor endfor \stopMPpage
reusing a picture is more efficient \startMPpage draw fullcircle scaled (.06TextWidth - .05LineHeight); picture t ; t := textext("\cldcontext{utf.char(0xEB09)}") ; for m=1 step 2 until 10 : path s ; s := (dir30--dir150--dir315--dir90--dir225--cycle) scaled m; n := (m * 50) ; o := (m / 5) ; for i=0 upto n : draw t scaled (o * .025) shifted point (i/n*length s) of s ; endfor endfor \stopMPpage -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 05/24/2018 09:33 PM, Hans Hagen wrote:
[...] reusing a picture is more efficient
\startMPpage draw fullcircle scaled (.06TextWidth - .05LineHeight); picture t ; t := textext("\cldcontext{utf.char(0xEB09)}") ; for m=1 step 2 until 10 : path s ; s := (dir30--dir150--dir315--dir90--dir225--cycle) scaled m; n := (m * 50) ; o := (m / 5) ; for i=0 upto n : draw t scaled (o * .025) shifted point (i/n*length s) of s ; endfor endfor \stopMPpage
Many thanks for the improvement, Hans. Pablo -- http://www.ousia.tk
On Thu, 24 May 2018 21:01:59 +0200
Pablo Rodriguez
dir seems magic to me. I don’t understand how it works, not even how it can be used for drawing not having an origin.
All MP drawings have an origin (0,0). (dir angle) returns a pair on a unit circle surrounding the origin, i.e. (cosd angle,sind angle) where cosd is the cosine function operating on an angle in degrees. Alan
On 05/24/2018 10:23 PM, Alan Braslau wrote:
On Thu, 24 May 2018 21:01:59 +0200 Pablo Rodriguez
wrote: dir seems magic to me. I don’t understand how it works, not even how it can be used for drawing not having an origin.
All MP drawings have an origin (0,0).
I thought origin had to be explicitly set.
(dir angle) returns a pair on a unit circle surrounding the origin, i.e. (cosd angle,sind angle) where cosd is the cosine function operating on an angle in degrees.
Well, I need to refresh my math from high school (centuries ago :-)) to remember what cosine and sine are. Many thanks for your explanation, Pablo -- http://www.ousia.tk
participants (3)
-
Alan Braslau
-
Hans Hagen
-
Pablo Rodriguez