"Half paper" refers to the small ones that I know can be implemented but can't be done.ArticleThere is no fame or reputation. I am not interested in achieving this. But if you are interested, we can discuss related topics. This article is based on a paper in a finite element conference in libmesh and the limitations of writing a Houdini node to export a fluid point cloud, the purpose is to replace the traditional three-linear difference point cloud data, and the difference can be any point in the Convex Shell.
GPU-accelerated point cloud Interpolation
PDF Fulltext download
Introduction
In natural science, there are using problems which are all cocould be merged as solving linear system, such as building engineering simulation, heat energy diffusion. point Cloud interpolation shoshould be a very useful tool for solving PCA (Principal Component Analysis) problems, such as volume data interpolation, picture color reconstruction. origin method, except des linear interpolation. we extend the method about FEM, use gpgpu to accelerate the basic linear algebra operation.
Solution
Assume there is a triangle, with a scalar value on each vertex. And we want to get interpolated value on a point in the convex hull. This forms a linear interpolation function,
.
The is the area ratio, is the area of triangle. It's very clear that there are also 3 condition,
.
We re-write it as matrix form below,
.
The quadratic error basis function is
.
Let be the next donor mesh points that are closest to. Let represent the value of at the data point. Define a Matrix
.
To get the coefficients we invert a system,
Where and
.
It's very easy to get solutions in 3D case,
And
,
Inverse this matrix wocould get,
.
The quadratic error is
.
The is in a terahedron, not Planar Triangle. Similar the (7) We can get 3D version of this linear system,
After inverse the we can easily obain The. Third Order and fourth order requires inverse and linear system.
Half implementation
Current NVIDIA Cuda cublas library has complete linear algebra support from blas1 to blas3. it's high efficient to operate matrix and vector in parallel on GPU now, so nearly the all work cocould be mapped onto GPU. there are maturity linear algebra operator Lu released by some researchers from U. c. berkeley and UNC. use K-nearest to get some points near the interested position, then apply the above linear system to get the value.
Conclusion
maybe you will think of that it's not valuable, simple linear interpolation is enough for grid data, to obtain the gradient. to achieve higher accuracy in engineering analysis, it's necessary to get interpolated point data not only in XYZ dimensions but any position. this idea is too red by a paper about Mae and processing Houdini's fluid grid.