I am using Math.net Numerics to do calculations with matrices. What I would like is to virtually increase the resolution. I am thinking of subidiving the 3D matrix (representing a surface area) the Catmull-Clark way. How would I achieve this? I was looking at the Interpolation namespace but did not find anything that could work with a 3d matrix.
Asked
Active
Viewed 57 times
0
-
See following there are two solutions int[,,] and int[][][] : https://stackoverflow.com/questions/17896160/c-sharp-3-dimensional-array – jdweng Sep 13 '19 at 13:52
-
Catmull-Clark is for explicit surfaces. Does your 3D matrix represent a surface? If so, how? What are you intending to achieve with increasing the resolution? – Nico Schertler Sep 13 '19 at 16:19
-
@NicoSchertler Yes the matrix represents a surface area. Think of it as a 20x20 (WxH) pillars of different height. By increasing the resolution two times, it would become an area of 40x40 pillars. The pillars in between would have a calculated height, just like with Catmull-Clark. – Mike de Klerk Sep 13 '19 at 17:27
-
So you have a 2D matrix instead of a 3D one? Then just treat it as an image and scale it up using a bicubic filter or similar. – Nico Schertler Sep 13 '19 at 18:21