ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Plotting a graph of a function f, like f(x) = e^x, with MetaPost
@ 2011-10-11 22:45 Paul Menzel
  2011-10-11 22:56 ` Paul Menzel
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Paul Menzel @ 2011-10-11 22:45 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 1682 bytes --]

Dear ConTeXt folks,


I finally chose MetaPost/MetaFun [1] because of the native integration
with ConTeXt and hopefully easy font handling. I want to use that
throughout my document.

Of course I hit the first problem. Wanting to draw a “simple” function f
like f(x) = e^x, seems hard to accomplish. I guess I should stress that
MetaPost does not have a high accuracy so it might not be the best
solution [5].

There seem to be quite a lot of solutions (mostly macros) on the Web for
this problem so I am wondering if one of them is integrated in MetaFun.

Here are some of my findings.

1. Reading about the graph package by John D. Hobby [2] and which is
also included in ConTeXt [3]. Especially I liked the automatic
coordinate systems. The package seems to only be able to plot graphs
with data points saved in files. So one solution would be to manually
create data files with data points of the relevant function.

2. There is an example in the Drexel Physics Wiki [4].

3. Anthony Phan has also created some macros in his `mps` [5 (currently
not accessible)].

4. André Heck uses the macro packages `courbes` and `grille` from
Jean-Michel Sarlat to show some nice examples in his tutorial »Learning
Metapost by Doing« [6].


So what do you suggest?


Thanks,

Paul


[1] http://www.ntg.nl/pipermail/ntg-context/2011/058527.html
[2] http://tug.org/docs/metapost/mpgraph.pdf
[3] http://wiki.contextgarden.net/Metapost
[4] http://einstein.drexel.edu/liki/index.php/Metapost#Graphing_Functions
[5] http://www-math.univ-poitiers.fr/~phan/downloads/metapost/statsman.pdf
[6] http://staff.science.uva.nl/~heck/Courses/mptut.pdf

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-11 22:45 Plotting a graph of a function f, like f(x) = e^x, with MetaPost Paul Menzel
@ 2011-10-11 22:56 ` Paul Menzel
  2011-10-11 22:58 ` Mojca Miklavec
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Paul Menzel @ 2011-10-11 22:56 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 2110 bytes --]

Dear ConTeXt folks,


Am Mittwoch, den 12.10.2011, 00:45 +0200 schrieb Paul Menzel:
> Dear ConTeXt folks,
> 
> 
> I finally chose MetaPost/MetaFun [1] because of the native integration
> with ConTeXt and hopefully easy font handling. I want to use that
> throughout my document.
> 
> Of course I hit the first problem. Wanting to draw a “simple” function f
> like f(x) = e^x, seems hard to accomplish. I guess I should stress that
> MetaPost does not have a high accuracy so it might not be the best
> solution [5].
> 
> There seem to be quite a lot of solutions (mostly macros) on the Web for
> this problem so I am wondering if one of them is integrated in MetaFun.
> 
> Here are some of my findings.

I just want to add that there seems to be work going on in ConTeXt to
solve these issues as the talk at this years ConTeXt User Meeting of
Alan Braslau suggests [7].

> 1. Reading about the graph package by John D. Hobby [2] and which is
> also included in ConTeXt [3]. Especially I liked the automatic
> coordinate systems. The package seems to only be able to plot graphs
> with data points saved in files. So one solution would be to manually
> create data files with data points of the relevant function.
> 
> 2. There is an example in the Drexel Physics Wiki [4].
> 
> 3. Anthony Phan has also created some macros in his `mps` [5 (currently
> not accessible)].
> 
> 4. André Heck uses the macro packages `courbes` and `grille` from
> Jean-Michel Sarlat to show some nice examples in his tutorial »Learning
> Metapost by Doing« [6].
> 
> 
> So what do you suggest?


Thanks,

Paul


> [1] http://www.ntg.nl/pipermail/ntg-context/2011/058527.html
> [2] http://tug.org/docs/metapost/mpgraph.pdf
> [3] http://wiki.contextgarden.net/Metapost
> [4] http://einstein.drexel.edu/liki/index.php/Metapost#Graphing_Functions
> [5] http://www-math.univ-poitiers.fr/~phan/downloads/metapost/statsman.pdf
> [6] http://staff.science.uva.nl/~heck/Courses/mptut.pdf
[7] http://meeting.contextgarden.net/2011/talks/day1_06_alan_plotting/BassangeBraslau.pdf

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-11 22:45 Plotting a graph of a function f, like f(x) = e^x, with MetaPost Paul Menzel
  2011-10-11 22:56 ` Paul Menzel
