Надо сделать листание не просто не выходящее за пределы зала, но и так, чтобы переход от трассы к трассе происходил по определенной траектории на схеме (если такая траектория задана).
Траектория должна задаваться как массив точек на схеме. Траектория задает определенную последовательность обхода зала.
Допустим мы выбрали трассу А. Можно найти ближайшую точку траектории обхода. После этого можно либо перейти вперед по направлению обхода, либо назад. Допустим мы хотим двигаться назад. В таком случае нам необходимо найти трассу, которая находится дальше трассы А от ближайшей точки обхода и ближе трассы А к следующей точке обхода. Именно эта трасса будет "следующей" в процессе листания по направлению траектории обхода.
Надо сделать листание не просто не выходящее за пределы зала, но и так, чтобы переход от трассы к трассе происходил по определенной траектории на схеме (если такая траектория задана).
Траектория должна задаваться как массив точек на схеме. Траектория задает определенную последовательность обхода зала.
Допустим мы выбрали трассу А. Можно найти ближайшую точку траектории обхода. После этого можно либо перейти вперед по направлению обхода, либо назад. Допустим мы хотим двигаться назад. В таком случае нам необходимо найти трассу, которая находится дальше трассы А от ближайшей точки обхода и ближе трассы А к следующей точке обхода. Именно эта трасса будет "следующей" в процессе листания по направлению траектории обхода.