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

оложим, у нас есть 3D-сетка, которая охватывает некоторое трехмерное пространство. Эта сетка состоит из кубов, кубы не должны иметь целочисленную длину, они могут иметь любую возможную длину с плавающей точкой.

Наша цель, учитывая точку и направление, линейно проверять каждый куб на нашем пути один раз и ровно один раз.

Таким образом, если бы это был обычный трехмерный массив, а направление, скажем, в направлении X, начиная с позиции (1,2,0), алгоритм был бы:

for(i in number of cubes)
{
     grid[1+i][2][0]
}

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

Ответы на вопрос(2)

Ваш ответ на вопрос