Упрощенный алгоритм для прямоугольной сетки будет работать, вычисляя виртуальную позицию приемника в следующей сетке - точно так же, как если бы вы играли в пул и хотели сделать потрясающий выстрел в банк.
+---------+----------+---------+----------+
| O | |
|===> | <===|
| Real | Virtual copy |
| | |
A---------+----------+---------+----------a
Здесь вы хотите снимать O А, так вы зеркало геометрии бассейна в вашем уме и стремиться к виртуальному карману «а». Этот сценарий можно повторить (бесконечно) путем зеркального отображения геометрии снова и снова как по горизонтали, так и по вертикали. В какой-то момент должна существовать виртуальная копия кармана/приемника a (n), которая ничем не блокируется.
Действительно хороший вопрос, но недостаток ваших усилий портит его. Также угол будет зависеть от размеров зеркал и координат излучателя/приемника. Как они устанавливаются? –
довольно сложно, так как в реальном мире есть бесконечное количество возможностей. – Christian
Я не думаю, что алгоритм может быть достаточно общим для размещения всех возможных конфигураций в этом случае. –