3

I am looking for an open-source Java-based raytracing system suitable for use in modeling underwater ray-based acoustics. Such a package might be similar to the Comprehensive Acoustic System Simulation (CASS) with the Gaussian Ray Bundle (GRAB) but I would prefer an open-source, free-to-use or free-to-modify model that I can use in presentations to an open forum (e.g., JavaOne).

The best model for my needs would provide ray path modeling based on an environmental model, bathymetry (also known as ocean bottom topography) and emitter frequency spectra. Note: multipath effects (including reflection and refraction) are my primary points of interest so the best package would provide that right out of the box.

Slightly less optimal would be a standard Java-based ray-tracing package (optical or acoustic) that can handle a a varying speed through the medium. Another way of saying this would be that the index of refraction varies in a continuous fashion throughout the medium (though its first derivative might not be continuous).

Bob Cross
  • 22,116
  • 12
  • 58
  • 95
  • Excellent question... I don't have anything even close to an answer... I found a paper about GRASP, but since it was written for the US DOD, I don't think they're likely to open-source it. http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/8479/26715/01191851.pdf?arnumber=1191851 – Mike G. Sep 20 '08 at 10:02
  • Yes, thanks. For discussions within the DOD, that's a good tip. However, I'd like to have something a little more open when I give talks in an open forum. – Bob Cross Sep 20 '08 at 15:43

3 Answers3

2

The RaPSor project appears to be a java based ray-tracing simulator. It actually stands for Radio Propagation Simulator and was developed initially to support radio signal propagation for things like projecting dead spots in the WiFi coverage in buildings.

Reading through some of the use case paper for it shows that it does ray tracing and can be extends to support acoustic ray tracing. The blog article that tipped me off refers to the idea of figuring out the acoustic sound field for a room, but I don't see why it needs to be limited to in-air propagation.

Also, it was built using the NetBeans project.

Jay R.
  • 31,911
  • 17
  • 52
  • 61
1

Would you consider a very well documented C++ raytracer?

pbrt is a physically based raytracer written in the literate style, it comes with a nice book describing the code in considerable detail. A quick search shows that it has been used for acoustic modelling for a student project.

Ian Hopkinson
  • 3,412
  • 4
  • 24
  • 28
  • Thanks but the system that I'm integrating with is written entirely in Java. If I have to, I can drop back to the C++ raytracer that I wrote years ago. I'd like to avoid making something that's available in the community already, though. – Bob Cross Sep 20 '08 at 15:41
0

Have you taken a look at the Rings project? I don't know enough about ray tracing to judge whether or not Rings is implemented in the way you need it to be for maximum usefulness. The documentation and examples seem pretty good.

shadit
  • 2,536
  • 1
  • 16
  • 21
  • That certainly is a ray tracer. I'll have to dig more to see if it's more than shiny balls in a box.... ;-) – Bob Cross Sep 26 '08 at 02:11
  • Looking at the documentation, it seems like it might be easy to add in the behavior you need that's missing. I guess it's a question of how much needs to be added versus what has already been implemented. – shadit Sep 26 '08 at 13:57