The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Inactive » comp.soft-sys.math.mathematica

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: re: [mg5006] Questions re: Optica
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
Don Barnhart

Posts: 1
Registered: 12/7/04
re: [mg5006] Questions re: Optica
Posted: Oct 30, 1996 12:13 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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
That's what I am here for.

Best regards,


>From: Fisherman <>
>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

From the USA you can reach me at:
Tel:(011 44 1509) 223177
Fax:(011 44 1509) 223934


"Life is about being complicated as simply as possible"

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.