{"id":21900809,"url":"https://github.com/landslidesim/visualization","last_synced_at":"2025-03-22T06:12:52.578Z","repository":{"id":211753728,"uuid":"729817445","full_name":"LandslideSIM/Visualization","owner":"LandslideSIM","description":"🕸️ Surface reconstruction for MPM results.","archived":false,"fork":false,"pushed_at":"2024-01-05T08:17:28.000Z","size":1284,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-28T15:11:23.571Z","etag":null,"topics":["mpm","rendering","surface-reconstruction"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LandslideSIM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-10T13:03:57.000Z","updated_at":"2024-03-01T09:38:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"8cf305cb-acc5-4153-8a4e-9257c0920cd3","html_url":"https://github.com/LandslideSIM/Visualization","commit_stats":null,"previous_names":["landslidesim/mpmrender","landslidesim/visualization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LandslideSIM%2FVisualization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LandslideSIM%2FVisualization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LandslideSIM%2FVisualization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LandslideSIM%2FVisualization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LandslideSIM","download_url":"https://codeload.github.com/LandslideSIM/Visualization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235810419,"owners_count":19048532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mpm","rendering","surface-reconstruction"],"created_at":"2024-11-28T15:10:37.046Z","updated_at":"2025-01-27T06:27:19.251Z","avatar_url":"https://github.com/LandslideSIM.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Visualization: MPM 🎨\n\nThis repo can be used to do surface reconstruction for the results from MPM simulation. Currently,\nIt is using [splashsurf](https://github.com/InteractiveComputerGraphics/splashsurf)[^1] to generate surfaces, and render the surfaces in [ParaView](https://www.paraview.org/download/). \n\n\u003e [!WARNING]\n\u003e This is just an experimental attempt, and there is no guarantee of the correctness of the results. There are no fixed parameters for all simulations, so it requires experience and careful adjustment of parameters according to each individual's standards. Note that **splashsurf** is used for SPH originally.\n\n## 1. Generate surfaces\n\n```julia\n#-------------------#\n# Main: user inputs |\n#-------------------#\n\nhdf_path    = joinpath(@__DIR__, \"\")\nply_path    = joinpath(@__DIR__, \"ply_set\")\nsplash_path = joinpath(@__DIR__, \"splash_set\")\ngenerate_ply(hdf_path, ply_path, splash_path, 0.020, 20)\n```\n\nWe need to fill this part in `main.jl`, where `hdf_path` is the path of `HDF5` file generated from `MPMSolver.jl`. \n\nThe parameters for the function `generate_ply()` can be modified by user.\n\n```julia\ngenerate_ply(hdf_path   ::String, \n             ply_path   ::String, \n             splash_path::String, \n             radius,\n             num_threads;\n             cube_size=0.6,\n             surface_threshold=0.6, \n             smoothing_length=1.2)\n```\n\nThe meaning of these parameters can be found from [here](https://github.com/InteractiveComputerGraphics/splashsurf?tab=readme-ov-file#all-command-line-options).\n\n## 2. Rendering in ParaView\n\nThe outputs from last step normally are in `.vtk` files, so, we can load them in ParaView easily. \n\n- Enable Ray Traced Rendering\n- OSPray Pathtracer\n- Samples per pixel (try from 5 to 10)\n- Change HDR/Background image/color\n\n## 3. Result\n\n\u003cp align=\"center\"\u003e\n    \u003cimg width=\"66%\" src=\"./assets/1.gif\" alt=\"result\"\u003e\n\u003c/p\u003e\n\n## 4. References\n[^1]: Löschner, Fabian and Böttcher, Timna and Rhys Jeske, Stefan and Bender, Jan, **Weighted Laplacian Smoothing for Surface Reconstruction of Particle-based Fluids**, 2023, The Eurographics Association, 10.2312/vmv.20231245.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandslidesim%2Fvisualization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flandslidesim%2Fvisualization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flandslidesim%2Fvisualization/lists"}