JAVA 3D API Design Goals

Get Complete Project Material File(s) Now! »

Related Work and Theories

Lord Tim and Russold Martin have discussed ideas about mesh modeling and interpolation technique. Using of FEM was discussed comprehensively in their project. They discussed about different types of finite elements meshes (struc-tured and unstructured mesh) with their properties, such kinds of meshes we have also implemented in our model. They defined structured mesh as it has regular topology and regular or irregular geometry but geometrical elements should have regular shapes while unstructured mesh can have irregular topology and geometry but their geometrical elements can have irregular shapes. Standard user interface requirements have been explained in a good manner, which are also close to our application interface and some are left for future in our application. They have established a very comprehensive data model, our data model is also very close to their domain model. For example, in their domain model they have explained that their geometrical model was stored in Amos 2 and they used well organized order of labels like we used for our geometrical objects [1].
Junkin research was much informative in terms of creating contour surfaces by using of a triangulation. He discussed a technique to divide base triangles into sub triangles and hierarchy of triangles is also maintained, by using of similar triangulation technique we have established iso-surfaces in our application. Their mesh was made by base triangles then base triangles are divided into nested sub triangles by using of their labels and common edges [2], we follow same way but here is some difference between our technique that we used computational formulas for finiding and drawing of iso level points, then reconstructed triangles with division of iso levels. We have not used any concept of common edged, each of base triangle is taken individually.
Ramanujam have discussed good ideas about generation of contour surfaces on base of some scalar value (such as temperature like we used in our model). His geometrical model was based on polyhedral elements but intersection of polygons created contour surfaces or cutting plane. Contour surfaces or cutting planes were used to divide whole model into different zones. Contour surfaces were associated with specified ranges of temperature and cutting planes were used to subdivide surfaces by intersections of planes [3]. His work of plane cutting was some how related with our work but he divided whole body into zones on the base of planes but we have divided each edge of the base triangle into different iso levels and palnes cutting is implemented on edges of the base triangles.
Bel at el has discussed iso-surfaces and contour generation in detail. Descrip-tion of his domain model was very easy to understand and helpful in ordering of vertices for mesh. Their ordering can be helpful in contour generation and also in designing of geometrical models. They attached scalar value with vertices of mesh then generated iso-surfaces (contour surfaces) on the base of that scalar value. The main idea behind the generation of iso-surfaces was relying on the use of a discretized volume [4] for representing the basic geometry, we used similar idea but our iso-surfaces were based on discretized elements (triangle) surfaces of tetrahedron meshes.
Shiaofen Feng and Pooja Gupta were discussed new ideas for surface extrac-tion methods from volume data-sets by applying iso-surface technique of zero-crossing edges in volumetric domain. First volume data set was filtered then marching cube process helped to extract the entire zero crossing surface that could be viewed on various intensity ranges and gradient scales. Their mecha-nism for extraction of iso-surfaces is better than traditional techniques used for iso-surfaces retrieval [5], in case of iso-surfaces extraction their work was close to our work but they used marching cube algorithm for extraction of volumetric iso-surfaces while we used trianglution for construction of iso-surfaces on the face of each base triangle.
For contour generation, Michael J Zayada used 3D Grid algorithm, which was basically designed for 2D sub Grids (slices). Main focus of this algorithm was to generate 2D contour lines on 3D Grids. In his algorithm only outer surface have been used for contour lines generation, without any usage of volume rendering. His algorithm was close to our computational formula but major difference is that he used 2D iso lines while we have been designed 3D iso-surfaces, which covers whole 3D mesh not only outer surfaces. The author used tree structures to organize nodes of different levels and used easy way to traverse nodes. First he divided 3D grid into 2D slices then contour lines generated on these slices. After successful generation of contour lines, slices were fixed again in 3D grid. A com-prehensive way has been used for calculation of nodes positions and connections of same level nodes, like we used for connection of iso-levels points in our iterpo-lation technique for sub triangles vertices. Different ways of contour generation, connections and drawings have been discussed in details in his research report. In 2D contour generation his algorithm can work as a milestone. The most advanced benefits of his algorithm is that he used components (slices) based technique so it is easier to mange and efficient to add different functionalities [6].
J. Ramsden and T. D. Charters have discussed triangular elements data structure (mesh) [23]. Their idea was basically used on rectangular grid and they divided their grid into triangles. They mapped scalar value on vertices of triangles by us-ing of interpolation they found and connected the points of same iso-level to draw contour lines. Searching of vertices was implemented by using of homogeneous coordinate system and each triangle had a direct link with at least 3 neighboring triangles and associated points, like nearest neigbour algorithm used in spatial data modeling, this algorithm is more explained in section 4.4 of this report. Their work have relationship with our work only because they made body by using of triangles like we design our base triagles mesh but our contour generation tech-nique is different because we consider every triangle element separately, their is no any use of neigbour triangles or combine edges in our model.

