Skip to content

rab-ai/3D-Object-Painter-with-Graph-Structure

Repository files navigation

3D-Object-Painter-with-Graph-Structure

3D Object Painter created using by MeshGraph, Binary Heap, Breadth-First Search and Dijkstra Shortest Path Algorithm implementations.
Binary Heap is used as STL Heap data structure. BinaryHeap.cpp has the necessary functions such as Add, PopHeap, ChangePriority, HeapSize and those functions help the coloring proccess using and updating the weight of the edges. MeshGraph.cpp has the important functions to implement Dijkstra Shortest Path Algorithm and Breadth-First Search. MeshGraph.cpp forms edges and paints specific edges and nodes. MeshGraph uses adjacency list style of implementation with slight differences.
Here are the examples of 3D painted objects from different angles.
A Face: 2023-03-12_03-30-36 2023-03-12_03-31-27 A Standing Human: 2023-03-12_03-33-36 2023-03-12_03-34-24 A plane: 2023-03-12_03-35-46 2023-03-12_03-35-11

Usage: On Linux type: " ./CENG-213-OBJ-Loader "path_to_.obj_file" "path_to_color_file" t" (or q) without any quotes. On Windows type: " ./ObjViewer.exe "path_to_.obj_file" "path_to_color_file" t" (or q) without any quotes.

While using these programs, you should be in the directory that the program is on (from the terminal). Use "q" (third argument) for plane.obj and plane-low.obj files, and "t" for facem-low2.obj and man-low.obj files (again no quotes).

On Windows type it should work on any recent windows platform. (It may require visual studio redistributables which can be downloaded from the link:https://aka.ms/vs/17/release/vc_redist.x64.exe)

About

Binary Heap, MeshGraph and Breadth-First Search Implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors