**Master Degree Graduation Project:**
**Simplification of Polygonal Models for Distributed Visualization**

Feb 2009

**Created by:**

Hessah Alsaaran

**Supervised by:**

Dr. Muhammad Hussain

**Abstract:**
Many people need to use 3D models on the Internet. A detailed 3D model size is usually very large, thus requiring long download time. But in most cases, there is no need for detailed models, thus preferring the use of simpler versions of these models. An efficient solution to the problem is using a streaming mesh, which consists of a simplified 3D model together with refinement patches. First the simplified model is transmitted, reducing the time for the first sight of the model. After that, the refinement patches are transmitted and the simplified model is refined back to the original model progressively. Many simplification algorithms exist in the state-of-the-art literature that are used to produce acceptable approximations to the original shape.

In this project, I propose simplification and refinement of polygonal models. The simplification algorithm uses half edge collapse operation as the basic simplification operation, and employs the greedy framework with local replacement selection heap. The error metric used to measure the error that is introduced in the mesh after a half edge collapse, is the combination of two error metrics: the distance-based metric developed by M. Garland and P. Heckler, and the normal deviation metric developed by M. Hussain and Y.Okada. The goal for this combination is to produce better quality approximations. Experimental results reveal that there is quality improvement with some LODs.

The proposed refinement algorithm uses the vertex split operation to reconstruct the original mesh from the simplified one. Each vertex split operation uses a 28 byte patch that stores the information needed for reversing a half edge collapse. The refinement algorithm is compared with others and it is more memory and time efficient.

A web application is developed using Java programming language with two main parts: a servlet running at the server and performs the simplification operation for a requested model, and an applet running at the client side that displays the 3D models using Java 3D and performs the refinement operation to reconstruct the received simplified model from the servlet to the original model progressively.