Visualize vector fields from this paper, with added alignment adapted from this paper. (This code has only been tested in WSL Ubuntu environment)
(expand on the overview soon)
suitesparse, metis, blas, lapack
files should be available at the default paths (/usr/local/lib and /usr/local/include)
IMPORTANT. UPDATE THE SUBMODULES. CODE WON'T RUN WITHOUT IT.:
git submodule update --init --recursive
Then run the following commands from project root directory.
make -C deps/tcods
make -C deps/fieldgen
mkdir build
cd build
cmake .
make -j8
This builds fieldgen and tcods, as well as polyscope with fieldviz.
./bin/fieldviz ../test/bunny.obj
- Click on any vertex to select it as a singularity.
- Set the Indices in the singularities UI on the left.
- Click on
create alignment fields - Choose between smooth or aligned fields.
- Set values of
s,t.
MeshIO.cpp::writeEOBJwhich has theBFScode.HalfEdge.cpp::toGlobalwhere we removed origin so that the face based vectors made more sense which weren't lying on the faces before.
src/KVecDir.cpp:SmoothestGivenVectorAlignment,setupqForGivenVectorAlignment,ComputeInputVectorFieldssrc/commandline.cppandsrc/viewer.cppto take inputs- And other mesh files like
MeshIO,Mesh.hto store the alignment fields and to read and write the in proper format
- main file to read mesh.
- handles polyscope visualizations.
Created as a part of the final project submission for CAS CS 582: Geometry Processing (Spring 2023) course, taught by Prof. Edward Chien at Boston University, Graduate School of Arts and Sciences.