@ 2011-10-11 22:58 ` Mojca Miklavec
  2011-10-12  5:36 ` Alan Braslau
  2011-10-12  6:40 ` luigi scarso
  3 siblings, 0 replies; 12+ messages in thread
From: Mojca Miklavec @ 2011-10-11 22:58 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Wed, Oct 12, 2011 at 00:45, Paul Menzel wrote:
> Dear ConTeXt folks,
>
> I finally chose MetaPost/MetaFun [1] because of the native integration
> with ConTeXt and hopefully easy font handling. I want to use that
> throughout my document.
>
> Of course I hit the first problem. Wanting to draw a “simple” function f
> like f(x) = e^x, seems hard to accomplish. I guess I should stress that
> MetaPost does not have a high accuracy so it might not be the best
> solution [5].
>
> So what do you suggest?
\b
To wait for next metapost beta (or compile the version in trunk by
yourself; however you might also need to change ConTeXt a bit, so that
it will call metapost with the right parameters).

http://meeting.contextgarden.net/2011/talks/day1_09_taco_metapost/mp2talk.pdf

Mojca
___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-11 22:45 Plotting a graph of a function f, like f(x) = e^x, with MetaPost Paul Menzel
  2011-10-11 22:56 ` Paul Menzel
  2011-10-11 22:58 ` Mojca Miklavec
@ 2011-10-12  5:36 ` Alan Braslau
  2011-10-12 22:13   ` Paul Menzel
  2011-10-12  6:40 ` luigi scarso
  3 siblings, 1 reply; 12+ messages in thread
From: Alan Braslau @ 2011-10-12  5:36 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Paul,

Metapost can now perform calculations in double precision floating point.
At this time, it is in the svn version and does not work yet as
such integrated in ConTeXt (through mplib). Taco promises this for soon...

The graph package is pretty clever, and I am working on proposals on
how to extend/rewrite this taking advantage of the new metapost
handling of large and small numbers.

To plot a function, you can create a path, as in
path p ; p := 
	for i=0 upto 1000:
		hide (x := i/1000 ;) 
		if (i>0) -- fi (x,exp(x))
	endfor ;
gplot p ;

One proposal will be to make this even easier with new macros.

Alan

On Wed, Oct 12, 2011 at 12:45:12AM +0200, Paul Menzel wrote:
> Dear ConTeXt folks,
> 
> 
> I finally chose MetaPost/MetaFun [1] because of the native integration
> with ConTeXt and hopefully easy font handling. I want to use that
> throughout my document.
> 
> Of course I hit the first problem. Wanting to draw a “simple” function f
> like f(x) = e^x, seems hard to accomplish. I guess I should stress that
> MetaPost does not have a high accuracy so it might not be the best
> solution [5].
> 
> There seem to be quite a lot of solutions (mostly macros) on the Web for
> this problem so I am wondering if one of them is integrated in MetaFun.
> 
> Here are some of my findings.
> 
> 1. Reading about the graph package by John D. Hobby [2] and which is
> also included in ConTeXt [3]. Especially I liked the automatic
> coordinate systems. The package seems to only be able to plot graphs
> with data points saved in files. So one solution would be to manually
> create data files with data points of the relevant function.
> 
> 2. There is an example in the Drexel Physics Wiki [4].
> 
> 3. Anthony Phan has also created some macros in his `mps` [5 (currently
> not accessible)].
> 
> 4. André Heck uses the macro packages `courbes` and `grille` from
> Jean-Michel Sarlat to show some nice examples in his tutorial »Learning
> Metapost by Doing« [6].
> 
> 
> So what do you suggest?
> 
> 
> Thanks,
> 
> Paul
> 
> 
> [1] http://www.ntg.nl/pipermail/ntg-context/2011/058527.html
> [2] http://tug.org/docs/metapost/mpgraph.pdf
> [3] http://wiki.contextgarden.net/Metapost
> [4] http://einstein.drexel.edu/liki/index.php/Metapost#Graphing_Functions
> [5] http://www-math.univ-poitiers.fr/~phan/downloads/metapost/statsman.pdf
> [6] http://staff.science.uva.nl/~heck/Courses/mptut.pdf



> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________


-- 
Alan Braslau
CEA DSM-IRAMIS-SPEC
CNRS URA 2464
Orme des Merisiers
91191 Gif-sur-Yvette cedex FRANCE
tel: +33 1 69 08 73 15
fax: +33 1 69 08 87 86
mailto:alan.braslau@cea.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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-11 22:45 Plotting a graph of a function f, like f(x) = e^x, with MetaPost Paul Menzel
                   ` (2 preceding siblings ...)
  2011-10-12  5:36 ` Alan Braslau
@ 2011-10-12  6:40 ` luigi scarso
  3 siblings, 0 replies; 12+ messages in thread
From: luigi scarso @ 2011-10-12  6:40 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Wed, Oct 12, 2011 at 12:45 AM, Paul Menzel
<paulepanter@users.sourceforge.net> wrote:
> Dear ConTeXt folks,
>
>
> I finally chose MetaPost/MetaFun [1] because of the native integration
> with ConTeXt and hopefully easy font handling. I want to use that
> throughout my document.
>
> Of course I hit the first problem. Wanting to draw a “simple” function f
> like f(x) = e^x, seems hard to accomplish. I guess I should stress that
> MetaPost does not have a high accuracy so it might not be the best
> solution [5].
>
> There seem to be quite a lot of solutions (mostly macros) on the Web for
> this problem so I am wondering if one of them is integrated in MetaFun.
>
> Here are some of my findings.
>
> 1. Reading about the graph package by John D. Hobby [2] and which is
> also included in ConTeXt [3]. Especially I liked the automatic
> coordinate systems. The package seems to only be able to plot graphs
> with data points saved in files. So one solution would be to manually
> create data files with data points of the relevant function.
>
> 2. There is an example in the Drexel Physics Wiki [4].
>
> 3. Anthony Phan has also created some macros in his `mps` [5 (currently
> not accessible)].
>
> 4. André Heck uses the macro packages `courbes` and `grille` from
> Jean-Michel Sarlat to show some nice examples in his tutorial »Learning
> Metapost by Doing« [6].
>
>
> So what do you suggest?
In MKIV   you can use Lua to make calculations in floating point, and
Metapost to draw the data.

-- 
luigi
___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-12  5:36 ` Alan Braslau
@ 2011-10-12 22:13   ` Paul Menzel
  2011-10-12 22:28     ` Mojca Miklavec
  0 siblings, 1 reply; 12+ messages in thread
From: Paul Menzel @ 2011-10-12 22:13 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 1665 bytes --]

Dear Alan,


Am Mittwoch, den 12.10.2011, 07:36 +0200 schrieb Alan Braslau:

> Metapost can now perform calculations in double precision floating point.
> At this time, it is in the svn version and does not work yet as
> such integrated in ConTeXt (through mplib). Taco promises this for soon...

great to hear that. Just to clarify, with »now« you mean MetaPost v2, do
not you? Taco, I hope you get there without a lot of problems showing
up. If you need testers a good option would be to integrate that into
ConTeXt Standalone as an option.

> The graph package is pretty clever, and I am working on proposals on
> how to extend/rewrite this taking advantage of the new metapost
> handling of large and small numbers.

Perfect!

> To plot a function, you can create a path, as in
> path p ; p := 
> 	for i=0 upto 1000:
> 		hide (x := i/1000 ;) 
> 		if (i>0) -- fi (x,exp(x))
> 	endfor ;
> gplot p ;

What module do I need for `gplot`?

Looking at the MetaFun manual [8] I found out MetaFun even provides a
macro `function` which probably does exactly what you do above with the
for loop.

        draw function(2,"x","x**(-0.5)",1,10,1) xyscaled (2cm,2cm)
        withpen pencircle scaled 5mm withcolor
        transparent(1,.5,yellow) ;

> One proposal will be to make this even easier with new macros.

Another perfect!

One thing coming to my mind though that hopefully the wheel is not
reimplemented. I guess Gnuplot can do a lot already, but on the other
probably not as neat as Metapost when we want to color certain areas.


Thanks,

Paul


[8] http://www.pragma-ade.com/general/manuals/metafun-s.pdf

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-12 22:13   ` Paul Menzel
@ 2011-10-12 22:28     ` Mojca Miklavec
  2011-10-12 23:19       ` Paul Menzel
  0 siblings, 1 reply; 12+ messages in thread
From: Mojca Miklavec @ 2011-10-12 22:28 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Thu, Oct 13, 2011 at 00:13, Paul Menzel wrote:
> Am Mittwoch, den 12.10.2011, 07:36 +0200 schrieb Alan Braslau:
>
>> Metapost can now perform calculations in double precision floating point.
>> At this time, it is in the svn version and does not work yet as
>> such integrated in ConTeXt (through mplib). Taco promises this for soon...
>
> great to hear that. Just to clarify, with »now« you mean MetaPost v2, do
> not you?

No, 1.750. The version 2 is not quite ready yet, but the version 1.750
already deals with floating point numbers.

> Taco, I hope you get there without a lot of problems showing
> up. If you need testers a good option would be to integrate that into
> ConTeXt Standalone as an option.

It will become part of distribution as soon as it gets out, but Taco
was busy enough organizing conference and dozens of other things. Just
give him some time. I bet that he also wants to update documentation,
do final bugfixing etc. instead of just releasing a random snapshot.

> One thing coming to my mind though that hopefully the wheel is not
> reimplemented. I guess Gnuplot can do a lot already, but on the other
> probably not as neat as Metapost when we want to color certain areas.

Can you please specify your question more precisely?

Gnuplot terminal uses metapost output. Gnuplot has some support for
transparency, even though I'm not exactly sure if one can specify
transparent colors for lines, only for fills. But you can always
simply redefine line type colors to be transparent.

Gnuplot brings all kinds of other problems like dependency on external
tool. If you have enough time to create nice plots in metapost, it is
better to avoid external dependency as a general rule. But if you have
more questions about it, feel free to ask. I might be able to help
you. The ConTeXt terminal was almost included until developers
realized that they wanted me to throw away some code for handling
units and replace that code with something buggy (like "size 10cm,10"
-> (10cm,10cm); "size 10,10cm" -> (0.35cm,10cm) or (25.40cm,10.00cm)
depending on weather). Now I need to either rewrite part of my code or
rewrite part of core code or convince them why keeping the old code.

Mojca
___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-12 22:28     ` Mojca Miklavec
@ 2011-10-12 23:19       ` Paul Menzel
  2011-10-13  0:30         ` Mojca Miklavec
  0 siblings, 1 reply; 12+ messages in thread
From: Paul Menzel @ 2011-10-12 23:19 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 3407 bytes --]

Am Donnerstag, den 13.10.2011, 00:28 +0200 schrieb Mojca Miklavec:
> On Thu, Oct 13, 2011 at 00:13, Paul Menzel wrote:
> > Am Mittwoch, den 12.10.2011, 07:36 +0200 schrieb Alan Braslau:
> >
> >> Metapost can now perform calculations in double precision floating point.
> >> At this time, it is in the svn version and does not work yet as
> >> such integrated in ConTeXt (through mplib). Taco promises this for soon...
> >
> > great to hear that. Just to clarify, with »now« you mean MetaPost v2, do
> > not you?
> 
> No, 1.750. The version 2 is not quite ready yet, but the version 1.750
> already deals with floating point numbers.

Thank you for the clarification/correction.

> > Taco, I hope you get there without a lot of problems showing
> > up. If you need testers a good option would be to integrate that into
> > ConTeXt Standalone as an option.
> 
> It will become part of distribution as soon as it gets out, but Taco
> was busy enough organizing conference and dozens of other things. Just
> give him some time. I bet that he also wants to update documentation,
> do final bugfixing etc. instead of just releasing a random snapshot.

Of course the user would have to make a conscious decision by enabling
this “beta” release. If people could test this and with the right
announcement I hope that some people would step up to test and
contribute by submitting bug reports or writing documentation.

> > One thing coming to my mind though that hopefully the wheel is not
> > reimplemented. I guess Gnuplot can do a lot already, but on the other
> > probably not as neat as Metapost when we want to color certain areas.
> 
> Can you please specify your question more precisely?

I meant coloring part of the area below a graph. For example if you look
at the graphic for Riemann sums on page 51 of the document »Learning
MetaPost by Doing« [6].

> Gnuplot terminal uses metapost output. Gnuplot has some support for
> transparency, even though I'm not exactly sure if one can specify
> transparent colors for lines, only for fills. But you can always
> simply redefine line type colors to be transparent.
> 
> Gnuplot brings all kinds of other problems like dependency on external
> tool. If you have enough time to create nice plots in metapost, it is
> better to avoid external dependency as a general rule. But if you have
> more questions about it, feel free to ask. I might be able to help
> you.

Well my only question would be, why should someone use Gnuplot then? Is
it only for people already knowing Gnuplot? Or also because it is a
little less work to define the coordinate system and legends?

Otherwise MetaPost seems to include all functionality Gnuplot offers and
seems to offer more possibilities, does not it?

> The ConTeXt terminal was almost included until developers
> realized that they wanted me to throw away some code for handling
> units and replace that code with something buggy (like "size 10cm,10"
> -> (10cm,10cm); "size 10,10cm" -> (0.35cm,10cm) or (25.40cm,10.00cm)
> depending on weather). Now I need to either rewrite part of my code or
> rewrite part of core code or convince them why keeping the old code.

I remember a thread about that [9].


Thanks,

Paul


[6] http://staff.science.uva.nl/~heck/Courses/mptut.pdf
[9] http://www.ntg.nl/pipermail/ntg-context/2010/054196.html

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-12 23:19       ` Paul Menzel
@ 2011-10-13  0:30         ` Mojca Miklavec
  2011-10-13  7:32           ` Hans Hagen
  2011-10-13  7:59           ` Alan Braslau
  0 siblings, 2 replies; 12+ messages in thread
