Skip to content

Implicit Surface Generation#76

Merged
kamarianakis merged 8 commits into
papagiannakis:developfrom
kostis1101:feature/implicit_surface_generation
Jul 15, 2026
Merged

Implicit Surface Generation#76
kamarianakis merged 8 commits into
papagiannakis:developfrom
kostis1101:feature/implicit_surface_generation

Conversation

@kostis1101

Copy link
Copy Markdown
Contributor

Implemented the marching square algorithm and a simple 2D Function plotter.
The implementation is located in the Elements/extensions/ImplicitSurface folder and is split into two files: marching_cubes.py for the main algorithm and triangulation_table.py for the triangulation table used for the marching square algorithm.

Implemented a simple Blinn-Phong shader which assigns a different color to each side of the surface. This is meant to make the generated surfaces more visible.

Finally, there is a very simple .obj file encoding implementation. This is used by the two classes to save the generated meshes into wavefront .obj files.

Also created three demo examples. Two of them are interactive example where the user can dynamically change parameters and the surface will regenerate in real time (example_marching.py, example_function_graph.py). The third example illustrates a simple technique one can use to create simple animated surfaces and use external parameters for the expression.

@kamarianakis kamarianakis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, benchmark does not workstandalone, it should be fixed in an issue

@kamarianakis
kamarianakis merged commit 145eb2b into papagiannakis:develop Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants