17 projects tagged "Mathematics"
The GNU Triangulated Surface Library (GTS) provides a set of useful functions to deal with 3D surfaces meshed with interconnected triangles. It features metric operations (area, volume, curvature, etc.), 2D Delaunay and constrained Delaunay triangulations, robust geometric predicates and set operations on surfaces (union, intersection, etc.), surface refinement and coarsening (multiresolution models), and bounding-boxes trees for collision/intersection detection.
Grlib is an implementation of generative grammars and turtle graphics. The grammars (Lindenmayer systems) are used to produce descriptions of three dimensional objects, and the turtle is used to display them (i.e., generate images in several forms, such as bitmap, PostScript, or OpenGL).
XiStrat (aka 'Extended Strategy') is in particular about turn-based, networked multiplayer, non-cooperative, zero-sum, abstract strategy board games (e.g., Chess, Go, Reversi variants, etc.) on 3D-visualized polyhedra and contains a server, client GUI, autoplayer engine, utilities, and documentation. Related recreational modern mathematics (single agent, cellular automata, graph/group/complexity/knot theory, discrete geometry, algebra, combinatorics, and mathematical physics) is also dealt with.
GLgraph is an interactive OpenGL based function grapher for Linux written in Perl. It visualizes any mathematical function in 1, 2, or 3 unkowns (x,z,t) in a 2D, 3D, or 4D wireframe or solid surface. It creates an animation after one time period. GLgraph has a command line interface to input a function, to specify the minimum and maximum plotting bound, and more. It can be interactively controlled with the keyboard.
Gmsh is an automatic 3D finite element grid generator with built-in CAD and post-processing facilities. Its design goal is to provide a simple meshing tool with parametric input and advanced visualization capabilities. It is built around four modules: geometry, mesh, solver, and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface (based on FLTK and OpenGL) or in ASCII text files using Gmsh's own scripting language.
JCCad is a project to develop a 2D/3D CAD program that can be used to create technical drawings. One of the main goals of this project is to include a plugin system to allow usuaries to make new commands. In this way it will be easy to use the program for any particular task. JCCad provides an easy interface with a command line.
Asymptote is a powerful descriptive 2D and 3D vector graphics language for technical drawing, inspired by MetaPost but with an improved C++-like syntax. It provides for figures the same high-quality level of typesetting that LaTeX does for scientific text. Asymptote is a programming language as opposed to just a graphics program. It can exploit the best features of script (command-driven) and graphical user interface (GUI) methods. High-level graphics commands are implemented in the language itself, allowing them to be easily tailored to specific applications.
Octaviz is a visualization system for Octave. It is a wrapper that makes all VTK classes accessible from within Octave using the same object-oriented syntax as in C++ or Python. It also provides high-level functions for 2D and 3D visualization. Using those functions, most common visualization tasks (3D surface plots, contour plots, meshes, etc.) can be accomplished without any knowledge about VTK.
VCG TriMeshInfo is a tool designed to inspect 3D models and retrieve many types of topological and geometrical information from them. It can be used to automate the process of decoding 3D mesh inherent properties and ease data classification and retrieval. For each analyzed dataset, the following data are extracted: number of vertices, number of faces, number of edges, number of connected components, number of boundaries, number of isolated (i.e. unreferenced) vertices, manifold, genus (computed only for manifold datasets), orientability, orientation, regularity, number of duplicated vertices, and self-intersection.