http://www.ffconsultancy.com/languages/ray_tracer/results.html
What free OCaml software might I use to do the same thing?
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
Cheers,
Till
--
http://till-varoquaux.blogspot.com/
On 11/7/07, Jon Harrop <j...@ffconsultancy.com> wrote:
>
> I've been using Mathematica to render the graphs on our site, like the ray
> tracer language comparison:
>
> http://www.ffconsultancy.com/languages/ray_tracer/results.html
>
> What free OCaml software might I use to do the same thing?
>
> --
> Dr Jon D Harrop, Flying Frog Consultancy Ltd.
> http://www.ffconsultancy.com/products/?e
There is at least one partial plplot (http://plplot.sourceforge.net/)
binding already in existence
(http://vityok.org.ua/cgi-bin/odd.cgi/Ocaml-plplot), and I'm working
on another one using camlidl rather than Swig.
I haven't put my code out yet because I'd like to finish up some of
the 3D plotting function wrappers first, but if you're interested in
having something sooner I could put out what I have currently. There
is enough there to do 2D plots, and the naming follows the C-library
quite closely.
The already-mentioned gnuplot binding seems to work reasonably as
well, though I've only made very basic 2D plots with it.
PsiLab (http://psilab.sourceforge.net/) is older, and based on OCaml
3.01 or 3.02 I think. But I've been able to get it to build on recent
Linux distributions. It has a fairly high-level binding to the plplot
libraries which is quite easy to use. I have dreams of some day
updating it to work with recent OCaml releases. It might also be a
decent start for a Mathematica-like toplevel with inline plots and so
on if the toplevel customizations could be tied in to labltk or
lablgtk. I don't know how possible this is though.
Hez
I've used mlgrace in the past:
http://www.eecs.umich.edu/~pelzlpj/mlgrace/
Although I've never tried labelled points before... I also have a convenience
interface to it that I've written so I can do stuff like:
Plot.plotfun (( ** )2.) 0. 10. 0.1 "ro-";;
and have it plot x^2 from 0 to 10 in 0.1 steps with a red line and dotted data
points. It's not packaged up nice at all, but I'm happy to share it if
you're interested.
Peng
On Wednesday 07 November 2007 10:53:37 pm Jon Harrop wrote:
> I've been using Mathematica to render the graphs on our site, like the ray
> tracer language comparison:
>
> http://www.ffconsultancy.com/languages/ray_tracer/results.html
>
> What free OCaml software might I use to do the same thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
iD8DBQFHM7uPfIRcEFL/JewRAvkpAKC5iVa9Dr8dawsdqVi1NrzMBllepwCfQkT1
AHh4m59FSDImkv3bKMp6BBs=
=1fXa
-----END PGP SIGNATURE-----
mlGrace does not currently expose an API to create point labels, but the
xmgrace GUI can do this (under Plot->Set Appearance->Ann. values). So
something similar to Jon's example plot could be generated using
grace_view#plot_many, with a small amount of touch-up work from the GUI.
Paul
I'd love to say: just write the following code, which produces the file
http://perso.univ-rennes1.fr/san.vu-ngoc/images/oplot.eps
But I can't, since I don't have any time to release "oplot" seriously before
at least 6 months. So, sorry for the spam, I just couldn't resist :)
San
open Oplot;;
open Oplotmain;;
open Renderinit;;
let dots () = let rec loop n l = if n = 0 then l else
loop (n-1) ((Random.float 1., Random.float 1.)::l) in
loop 50 [];;
let view = view 0. 0. 1. 1.;;
let a = axis 0. 0.;;
let dots_bla = List.rev_map (fun (x,y) -> (x,y,"blabla")) (dots ());;
let dots_foo = List.rev_map (fun (x,y) -> (x,y,"foofoo")) (dots ());;
let d1 = label_dot_plot ~dot:diamond ~view dots_bla;;
let d2 = label_dot_plot ~dot:diamond ~view dots_foo;;
display ([Color black;view;a;Color red] & d1 & [Color blue] & d2) ~dev:gv;;
The partial implementation you have pointed is really partial.
Unfortunately, I do
not have enough time to complete it now. If somebody would like to
overtake the
work, I will give my current sources.
With best regards,
Victor