Re: и вновь прога...

From
Viktor Karev (2:5080/1003)
To
Vovanius Uryvaeff
Date
2002-11-20T15:41:41Z
Area
RU.ALGORITHMS
From: Viktor Karev <termar@narod.ru>
Reply-To: termar@narod.ru

Приветствия!

Vovanius Uryvaeff wrote:

>  VK> Наиболее подходящий для данной задачи метод - трасировки лучей.
>  VK> Выпускаешь из начальной точки во всех направлениях лучи и
>  VK> фиксируешь фронт фолны через dt.
> dt можно посчитать как min(S/v) - где S- расстояние до ближайшего препятствия.

Нет, dt определяется разностью скоростей в разных регионах,
размерами регионов и еще разными эмпирическими соображениями.

>  VK> Если два луча пересеклись - из
>  VK> точки пересечения выпускаешь один луч по среднему направлению.
> Если они столкнулись - оба луча удалим.

Нельзя. куда девается фронт волны в этой точке?

>  VK> Если слишком разошлись - добавляешь еще луч, чтобы плотность
>  VK> лучей оставалась в некоторых пределах.
> 
> В прошлом своем письме я вроде начал эту мысль. Теперь продолжу:
> Имеет смысл считать сразу весь фронт волны.
> Вокруг точки, пока поблизости нет границ, фронт имеет форму окружности:
> xx+yy=vt

А если точка лежит на границе двух сред?

> Когда эта окружность коснется вершины, из вершины пойдет еще один круговой
> фронт.

Окружность может коснуться границы двух сред не обязательно в
вершине.

> А фронт после преломления будет иметь вид, описываемый уравнениями
> неизвестного порядка.

Так и не надо вычислять эти уравнения. Фронт получаем численно.

> А можно эти две идеи скомбинировать, и аппроксимировать фронт многоугольником,
> в вершинах которых известны направления движения лучей.

Это то же самое.

> От предложенной тобой идеи отличается тем, что учитывается еще и возможность
> "столкновений" между отдельными лучами.

Отличается? Читай выше, что я писал про столкновения лучей.

Виктор.
--- ifmail v.2.15dev5
 * Origin: USURT's FidoNET<->Internet Gate (news://news.c (2:5080/1003@fidonet)