Хранить 3D объекты? (Джава)
Я делаю такую программу, как Алиса из Университета Карнеги-Мелон, используя JAVA.
Я не спрашиваю об Алисе! То, что я действительно хочу знать, как я храню 3D Graphics
?
Кажется, я не могу найти очень эффективный способ хранения сложных трехмерных объектов и фигур! Мне это нужно для библиотек 3D-объектов. Я извлек все файлы из alice.JAR
и декомпилировал их *.JAVA
, Я изучил их, и я не понимаю. Я думаю, что Алиса хранит их в *.XML
, Я прав? Если да, то как *.XML
файлы такие маленькие? Есть ли лучший способ хранить 3D-графику?
Я немного растерялся!?!
Кто- нибудь может мне помочь?
Любые ответы будут с благодарностью!:)
1 ответ
Обычно у вас есть список точек и список вершин.
List points = new ArrayList<Point3D>();
List verts = new ArrayList<Vertex3D>();
Вы должны инкапсулировать эти данные в объект и записать их, вы можете сделать что-то вроде этого
ПРИМЕЧАНИЕ: не добавляйте все конструкторы / публичные методы
CLass Model3D {
List points = new ArrayList<Point3D>();
List verts = new ArrayList<Vertex3D>();
}
Model3D m = new Model3D();
ObjectOutputStream oos = new ObjectOutpuStream(new FileOutputStream( new File('./3d-file-otuput') ) );
oos.write(m);