Хранить 3D объекты?(Джава) - PullRequest
1 голос
/ 29 июня 2011

Я создаю такую ​​программу, как Алиса из Университета Карнеги-Мелон с использованием JAVA.

Я не спрашиваю об Алисе!То, что я действительно хочу знать, это КАК ХРАНИТЬ 3D Graphics?

Я не могу найти очень эффективный способ хранения сложных 3D-объектов ицифры!Мне это нужно для библиотек 3D-объектов.Я извлек все файлы из alice.JAR и декомпилировал их в *.JAVA.Я изучил их, и я не понимаю.Я думаю Алиса хранит их в *.XML.Я прав?Если да, то как файлы *.XML такие маленькие?Есть ли лучший способ для хранения 3D-графики?

Я вид действительно в замешательстве!?!

Может Кто-нибудь пожалуйста помогите мне?

Любые ответы будут очень приветствуется!:)

1 Ответ

2 голосов
/ 29 июня 2011

Обычно у вас есть список точек и список вершин.

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);
...