Здравствуйте, smeeld, Вы писали:
S>Здравствуйте, Javaec, Вы писали:
S>Одномерный массив из компоненнтов с тремя координатами эмулирующий трёхмерный строил так: S>float* mass=(float*)malloc(sizeof(float)*size1*size2*size3*3);
Но это же массив для хранения точек. У вас каждая координата — отдельный элемент массива.
Мне не нужно хранить точки, т.к. координаты целочисленные. В моем случае, набор из трех координат — аргумент для обращения к элементу массива.
Элементом массива может быть int, если я буду хранить, например, температуру или радиоактивность.
Здравствуйте, Nikolay_Ch, Вы писали:
N_C>Меня слабо интересует размер пространства. Меня интересует количество объектов в этом пространстве. Не в каждой-же точке пространства висит по объекту? Если не в каждой — Вам все равно надо пробегать во всему списку объектов, чтобы определить, какие надо скрыть. Если в каждой, то я-бы подумал про списки, индексированные по одной из координат (три словаря на каждую плоскость). Тогда для отсечения нужных, Вам просто нужно будет фильтровать нужную плоскость. Объекты будут присутствовать одновременно во всех трех списках.
Не обязательно пробегать по всему списку объектов. Игрок переместился на (2,0,3) — передаем этот вектор массиву в метод скролла. И каждый элемент массива нужно сдвинуть на 2 по X и на 3 по Z. В отрицательную сторону.
Все, что не поместились — отбрасываем, т.к. не актуальны.