Хранить 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);
Другие вопросы по тегам