Path: utzoo!utgpu!attcan!uunet!mcvax!hafro!krafla!raunvis!kjartan From: kjartan@raunvis.UUCP (Kjartan Pierre Emilsson Jardedlisfraedi) Newsgroups: comp.graphics Subject: Re: Sound tracing Keywords: Sound tracing, accoustics Message-ID: <240@raunvis.UUCP> Date: 29 Dec 88 16:02:17 GMT Organization: Science Inst. Univ. of Iceland Lines: 73 Hi, We would like to begin by thanking everybody for their good replies, which will in no doubt come handy. We intend to try to implement such a sound tracer soon and we had already made some sort of model for it, but we were checking wether there was some info lying around about such tracers. It seems that our idea wasn't far from actual implementations and that is reassuring. For the sake of Academical Curiosity and overall Rennaisance-like Enlightnment in the beginning of a new year we decided to submit our crude model to the critics and attention of this newsgroup, hoping that it won't interfere too much with the actual subject of the group, namely computer graphics. The Model: We have some volume with an arbitrary geometry (usually simple such as a concert hall or something like that). Squares would work just fine as primitives. Each primitive has definite reflection properties in addition to some absorbtion filter which possibly filters out some frequencies and attenuates the signal. In this volume we put a sound emitter which has the following form: The sound emitter generates a sound sample in the form of a time series with a definite mean power P. The emitter emits the sound with a given power density given as some spherical distribution. For simplicity we tesselate this distribution and assign to each patch the corresponding mean power. At some other point we place the sound receptor which has the following form: We take a sphere and cut it in two equal halves, and then seperate the two by some distance d. We then tesselate the half-spheres (not including the cut). We have then a crude model of ears. Now for the actual sound tracing we do the following: For each patch of the two half-spheres, we cast a ray radially from the center, and calculate an intersection point with the enclosing volume. From that point we determine which patch of the emitter this corresponds to, giving us the emitted power. We then pass the corresponding time series through the filter appropriate to the given primitives, calculate the reflected fraction, attenuate the signal by the square of the distance, and eventually determine the delay of the signal. When all patches have been traced, we sum up all the time series and output the whole lot through some stereo device. A more sophisticated model would include secondary rays and sound 'shadowing' (The shadowing being a little tricky as it is frequency dependent) pros & cons ? Happy New Year !! -Kjartan & Dagur -------------------------------------------------------------------------- Kjartan Pierre Emilsson Science Institute - University of Iceland Dunhaga 3 107 Reykjavik Iceland Internet: kjartan@raunvis.hi.is