Привет. У меня 3х-мерная сцена, состаящая из параллелепипеда,пирамиды и усеченной пирамиды.Сцену нужно описать полигональной сеткой.Никаких графических библиотек типа openGl использовать нельзя. Так вот как лучше мне их задать? -каждый объект отдельно(создать класс для каждого объекта)? -как 1 список многоугольников ? Описание сцены нужно хранить в файле,можно там еще хранить и какие-то описания объекта,например цвет
ну вообще в 3D графике чаще всего используют треугольники для описания какого либо объекта. так как из них можно сделать любой сложный объект. По этому лучше всего какраз и будет создать класс который принимает структуру типа кол-во треугольников + и потом пошли описания этих трегольников x1, y1, z1 первый угол x2, y2, z2 второй угол x3, y3, z3 третий угол Ну или по другому чуть делать - набор плоскостей использовать. Разбивать каждый объект на плоскости(по факту многоугольник) и хранить его координаты. К примеру могу предложить такой формат хранения: Строка 1| кол-во объектов допустим число "M" Строка 2| Кол-во плоскостей первого объекта, допустим число "N" Строка 3| Кол-во точек в плоскости допустим число "С" Далее идет "C" строк описания вида x1, y1, z1, с1 - координаты (x1,y1,z1), а с1 - цвет точки. Затем подобное описание "N" раз для следующих плоскостей. Затем подобное описание "M" раз для следующих объектов. В файле может это всё быть как Code: 2 // 2 объекта 2 // 2 плоскости первого объекта 3 // 3 точки первой плоскости первого объекта x y z c // координаты первой точки первой плоскости первого объекта и цвет x y z c // второй точки x y z c // второй третей точки 2 // 2 точки второй плоскости первого объекта x y z c // координаты первой точки второй плоскости первого объекта и цвет x y z c // второй точки 1 // одна плоскость второго объекта 2 // 2 точки второго объект первой плоскости x y z c // координаты первой точки первой плоскости второго объекта и цвет x y z c // второй точки таким образом быстро можно всё распарсить, получить описание всей сцены, каждого объекта на ней и каждой плоскости каждого объекта и каждой точки плоскости. Цвет точки можно потом использовать для связи с соседними точками плоскости. т.е. плавный переход от одной точки до другой. Как раз имя координаты точек и накальный и конечный цвет, то по формуле прямой, можно вычислить какая точка какой цвет будет иметь.