From: Mojca Miklavec @ 2011-10-13  0:30 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Thu, Oct 13, 2011 at 01:19, Paul Menzel wrote:
> Am Donnerstag, den 13.10.2011, 00:28 +0200 schrieb Mojca Miklavec:
>> On Thu, Oct 13, 2011 at 00:13, Paul Menzel wrote:
>> > Am Mittwoch, den 12.10.2011, 07:36 +0200 schrieb Alan Braslau:
>> >
>> >> Metapost can now perform calculations in double precision floating point.
>> >> At this time, it is in the svn version and does not work yet as
>> >> such integrated in ConTeXt (through mplib). Taco promises this for soon...
>> >
>> > great to hear that. Just to clarify, with »now« you mean MetaPost v2, do
>> > not you?
>>
>> No, 1.750. The version 2 is not quite ready yet, but the version 1.750
>> already deals with floating point numbers.
>
> Thank you for the clarification/correction.
>
>> > Taco, I hope you get there without a lot of problems showing
>> > up. If you need testers a good option would be to integrate that into
>> > ConTeXt Standalone as an option.
>>
>> It will become part of distribution as soon as it gets out, but Taco
>> was busy enough organizing conference and dozens of other things. Just
>> give him some time. I bet that he also wants to update documentation,
>> do final bugfixing etc. instead of just releasing a random snapshot.
>
> Of course the user would have to make a conscious decision by enabling
> this “beta” release.

And of course the user makes a conscious decision to either compile
from trunk if he wants the latest and greatest bugs and new features
or to wait patiently until Taco thinks the software is ready and
releases a beta.

I don't think that one extra week (or two or three or ... for that
matter) makes any difference.

> If people could test this and with the right
> announcement I hope that some people would step up to test and
> contribute by submitting bug reports or writing documentation.

If people could test LaTeX 3 ... they would most certainly send bug
reports and write docs.

There will be more than enough time for testing before version 2 is
out. Those who want to help writing documentation are already free to
do so. The code already works.

>> > One thing coming to my mind though that hopefully the wheel is not
>> > reimplemented. I guess Gnuplot can do a lot already, but on the other
>> > probably not as neat as Metapost when we want to color certain areas.
>>
>> Can you please specify your question more precisely?
>
> I meant coloring part of the area below a graph. For example if you look
> at the graphic for Riemann sums on page 51 of the document »Learning
> MetaPost by Doing« [6].

I'm not sure how to draw discrete function, but you can try out the following:

set style fill solid border -1
f(x)=(x-5)*sin(x)-cos(x)+2

plot [1:7] f(x) w filledcurve y1=0,\
'-' using 1:(f($1)) w boxes lt 0, f(x) lt -1 lw 3
1.5
2.5
3.5
4.5
5.5
6.5
e

(But of course you need to draw everything else as well.)

>> Gnuplot terminal uses metapost output. Gnuplot has some support for
>> transparency, even though I'm not exactly sure if one can specify
>> transparent colors for lines, only for fills. But you can always
>> simply redefine line type colors to be transparent.
>>
>> Gnuplot brings all kinds of other problems like dependency on external
>> tool. If you have enough time to create nice plots in metapost, it is
>> better to avoid external dependency as a general rule. But if you have
>> more questions about it, feel free to ask. I might be able to help
>> you.
>
> Well my only question would be, why should someone use Gnuplot then? Is
> it only for people already knowing Gnuplot? Or also because it is a
> little less work to define the coordinate system and legends?

It is much less work to define and draw coordinate system, choose the
right units, draw logarithmic plots, parse input data, (past tense: do
arithmetics with numbers above 4000), ...

> Otherwise MetaPost seems to include all functionality Gnuplot offers and
> seems to offer more possibilities, does not it?

MetaPost doesn't know erf and other obscure functions, it wasn't able
to calculate with big numbers and it is very inconvenient to parse
input data. With gnuplot you get fast plotting, data parsing, range
guessing, function calculations ... all "for free", but you have
slightly less flexibility in drawing. For me the most important part
is that I have to use gnuplot for inspecting the data anyway (I would
never use metapost to quickly inspect whether my measurement went fine
or not) and then I just copy-paste the function call. The trade-off is
still in favour of gnuplot, in particular since the quality is
acceptable and I don't have any special needs and extra time to do
fancy stuff with plots. What I really miss in Gnuplot is 3D support,
but that one is not covered in MetaPost either.

> I remember a thread about that [9].

That was not the same. The last context-terminal-was-almost-included
was something recent (less than a month ago).

