FEM2D_MESH_DISPLAY_OPENGL
Display a Polygonal Mesh Using OpenGL


FEM2D_MESH_DISPLAY_OPENGL, a C++ code which reads the name of two data files defining a polygonal mesh, reads the data, and displays the mesh using OPENGL.

The files defining the mesh consist of one file containing the coordinates of the points, and a second file that lists the indices of the nodes making up each element. All the elements in the mesh must have the same order, that is, the number of vertices.

Usage:

fem2d_mesh_display_opengl prefix
where prefix is the common filename prefix: reads the node data from nodes.txt, the element data from elements.txt and displays a plot of the mesh.

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

FEM2D_MESH_DISPLAY_OPENGL is available in a C++ version and a MATLAB version.

Related Data and Programs:

CAUSTIC_OPENGL, a C++ code which computes a caustic curve and displays it using OpenGL.

FEM_BASIS_T3_DISPLAY, a MATLAB program which displays a basis function associated with a linear triangle ("T3") mesh.

FEM_BASIS_T6_DISPLAY, a MATLAB program which reads a quadratic triangle mesh and displays any associated basis function.

FERN_OPENGL, a C++ code which uses OpenGL to display the Barnsley fractal fern.

LIFE_OPENGL, a C++ code which simulates a version of John Conway's "Game of Life", displaying the results using OpenGL.

LIGHTS_OUT_OPENGL, a C++ code which sets up a "Lights Out" game and allows the user to solve it, using the OpenGL graphics window.

LISSAJOUS_OPENGL, a C++ code which computes a Lissajous figure and displays it using OpenGL.

opengl_test, C++ codes which illustrate the use of the OpenGL graphics library;

POLYGONAL_SURFACE_DISPLAY_OPENGL, a C++ code which displays a surface in 3D described as a set of polygons, using OpenGL.

ROTATING_CUBE_DISPLAY_OPENGL, a C++ code which displays a rotating color cube in 3D, using OpenGL;

SCREENSHOT_OPENGL, a C++ code which shows how a program using the OpenGL graphics library can save a screenshot of the graphics being displayed.

SPHERE_XYZ_DISPLAY_OPENGL, a C++ code which reads XYZ information defining points in 3D, and displays a unit sphere and the points, using OpenGL.

TRI_SURFACE_DISPLAY_OPENGL, a C++ code which displays the 3D graphics information in a TRI_SURFACE file using OpenGL.

TRIANGULATION_DISPLAY_OPENGL, a C++ code which reads data defining a triangulation and creates an image using OpenGL.

TRIANGULATION_MASK, a C++ code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.

TRIANGULATION_ORDER3, a directory which contains a description and examples of order 3 triangulations.

TRIANGULATION_ORDER6, a directory which contains a description and examples of order 6 triangulations.

TRIANGULATION_PLOT, a C++ code which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.

XY_DISPLAY_OPENGL, is a C++ code which reads an XY file of 2D point coordinates, and displays an image of those points using OpenGL.

XYL_DISPLAY_OPENGL, a C++ code which reads XYL information defining points and lines in 2D, and displays an image using OpenGL.

XYZ_DISPLAY_OPENGL, a C++ code which reads an XYZ file of 3D point coordinates, and displays an image of those points using OpenGL.

Reference:

  1. Edward Angel,
    Interactive Computer Graphics,
    A Top-Down Approach with OpenGL,
    Addison-Wesley, 2000,
    LC: T385.A514.
  2. Renate Kempf, Chris Frazier, editors,
    OpenGL Reference Manual,
    Addison-Wesley, 1997,
    LC: T385.O642.
  3. Mason Woo, Jackie Neider, Tom Davis,
    OpenGL Programming Guide,
    Addison-Wesley, 1997,
    LC: T385.N435.
  4. Richard Wright, Michael Sweet,
    OpenGL Superbible,
    Waite Group Press, 1996,
    LC: T385.W73.

Source Code:

ELL is an L-shaped region covered by triangles.

RECT is a rectangular region covered by quadrilaterals.

Q4 is a rectangular region covered by quadrilaterals, with a hole.

HEX is a mesh of hexagons.


Last revised on 05 March 2020.