MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

re: Questions re: Optica

  • To: mathgroup at
  • Subject: [mg5089] re: [mg5006] Questions re: Optica
  • From: D.Barnhart at (Don Barnhart)
  • Date: Wed, 30 Oct 1996 22:03:37 -0500
  • Sender: owner-wri-mathgroup at

Hello, this is Don Barnhart, Optica's developer.

Yes, it is true that Optica is probably one of the slowest optical packages
on the market. This is partially due to the fact that it is written
entirely in the Mathematica language.   Of course the processor speed will
effect the ray-tracing time. I recommend using either Pentium or PowerPC
based machines. However, as a partial trade-off for its lack of speed,
Optica does offer a flexability to the user which is entirely unknown to
other packages. By being part of the Mathematica environment, Optica allows
you to quickly build up new analysis tools from scratch in very short
period of time. You are not limited by what the ray-tracing package has
chosen to include as built-in functions. In addition, Optica's excellent
graphical representations of optical systems is probably unsurpassed by any
other package on the market.

The upcoming versions of Optica will indeed run much faster than the
Optica's present version. I have already created a new ray-tracing engine
that runs nearly 10 times faster than the Optica's present version for
seqential ray-tracing operations. I am also working on a C-code kernal for
Optica that should run 1000 times faster.

Ultimately, its not the ray-tracing time that counts, but the overall
development time for a new project. I originally wrote Optica to help with
the design of a holographic stereo camera system in which I needed to
determine the dimensions and placement of a set of lenses and prisms in
three-dimensions. Although the ray-tracing speed of Optica was slow, the
project was completed in a fraction of the time it would have required
without the help of Optica. Because Optica is extremely flexable and makes
no approximations or assumptions (it ray-traces non-paraxial solutions in
three-dimensions for nonsequential surfaces), I find that Optica also helps
to give me an understanding of the optical system rather than simply an
answer to a particular optimization question.

Regarding the RAM requirements of Optica: Optica and in general Mathematica
does use up a great deal of RAM. In general, I prefer to work with 32
Megabytes built-into my machine. While this may sound like alot of RAM,
this amount is not particularly expensive to come by these days.

Regarding the Optica User's Guide: I do appologize if the writing is terse.
It is difficult when the author of a software package also attempts to
explain his own package to a beginning audience. I am employing a
professional technical writer to produce the next version's User's Guide.

Regarding CircleOfRays as well as any of the other ray source functions,
you can use any of the 30+ Ray[] options within CircleOfRays in addition to
the particular options specific to CircleOfRays. I guess that I had assumed
that the user could easily type into Mathematica: Options[CircleOfRays] and
Options[Ray] to learn what is possible. In general, many of Optica's
functions have overlapping options and I did not think that the extra
printed book space was justified. Perhaps I will change this in the next
release of the User's Guide.

In general, if you have any questions or comments regarding the use of
Optica, you should send your questions to optica-support at
That's what I am here for.

Best regards,


>From: Fisherman <halasz at>
To: mathgroup at
>To: mathgroup at
>Subject: [mg5006] Questions re: Optica
>Organization: Sprynet News Service
>X-Mozilla-Status: 0001
>Anyone running Optica out there?
>Do I have things screwed up; or is this the slowest optical package on
>the market?
>For a 100 ray trace function, the kernel keeps asking for more RAM (I've
>got it up to 12MB), and after fifteen minutes or so, I lose my patience.
>Oh, it's using one of the package demos, a cylindrical light source
>reflecting into a parabolic mirror.
>While I'm on my rant, who or what writes the booklets? For function
>calls, say CircleOfRays[], they list the parameters in brackets as
>'options', even in the glossary of terms. Couldn't they list what those
>options _are_, or should I put in something like
>CircleOfRays[air_conditioning, corinthian_leather]?
>Any help is much appreciated (can't get to a phone for the next two days
>during business hours).


Donald Barnhart

Department of Mechanical Engineering
Loughborough University
Loughborough, Leicestershire LE11 3TU, UK

Tel:(011 44 1509) 223177
Fax:(011 44 1509) 223934


"Life is about being complicated as simply as possible"

  • Prev by Date: Re: Solve results
  • Next by Date: Re: Are two expressions equal?
  • Previous by thread: Questions re: Optica
  • Next by thread: Light Propigation Code