Mojca
___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-13  0:30         ` Mojca Miklavec
@ 2011-10-13  7:32           ` Hans Hagen
  2011-10-13  7:59           ` Alan Braslau
  1 sibling, 0 replies; 12+ messages in thread
From: Hans Hagen @ 2011-10-13  7:32 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Mojca Miklavec

On 13-10-2011 02:30, Mojca Miklavec wrote:

>> Of course the user would have to make a conscious decision by enabling
>> this “beta” release.
>
> And of course the user makes a conscious decision to either compile
> from trunk if he wants the latest and greatest bugs and new features
> or to wait patiently until Taco thinks the software is ready and
> releases a beta.
>
> I don't think that one extra week (or two or three or ... for that
> matter) makes any difference.

Also, it's not a matter of enabling but more making a drastic move... 
there is a complete infrastructure for switching the underlying handling 
of numbers and if there are bugs in the common layer it will influence 
traditional mp methods too. As mplib is a core component of luatex/mkiv 
it is unlikely that there will be a beta that has not been tested by 
taco and me on a bunch of documents that we normally use for testing 
drastic changes.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-13  0:30         ` Mojca Miklavec
  2011-10-13  7:32           ` Hans Hagen
@ 2011-10-13  7:59           ` Alan Braslau
  2011-10-13  8:04             ` luigi scarso
  1 sibling, 1 reply; 12+ messages in thread
From: Alan Braslau @ 2011-10-13  7:59 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Thu, Oct 13, 2011 at 02:30:07AM +0200, Mojca Miklavec wrote:
> 
> MetaPost doesn't know erf and other obscure functions

Metapost could possibly be extended to provide all of the functions
in the standard math library. In fact, it would be nice if there be
some hook to `link' to additional functions, written in C or in Fortran,
for example. (I regularly use the complex error function.)
Maybe this could be possible in luatex, made available to metapost
through some communication pipe?

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] 12+ messages in thread

* Re: Plotting a graph of a function f, like f(x) = e^x, with MetaPost
  2011-10-13  7:59           ` Alan Braslau
@ 2011-10-13  8:04             ` luigi scarso
  0 siblings, 0 replies; 12+ messages in thread
From: luigi scarso @ 2011-10-13  8:04 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 818 bytes --]

On Thu, Oct 13, 2011 at 9:59 AM, Alan Braslau <alan.braslau@cea.fr> wrote:

> On Thu, Oct 13, 2011 at 02:30:07AM +0200, Mojca Miklavec wrote:
> >
> > MetaPost doesn't know erf and other obscure functions
>
> Metapost could possibly be extended to provide all of the functions
> in the standard math library. In fact, it would be nice if there be
> some hook to `link' to additional functions, written in C or in Fortran,
> for example. (I regularly use the complex error function.)
> Maybe this could be possible in luatex, made available to metapost
> through some communication pipe?
>
> yes, just build a binding for the library (or use something else like
cinvoke)
http://www.gust.org.pl/bachotex/2011-en/presentations/Scarso_2_2011
pag 15 or so
If I recall correctly, I've built a binding for gsl too.

-- 
luigi

[-- Attachment #1.2: Type: text/html, Size: 1281 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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] 12+ messages in thread

end of thread, other threads:[~2011-10-13  8:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-11 22:45 Plotting a graph of a function f, like f(x) = e^x, with MetaPost Paul Menzel
2011-10-11 22:56 ` Paul Menzel
2011-10-11 22:58 ` Mojca Miklavec
2011-10-12  5:36 ` Alan Braslau
2011-10-12 22:13   ` Paul Menzel
2011-10-12 22:28     ` Mojca Miklavec
2011-10-12 23:19       ` Paul Menzel
2011-10-13  0:30         ` Mojca Miklavec
2011-10-13  7:32           ` Hans Hagen
2011-10-13  7:59           ` Alan Braslau
2011-10-13  8:04             ` luigi scarso
2011-10-12  6:40 ` luigi scarso

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).