Skip to content

Building of sleek surfaces without misplaced extremes based on the finite discrete point set

License

Notifications You must be signed in to change notification settings

icosaeder/sleek-surface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sleek-surface

Sleek surface building without misplaced extremes based on the finite discrete point set.

It is an implementation of an algorithm described in this paper.

This algorithm gets finite discrete set of 3D points distributed by regular grid as input and builds 3D surface that looks sleek and in the same time has no misplaced extremes and no oscillations.

The core of this algorithm is tbezierSO0 routine that builds sleek curve without misplaced extremes. This routine is used to create a set of intersecting curves and then the surface is built as a set of joint bicubically blended Coons patches. The normals are calculated using smoothing groups algorithm and then additionally smoothed using Gaussian filter. The result surface has both high visual quality and high accuracy.

Written by Konstantin Ryabinin and Konstantin Matkin under terms of MIT license.

Testing

You can compile the test application just by calling make.

The file main.cpp contains the hardcoded testing dataset described in the original paper. For testing purposes, the application prints to console the surface vertex data in the Wavefront OBJ format. So, you can run it as follows:

./main > out.obj

After that, you can view out.obj in some 3D model viewer, for example, import it in Blender.

About

Building of sleek surfaces without misplaced extremes based on the finite discrete point set

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published