Finite Element Analysis


FEA (finite element analysis) is a famous computer simulation technique widely used in engineering applications. FEA is based on FEM (finite element methods). Finite Element Analysis was invented by researchers of applied Mathematics, Physics and Engineering. Firstly Richard Courant developed FEA in mathemat-ics for numerical analysis to obtain approximate solutions for vibration system. In case of Engineering application FEA was developed for matrix analysis and later it was emerged with aerospace research [8]. Basically it was developed only for structured analysis but later due to its better performance it also became im-portant in physical analysis. The importance of finite elements analysis increased day by day and was widely used in engineering projects. Now a days it is nothing wrong to say that finite elements methods are used in almost every field of en-gineering. By the invention of digital computers it has become easier to use and also powerful for finite elements analysis in scientific computing. Finite element analysis is based on mathematical models effectiveness and comprehensiveness.

Finite Element Analysis Process

Finite Elements Analysis Importance in Computer Aided design In the early days of computing science, Finite Element Analysis was only used for structured analysis mainly in the field of aerospace and civil engineering indus-tries. With the passage of time FE analysis has become an integral part of almost all engineering projects. The current trend in FEA software demands is in increase due to the flexibility in integration between solid modeling and FEA analysis. Engineers need FEA for regular updating during the design process of products. Engineers like to use FEA because it is more robust and collaborative, which also helps in computer-aided design to eliminate problems in the beginning [8].
FEA Models
1. Dynamic Modeling: Mostly FEA is used in dynamic modeling because if there happens any change in finite element formula, then it should effects the whole model.
2. Modeling Assemblies: This is basically a component based model because mostly engineers use FEA on some part of the model rather than implemen-tation on whole model [8].
Finite Element Analysis phases Finite Element Analysis process is typically divided into 4 phases.
1. Specification: This is the phase to define problem specification and domain model (geometrical entities, boundary conditions, etc).
2. Discretization: This phase decomposes the mesh into finite elements and nodes.
3. Analysis: Analysis can be done by using mesh data and boundary conditions to build equation system.
4. Evaluation: Results are evaluated in this phase by using standards tests.
If once evaluation results do not come accurately then all phases are repeated until getting the expected results. This works in an iterative fashion where the complex analysis can be solved in more and more accurate way. Each FEA pro-cess iteration can refine the whole mesh. An optimization criterion is used to stop these iterations. FEA complexity of calculation is increased by using of multiple levels of equations and large numbers of unknowns in equations.
On the basis of problem definition, corresponding FEM is recommended to apply. Multiple categories of FEA formulations are available and classified on the base of boundary value problems, initial-value problems, and specific kinds of partial differential equations. Several Finite Element Methods are available for static linear elasticity or heat conduction problems [9].
FE Analysis importance FEA Important features:
1. Finite Element Methods are mostly reliable and robust in functionality.
2. Finite Element Methods should not be sensitive to material data and bound-ary conditions.
3. Results of FE accuracy are directly linked with mesh topology; if mesh topology is fine the FE methods must give accurate results.
4. Finite Elements Analysis technique is a key to have better check on error estimation.
Mostly FE analysis is used in designs of some parts in complex engineering ap-plications to enhance their accuracy. Most of the engineers do not use all of its processes; rather they just use it in a customized way. In future finite elements, analysis techniques can be fruitful to use in other engineering fields. It can be more important in the future if more automatic ways be used for error estimation and FE analysis parameters will be automatically upgraded [7].

READ  Langevin Monte-Carlo with inaccurate gradient 

Database Techniques

All types of software have databases as their integral part. Basically databases were designed to store related types of data in an organized way. When the size of data gradually increases it becomes more complex and difficult to handle ACIDity (Atomicity, Consistency, Isolation and durability) in databases. Database struc-ture is designed and manipulated by Database Management System, which pro-vides logical and physical data independence. DBMS can work as a controller between user queries and physical databases, it provides opportunity to commu-nicate, update and modify database schema.

Different types of database models

