То, что я пытаюсь сделать, - это эффективно прорезать три плоскости в трехмерном мире на основе выбора.Эффективно проходить через X, Y и Z?
Единственное, что я могу думать, является основным for loop
(как показано на рисунке):
for (int x = x1; x < x2; x++) {
for (int y = y1; y < y2; y++) {
for (int z = z1; z < z2; z++) {
...
Проблема с этим, если у меня есть две координаты отмечены (59, 23, 72)
& (59, 25, 89)
, проблема заключается в том, что он проверяет x1 (59
) меньше, чем x2 (59
), который там не будет никакой разницы, поэтому остальные петли не работают, хотя разница в их значениях.
я могу думать о двух других подходов, которые я не пробовал раньше, и я не знаю, как:
Vector3i[]
- каким-то образом установить координаты в список, затем петлю через это.int[][][]
- У меня нет опыта работы с многомерными массивами.
И все же, с обоими этими методами, я могу как-то увидеть, так как у меня все еще будет такое же значение для проблемы [x, y, z].
Как я могу эффективно прокручивать выбранную область, если два значения плоскости одинаковы?
Не можете ли вы просто использовать '<=', или я что-то упустил? –
@ChristianMann Приношу свои извинения. Это из моей области того, что я привык делать, и я всегда находил, что '<=' была плохой практикой. Он работает, так что спасибо. – CoderMusgrove