* mp: choose colors randomly from list @ 2014-02-19 10:10 Schmitz Thomas A. 2014-02-19 10:37 ` Alan BRASLAU 2014-02-19 10:59 ` Otared Kavian 0 siblings, 2 replies; 7+ messages in thread From: Schmitz Thomas A. @ 2014-02-19 10:10 UTC (permalink / raw) To: mailing list for ConTeXt users Hi all, I would like to have mp choose a (transparent) color randomly from a predefined list. My naive approach was (let’s restrict it to three colors): \startuniqueMPgraphic{colortest} save mycolor ; color mycolor[] ; mycolor[1] := (0.07, 0.21, 0.65) ; mycolor[2] := (0.6, 0.6, 0.4) ; mycolor[3] := (0.5, 0.8, 0.5) ; path p ; p := unitsquare scaled 2cm ; for i=1 upto 3: fill p shifted (i*2.5cm, 0) withcolor transparent (1,0.3,mycolor[round(uniformdeviate(i))]) ; endfor ; \stopuniqueMPgraphic \starttext \uniqueMPgraphic{colortest} \stoptext Is there a better approach? The selection isn’t random enough for my taste :-) Sometimes, in my real document, I get black color, even though black isn’t in the list, so I suspect that mp doesn’t get a correct value for mycolor[round(uniformdeviate(i))]. And finally: how could I define the colors in a way that I could also use them outside of mp? Or do I have to copy-paste the definitions into \definecolor’s? All best Thomas ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 10:10 mp: choose colors randomly from list Schmitz Thomas A. @ 2014-02-19 10:37 ` Alan BRASLAU 2014-02-19 11:11 ` Schmitz Thomas A. 2014-02-19 10:59 ` Otared Kavian 1 sibling, 1 reply; 7+ messages in thread From: Alan BRASLAU @ 2014-02-19 10:37 UTC (permalink / raw) To: thomas.schmitz; +Cc: mailing list for ConTeXt users mycolor[1 + round (uniformdeviate 2)] (or define mycolor[0]-mycolor[2], in which case you can drop the "1 +") uniformdeviate returns a random number between zero and the value of the argument. So you do not want (uniformdeviate i). Alan On Wed, 19 Feb 2014 11:10:57 +0100 Schmitz Thomas A. <thomas.schmitz@uni-bonn.de> wrote: > Hi all, > > I would like to have mp choose a (transparent) color randomly from a > predefined list. My naive approach was (let’s restrict it to three > colors): > > \startuniqueMPgraphic{colortest} > save mycolor ; color mycolor[] ; > mycolor[1] := (0.07, 0.21, 0.65) ; > mycolor[2] := (0.6, 0.6, 0.4) ; > mycolor[3] := (0.5, 0.8, 0.5) ; > path p ; > p := unitsquare scaled 2cm ; > for i=1 upto 3: > fill p shifted (i*2.5cm, 0) withcolor transparent > (1,0.3,mycolor[round(uniformdeviate(i))]) ; endfor ; > \stopuniqueMPgraphic > > \starttext > > \uniqueMPgraphic{colortest} > > \stoptext > > Is there a better approach? The selection isn’t random enough for my > taste :-) Sometimes, in my real document, I get black color, even > though black isn’t in the list, so I suspect that mp doesn’t get a > correct value for mycolor[round(uniformdeviate(i))]. And finally: how > could I define the colors in a way that I could also use them outside > of mp? Or do I have to copy-paste the definitions into > \definecolor’s? > > All best > > Thomas ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 10:37 ` Alan BRASLAU @ 2014-02-19 11:11 ` Schmitz Thomas A. 2014-02-19 11:16 ` Wolfgang Schuster 0 siblings, 1 reply; 7+ messages in thread From: Schmitz Thomas A. @ 2014-02-19 11:11 UTC (permalink / raw) To: mailing list for ConTeXt users On 19 Feb 2014, at 11:37, Alan BRASLAU <alan.braslau@cea.fr> wrote: > uniformdeviate returns a random number between zero and the value of > the argument. So you do not want (uniformdeviate i). Ah, that explains it. Thanks a lot Alan! Otared Kavian wrote: > One way is to increase the « degree of randomness » by saying > withcolor transparent (1,0.3,mycolor[round(uniformdeviate(10*i)/10)]) > or you can define a RandomColor as below: I hate myself for not knowing more about math! I don’t see how mp picks its random numbers - when I recompile, I always get the same colors in the same order. They are “random” in the sense that there is no fixed order, but I was surprised that every run produces the same random order. RandomColor is nice, but not for my current purpose because I want to choose from a fixed list (colors are used as backgrounds, so I can only use dark colours, e.g.). Thanks a lot! Thomas ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 11:11 ` Schmitz Thomas A. @ 2014-02-19 11:16 ` Wolfgang Schuster 2014-02-19 11:38 ` Schmitz Thomas A. 0 siblings, 1 reply; 7+ messages in thread From: Wolfgang Schuster @ 2014-02-19 11:16 UTC (permalink / raw) To: mailing list for ConTeXt users Am 19.02.2014 um 12:11 schrieb Schmitz Thomas A. <thomas.schmitz@uni-bonn.de>: > I hate myself for not knowing more about math! I don’t see how mp picks its random numbers - when I recompile, I always get the same colors in the same order. They are “random” in the sense that there is no fixed order, but I was surprised that every run produces the same random order. RandomColor is nice, but not for my current purpose because I want to choose from a fixed list (colors are used as backgrounds, so I can only use dark colours, e.g.). http://www.ntg.nl/pipermail/ntg-context/2012/065815.html Wolfgang ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 11:16 ` Wolfgang Schuster @ 2014-02-19 11:38 ` Schmitz Thomas A. 2014-02-19 14:36 ` Alan BRASLAU 0 siblings, 1 reply; 7+ messages in thread From: Schmitz Thomas A. @ 2014-02-19 11:38 UTC (permalink / raw) To: mailing list for ConTeXt users On 19 Feb 2014, at 12:16, Wolfgang Schuster <schuster.wolfgang@gmail.com> wrote: > http://www.ntg.nl/pipermail/ntg-context/2012/065815.html > > Wolfgang Not only I’m bad at math, I don’t even remember the answers to my own questions - thanks Wolfgang for reminding me! I’m getting old and senile, should look into early retirement... Thomas ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 11:38 ` Schmitz Thomas A. @ 2014-02-19 14:36 ` Alan BRASLAU 0 siblings, 0 replies; 7+ messages in thread From: Alan BRASLAU @ 2014-02-19 14:36 UTC (permalink / raw) To: thomas.schmitz; +Cc: mailing list for ConTeXt users On Wed, 19 Feb 2014 12:38:38 +0100 Schmitz Thomas A. <thomas.schmitz@uni-bonn.de> wrote: > Not only I’m bad at math, I don’t even remember the answers to my own > questions - thanks Wolfgang for reminding me! I’m getting old and > senile, should look into early retirement... The random numbers generated are deterministic, that is each run will reproduce the same "random" sequence. If you are looking for more randomness, then you need to set "randomseed := numeric expression ;" using something that varies in a less predictable manner. For example, you can set randomseed := minute ; where minute is the number of minutes past the hour of when the job was started. So unless you have the habit of always processing your file at the same minute of the hour, then your colors will vary. Of course, if you want a truly random variable, then you need to use some other physical process, like detecting the moment of passage of cosmic radiation. One point of view is that chance is simply a reflection of our limited knowledge, our "bounded rationality". The classical expression of this is due to Laplace: \startquotation All events, even those that, because of their insignificance, seem not to be governed by the great laws of nature, are a consequence as necessary as the revolution of the Sun. Through our ignorance of their relationship to the system of the universe as a whole, we have them depend on some cause or on chance, according to whether they appear to occur with some regularity or not; But these imaginary causes have successively diminished with the advance of the limits of our knowledge, and disappear entirely before a sound philosophical analysis who sees in them but an expression of our ignorance, for which we ourselves are the real cause. \stopquotation Quantum mechanics has revised this point of view. However, you are the classicist, and according to Aristote an accident (συμβεβηκός) or chance (τὺχη αὐτόματον) or (σύμπτωμα) is just an encounter of two independent casual series. (And here I am exposing MY ignorance of Greek!) :) Alan ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: mp: choose colors randomly from list 2014-02-19 10:10 mp: choose colors randomly from list Schmitz Thomas A. 2014-02-19 10:37 ` Alan BRASLAU @ 2014-02-19 10:59 ` Otared Kavian 1 sibling, 0 replies; 7+ messages in thread From: Otared Kavian @ 2014-02-19 10:59 UTC (permalink / raw) To: mailing list for ConTeXt users Hi Thomas, One way is to increase the « degree of randomness » by saying withcolor transparent (1,0.3,mycolor[round(uniformdeviate(10*i)/10)]) or you can define a RandomColor as below: \startuniqueMPgraphic{colortest} save mycolor ; color mycolor[] ; mycolor[1] := (0.07, 0.21, 0.65) ; mycolor[2] := (0.6, 0.6, 0.4) ; mycolor[3] := (0.5, 0.8, 0.5) ; path p ; p := unitsquare scaled 2cm ; for i=1 upto 3: fill p shifted (i*2.5cm, 0) withcolor transparent (1,0.3,mycolor[round(uniformdeviate(10*i)/10)]) ; endfor ; \stopuniqueMPgraphic \ctxlua{ CoeffRed = math.random(1,100)/100 ; CoeffGreen = math.random(1,100)/100 ; CoeffBlue = math.random(1,100)/100 ; } \def\CoeffRed{\ctxlua{tex.print(CoeffRed)}} \def\CoeffGreen{\ctxlua{tex.print(CoeffGreen)}} \def\CoeffBlue{\ctxlua{tex.print(CoeffBlue)}} \definecolor[RandomColor] [r=\CoeffRed, g=\CoeffGreen, b=\CoeffBlue ] \starttext \uniqueMPgraphic{colortest} \startcolor[RandomColor]\bf This is a RandomColor \stopcolor \stoptext Best regards: OK On 19 févr. 2014, at 11:10, Schmitz Thomas A. <thomas.schmitz@uni-bonn.de> wrote: > Hi all, > > I would like to have mp choose a (transparent) color randomly from a predefined list. My naive approach was (let’s restrict it to three colors): > > \startuniqueMPgraphic{colortest} > save mycolor ; color mycolor[] ; > mycolor[1] := (0.07, 0.21, 0.65) ; > mycolor[2] := (0.6, 0.6, 0.4) ; > mycolor[3] := (0.5, 0.8, 0.5) ; > path p ; > p := unitsquare scaled 2cm ; > for i=1 upto 3: > fill p shifted (i*2.5cm, 0) withcolor transparent (1,0.3,mycolor[round(uniformdeviate(i))]) ; > endfor ; > \stopuniqueMPgraphic > > \starttext > > \uniqueMPgraphic{colortest} > > \stoptext > > Is there a better approach? The selection isn’t random enough for my taste :-) Sometimes, in my real document, I get black color, even though black isn’t in the list, so I suspect that mp doesn’t get a correct value for mycolor[round(uniformdeviate(i))]. And finally: how could I define the colors in a way that I could also use them outside of mp? Or do I have to copy-paste the definitions into \definecolor’s? > > All best > > Thomas > ___________________________________________________________________________________ > 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-02-19 14:36 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-02-19 10:10 mp: choose colors randomly from list Schmitz Thomas A. 2014-02-19 10:37 ` Alan BRASLAU 2014-02-19 11:11 ` Schmitz Thomas A. 2014-02-19 11:16 ` Wolfgang Schuster 2014-02-19 11:38 ` Schmitz Thomas A. 2014-02-19 14:36 ` Alan BRASLAU 2014-02-19 10:59 ` Otared Kavian
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).