Здравствуйте.
Есть набор непересекающихся интервалов (далее слои), которым соответствуют текстуры. В функцию отрисовки поступает некоторый интервал, который нужно нарисовать. Таким образом, нужно отыскать все пересечения заданного интервала с каждым слоем и нарисовать каждое пересечение своей текстуркой. Пример:
Слои:
0.00 10.00 white
10.00 20.00 blue
20.00 30.00 red
Нужно отрисовать интервал: 5.00 45.00
В результате:
5.00 до 10.00 белым цветом
10.00 до 20.00 синим цветом
20.00 до 30.00 красным цветом
30.00 45.00 дефолтным цветом
На данный момент я храню слои в упорядоченной последовательности (по возрастанию левой границы). При отрисовке быстро спускаюсь до первого слоя, пересекающего заданный интервал, а далее рисую пока не попадётся слои не пересекающий интервал. В принципе работает достаточно быстро (ненужные интервалы быстро отбрасываются), но хотелось бы знать, может есть какая нибудь интересная структура данных для хранения слоев, которая позволяет быстро находить все пересечения с заданным интервалом? Подскажите пожалуйста, если не трудно, такую структуру или алгоритм нахождения пересечений. Заранее спасибо