leios / SoME_Topics

Collaboration / Topic requests for SoME
Other
212 stars 6 forks source link

The extension of computer graphic B-spline (NURBS) to account for fine details: problems and solutions #140

Open VikingScientist opened 2 years ago

VikingScientist commented 2 years ago

About the author

Research manager at SINTEF, Northern-Europes largest private research organization. PhD on computational geometry and mechanics with focus on basis functions of spline spaces used for both geometry representation in computer-aided design (CAD) and computer-aided enginering (CAE).

Quick Summary

The pitch would be "How to get an oscar (academy award) with a degree in mathematics". State-of-the-art computer graphics uses NURBS and B-splines for geometry representation, but there are limitations to these technologies. In particular it is limited to tensor product representation which means you either have to have annoyingly many patches or needlessly many control points to capture fine details. The video lesson would outline a solution to these limitations using local refinement and present the bleeding edge of active research topics. Application areas include (but are not limited to) computer graphics (and yes there is an oscar to be had for best special effects and best technical achivement) as well as industry applications in CAE car-crash simulation technology.

Target medium

Single video starting from the motvational pitch, outlining the technical problems and detailing the mathematics of the solution.

More details

The fine details of the proposed topic can be found published at https://www.sciencedirect.com/science/article/abs/pii/S0045782513002417 , though I am open for discussion on the exact emphasis of bleeding-edge-of-technology vs established methods. B-splines and NURBS themselves are the extension of Bezier curves (one of the previous years winners) and Locally Refined splines are an extension of B-splines. It might be sufficient to consider B-splines.

For a story-board I do have the story-line in power-point presentation form to form a coherent story, outlining the details in the right order, but I'll share this if/when someone respons as a content preoducer. I do envision this to be a collaborative project and enter into an active discussion with the producer him-/herself on the best way to produce this. There are a number of different ways to attack this particular topic and it will also depend on your particular skills/interests.

For the content creator itself, I will require you to have some background in computer graphics and preferably comfortable to integrate python/c++ libraries into your workflow.

Contact details

E-mail me directly at kjetijo@gmail.com

Additional context

Not that I am aware

(Any additional licensing information? If you do not say anything, this post will be considered CC-BY.)

szabolcsdombi commented 2 years ago

Hi,

I am interested in rendering such a surface. I was wondering if my skills and toolbox would be a good fit.

Here is a draft for a bezier surface rendered with Python and ZenGL. I prefer to do visualizations this way.

Animation

And you can find the code here.

Basically the rendering is done in pure OpenGL so all aspects of the shading can be defined programatically/mathematically. It is obviously harder to use OpenGL compared to some library that does the shading automatically, but I prefer full control of what will be on the screen.

For recording purposes such a demo can be made interactive:

Actually recording the screen is not needed. As a secondary output the window content can be saved with ffmpeg.


From my part, prototyping the code to get the surface rendering done, adding the interactive elements, automating animation according to the story board is doable. However, I am not interesed in producing the audio, or cutting the video.