* [NTG-context] enhancing MetaPost presentation progress graphics @ 2023-07-19 10:32 Henning Hraban Ramm 2023-07-19 10:49 ` [NTG-context] " Floris van Manen via ntg-context 2023-07-19 12:07 ` Taco Hoekwater 0 siblings, 2 replies; 5+ messages in thread From: Henning Hraban Ramm @ 2023-07-19 10:32 UTC (permalink / raw) To: mailing list for ConTeXt users Hi, I’d like a presentation progress indicator that looks like a boat on waves – and if it works, it can also become a bike on hills or a mars rover on dunes. But my math skills are lacking. Below’s a mostly working draft. * I find the waves not yet very convincing. Would it make sense to use a randomized sinus? (How?) * The boat should sit on the middle wave and be rotated by the current slope. I know I need the “time” of the upper curve and get the 1st derivation, but how? """ \setuppapersize[SW] \startuseMPgraphic{Waves} numeric height,stops,yoffset; stops := 10; height := OverlayHeight/10; path wave; draw (0,0)--(OverlayWidth,0)--(OverlayWidth,OverlayHeight) withcolor white withpen pencircle scaled 0.01; for j=1 upto 3: definecolor [name="Sea", y=(j/20), c=2*(j/10), m=(j/20)]; yoffset := height/(j*2); wave := (0,0)--(0,yoffset)... for i=1 upto stops: (OverlayWidth*i/(stops+1), (yoffset) randomized (height/2)) ... endfor (OverlayWidth,yoffset)--(OverlayWidth,0)--cycle; fill wave withcolor "Sea"; endfor; pair pos; pos := (OverlayWidth * RealPageNumber/NOfPages, height/2 randomized 2); path ship; ship := (0,10)---(70,10)...(60,0)---(10,0)...cycle; fill ship xysized (10,5) shifted pos rotatedaround (pos, 15) withcolor red; \stopuseMPgraphic \defineoverlay[Waves][\useMPgraphic{Waves}] \setupbackgrounds[state=repeat] \setupbackgrounds[page][background={Waves}] \starttext \dorecurse{10}{\recurselevel\page} \stoptext """ Hraban ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 5+ messages in thread
* [NTG-context] Re: enhancing MetaPost presentation progress graphics 2023-07-19 10:32 [NTG-context] enhancing MetaPost presentation progress graphics Henning Hraban Ramm @ 2023-07-19 10:49 ` Floris van Manen via ntg-context 2023-07-19 12:07 ` Taco Hoekwater 1 sibling, 0 replies; 5+ messages in thread From: Floris van Manen via ntg-context @ 2023-07-19 10:49 UTC (permalink / raw) To: ntg-context; +Cc: Floris van Manen On 19/07/2023 12:32, Henning Hraban Ramm wrote: > I find the waves not yet very convincing. Depending on the intended weather, I'd rather flatten the amplitudes out with the distance. Unlike mountains, waves do not get much higher at the horizon. .F ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 5+ messages in thread
* [NTG-context] Re: enhancing MetaPost presentation progress graphics 2023-07-19 10:32 [NTG-context] enhancing MetaPost presentation progress graphics Henning Hraban Ramm 2023-07-19 10:49 ` [NTG-context] " Floris van Manen via ntg-context @ 2023-07-19 12:07 ` Taco Hoekwater 2023-07-19 17:06 ` Henning Hraban Ramm 1 sibling, 1 reply; 5+ messages in thread From: Taco Hoekwater @ 2023-07-19 12:07 UTC (permalink / raw) To: mailing list for ConTeXt users Hi, First, find the actual point along the curve of the wave you want, then you can ask for the direction of the wave at that time, and its point: \startuseMPgraphic{Waves} numeric height,stops,yoffset; stops := 10; height := OverlayHeight/10; path wave[]; % storing waves draw (0,0)--(OverlayWidth,0)--(OverlayWidth,OverlayHeight) withcolor white withpen pencircle scaled 0.01; for j=1 upto 3: definecolor [name="Sea", y=(j/20), c=2*(j/10), m=(j/20)]; yoffset := height/(j*2); wave[j] := (0,0)--(0,yoffset)... for i=1 upto stops: (OverlayWidth*i/(stops+1), (yoffset) randomized (height/2)) ... endfor (OverlayWidth,yoffset); fill ((0,0)--wave[j]--(OverlayWidth,0)--cycle) withcolor "Sea"; endfor; xpos := OverlayWidth * RealPageNumber/NOfPages; path ship; ship := (0,10)---(70,10)...(60,0)---(10,0)...cycle; pair itime, iangle, boatpos; itime = (wave[3] intersectiontimes ((xpos,0)--(xpos,infinity))); iangle = direction (xpart itime) of wave[3]; boatpos = (point (xpart itime) of wave[3]) shifted (-5,0); % shift to center horizontally fill ship xysized (10,5) shifted boatpos rotatedaround (boatpos, angle iangle) withcolor red; \stopuseMPgraph > On 19 Jul 2023, at 12:32, Henning Hraban Ramm <texml@fiee.net> wrote: > > Hi, > I’d like a presentation progress indicator that looks like a boat on waves – and if it works, it can also become a bike on hills or a mars rover on dunes. But my math skills are lacking. > > Below’s a mostly working draft. > > * I find the waves not yet very convincing. Would it make sense to use a randomized sinus? (How?) > > * The boat should sit on the middle wave and be rotated by the current slope. I know I need the “time” of the upper curve and get the 1st derivation, but how? > > """ > \setuppapersize[SW] > > \startuseMPgraphic{Waves} > numeric height,stops,yoffset; > stops := 10; > height := OverlayHeight/10; > path wave; > > draw (0,0)--(OverlayWidth,0)--(OverlayWidth,OverlayHeight) withcolor white withpen pencircle scaled 0.01; > > for j=1 upto 3: > definecolor [name="Sea", y=(j/20), c=2*(j/10), m=(j/20)]; > yoffset := height/(j*2); > wave := (0,0)--(0,yoffset)... > for i=1 upto stops: > (OverlayWidth*i/(stops+1), (yoffset) randomized (height/2)) ... > endfor > (OverlayWidth,yoffset)--(OverlayWidth,0)--cycle; > fill wave withcolor "Sea"; > endfor; > > pair pos; > pos := (OverlayWidth * RealPageNumber/NOfPages, height/2 randomized 2); > path ship; > ship := (0,10)---(70,10)...(60,0)---(10,0)...cycle; > > fill ship xysized (10,5) shifted pos rotatedaround (pos, 15) withcolor red; > \stopuseMPgraphic > > \defineoverlay[Waves][\useMPgraphic{Waves}] > > \setupbackgrounds[state=repeat] > \setupbackgrounds[page][background={Waves}] > > \starttext > > \dorecurse{10}{\recurselevel\page} > > \stoptext > """ > > Hraban > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context > webpage : https://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : https://contextgarden.net > ___________________________________________________________________________________ — Taco Hoekwater E: taco@bittext.nl genderfluid (all pronouns) ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 5+ messages in thread
* [NTG-context] Re: enhancing MetaPost presentation progress graphics 2023-07-19 12:07 ` Taco Hoekwater @ 2023-07-19 17:06 ` Henning Hraban Ramm 2023-07-19 18:02 ` Duncan Hothersall 0 siblings, 1 reply; 5+ messages in thread From: Henning Hraban Ramm @ 2023-07-19 17:06 UTC (permalink / raw) To: ntg-context [-- Attachment #1: Type: text/plain, Size: 677 bytes --] Am 19.07.23 um 14:07 schrieb Taco Hoekwater: > First, find the actual point along the curve of the wave you want, then you can ask for the direction of the wave at that time, and its point: Thank you! > pair itime, iangle, boatpos; > > itime = (wave[3] intersectiontimes ((xpos,0)--(xpos,infinity))); > iangle = direction (xpart itime) of wave[3]; > boatpos = (point (xpart itime) of wave[3]) shifted (-5,0); % shift to center horizontally There was still an error that I introduced: The boat on the first page is already way in, while on the last page it falls over the edge of the world. I fixed several other things and drew a nicer boat. Feel free to use it. Hraban [-- Attachment #2: boat.tex --] [-- Type: application/x-tex, Size: 2615 bytes --] [-- Attachment #3: Type: text/plain, Size: 495 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 5+ messages in thread
* [NTG-context] Re: enhancing MetaPost presentation progress graphics 2023-07-19 17:06 ` Henning Hraban Ramm @ 2023-07-19 18:02 ` Duncan Hothersall 0 siblings, 0 replies; 5+ messages in thread From: Duncan Hothersall @ 2023-07-19 18:02 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1346 bytes --] I am in awe at this. Thanks for sharing. On Wed, 19 Jul 2023 at 18:11, Henning Hraban Ramm <texml@fiee.net> wrote: > Am 19.07.23 um 14:07 schrieb Taco Hoekwater: > > First, find the actual point along the curve of the wave you want, then > you can ask for the direction of the wave at that time, and its point: > > Thank you! > > > pair itime, iangle, boatpos; > > > > itime = (wave[3] intersectiontimes ((xpos,0)--(xpos,infinity))); > > iangle = direction (xpart itime) of wave[3]; > > boatpos = (point (xpart itime) of wave[3]) shifted (-5,0); % shift to > center horizontally > > There was still an error that I introduced: > The boat on the first page is already way in, while on the last page it > falls over the edge of the world. > > I fixed several other things and drew a nicer boat. Feel free to use it. > > Hraban > > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / > https://www.ntg.nl/mailman/listinfo/ntg-context > webpage : https://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : https://contextgarden.net > > ___________________________________________________________________________________ [-- Attachment #1.2: Type: text/html, Size: 2178 bytes --] [-- Attachment #2: Type: text/plain, Size: 495 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-19 18:05 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-07-19 10:32 [NTG-context] enhancing MetaPost presentation progress graphics Henning Hraban Ramm 2023-07-19 10:49 ` [NTG-context] " Floris van Manen via ntg-context 2023-07-19 12:07 ` Taco Hoekwater 2023-07-19 17:06 ` Henning Hraban Ramm 2023-07-19 18:02 ` Duncan Hothersall
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).