Skip to content

Generate and output a set of points that are located on the surface of a gyroid, providing a discrete representation of this complex and intriguing minimal surface

License

Notifications You must be signed in to change notification settings

VitorCarvalho67/Gyroid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imagem logo

GYROID

The purpose of this program is to generate a discrete representation (set of points) of the gyroid surface, which is an interesting minimal surface with applications in various areas of science and engineering, such as porous materials, photonic structures, and biomimetics. Visualizing these points can help understand the shape and structure of the gyroid, and the resulting 3D mesh from the Marching Cubes algorithm can be used in simulations, analyses of material properties, or as a basis for the design of new materials and structures.

Here's a version with improved Markdown structure:


The gyroid has an approximate definition given by the equation:

$$ f(x, y, z) = \sin(x) \cdot \cos(y) + \sin(y) \cdot \cos(z) + \sin(z) \cdot \cos(x) = 0 $$

where the domain is defined as:

$$ -\pi < x < \pi, \quad -\pi < y < \pi, \quad -\pi < z < \pi $$


This C binary generates a point cloud [ points on the surface.]

gcc main.c -o gyroid -lm 
time ./gyroid > pc.json

Marching Cubes

The included shell script uses sensible parameters to configure splashsurf. The output is a obj file which can be imported in a program like blender.

./reconstruct.sh

About

Generate and output a set of points that are located on the surface of a gyroid, providing a discrete representation of this complex and intriguing minimal surface

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published