Hierarchical data Model In this model data is stored in a hierarchal tree structure on the base of related record types. Records have embeded set of op-erators to traverse the tree for accessing or updating of data. IMS was the most famous DBMS based on the hierarchical model.
Network database Model As known from its name, data is arranged in the form of a network. Using set operators, which contain information about con-nected nodes and their relationships, made the network model. The main feature of this data model was that, it could support one to many relationships. Data Ma-nipulation can be done by using of embedded set operators.
Relational database Model This technique is based on a relation (table), which contains data and relationships with other tables. Instances are represented by tuples of the tables. In domain modeling it gives more control on data by the implementation of several constraints. For data manipulation it uses high-level language, which gives more security on physical data model. It helps to use rela-tional calculus and relational algebra based on mathematical theories to provide multiple ways for structured queries. The most famous RDBMS is Oracle.
Object Oriented Database Model This technique was designed on the ba-sis of objects oriented programming and used object stores. Its basic architecture is like other high level languages that everything is based on objects (entities). It supports object-oriented properties of abstraction, methods, encapsulation, op-erator overloading, inheritance, and configuration management. This modeling technique uses objects ID, composite objects and methods to store objects and their properties. The structure and behavior of objects are defined by classes and objects.polymorphism is an imporatant property of object-oriented modeling.
Object Relational Database Model This technique is almost the same as the OO database model. Its architecture is based on Methods (functions) and Types (classes). The idea behind the object relational data models is that object stores are used to design and manipulate databases, which also support query lan-guages. Advanced feature of object relational data models is that they can support high level SQL queries, user defined data types, and user defined functions. Ob-ject relational database support embedded queries to access stored procedures (functions). Indexing can also be implemented on stored procedures and data . It provides strong views for abstraction of entire data and data independence can also be possible. Generalization, Classification and specialization are the main attributes of objected oriented database modeling(normally used in Extended ER diagram).

Spatial Database Systems

A spatial database is that which supports spatial data types, spatial indexing and efficient algorithms to work on spatial data. Their basic characteristic is to man-age large collections of relative geometric objects.
Spatial relationships are mostly designed on the base
Modeling in spatial databases Abstraction of model is required for model-ing of spatial databases, discrete geometric objects and algebra used to maintain relationships between geometrical objects. Some special techniques of DBMS are used to integrate geometrical objects into data model. Two types of views are mostly used for the abstraction of spatial models:
1. Geometrical objects position in space.
2. Space relationship with geometrical objects.
Spatial modeling is based on designing of a single object and their relationships. The best spatial model is that which can avoid intersection of points in geometric computational operations. For geometrical modeling, objects and operations are firstly needed to be defined and then numerical analysis (like FEA, etc) are used.
Spatial Relationships: of following criteria.
1. Topological: inside, intersects, adjacent.
2. Directional: above, below, north, south, etc.
3. Metrical: To compute distance between objects.
There are many ways to implement these relationships between objects but mostly it is recommended to divide space into regions and implements relationships on the geometrical objects in their specific region. Some special operations are needed in spatial DBMS to manipulate spatial databases. It is very important to take care of the requirement analysis so that it can be more collaborative and great care must be needed to design the mathematical model.As mathematical model can give consistent results by using of numerical analysis.

Table of contents :

1 Introduction
1.1 Thesis Work
1.2 Contributions
1.3 Report Outline
2 Related Work and Theories
3 Finite Element Analysis
3.1 Introduction
3.2 Finite Element Analysis Process
FEA Models
Finite Element Analysis phases
FE Analysis importance
4 Database Techniques
4.1 Different types of database models
Hierarchical data Model
Network database Model
Relational database Model
Object Oriented Database Model
Object Relational Database Model
4.2 Spatial Database Systems
Modeling in spatial databases
Spatial Relationships:
Pros and Cons of spatial data modelling
4.3 AMOS 2
Amos 2 as a Mediator
Amos 2 java Interface
4.4 Spatial Query processing in databases
Famous algorithms for querying in spatial databases
Spatial Operations
AmosQL query language
5 Visualization Techniques
Common Attributes of Standard APIs
5.1 OpenGL
Open GL Architecture
JAVA 3D API Design Goals
JAVA 3D API Versus Other APIs
Scene Graph Programming Model
Using of Java 3D API in iso-surfacess (contours) construction and visualization
6 Domain Model
6.1 Mesh Techniques
Structured Mesh
Unstructured Mesh
6.2 Mesh Model in Amos 2
Schema (commands) for designing of Geometrical Mesh model
6.3 Finite Elements Mesh
Tetrahedron Mesh
6.4 Finite Element Procedure
Boundary conditions
Finding of iso levels on each edge of the triangle
Calculation and generation of iso level points
6.5 Contours Generation process
Interpolation(Connection of points and drawing of Triangulated surfaces)
Contour colors pattern generation on the base of iso levels
Contour Generation Steps
6.6 Data Model
7 Spatial Queries and their results
7.1 Sample queries
7.2 Sample models
7.3 Cutting on the base of geometrical queries
7.4 Cutting of the planes from 3D Mesh
8 Conclusion and Further work
8.1 Future work
Importance of this application in other fields
Further Enhancements
8.2 Reflections


Related Posts