WhatsThePoint.jl

Build Status Stable Dev License File

Documentation for WhatsThePoint.

This package intends to provide functions for all things regarding point clouds.

Installation

Simply install the latest stable release using Julia's package manager:

] add https://github.com/JuliaMeshless/WhatsThePoint.jl

Quick Start

Although there are a number of features in this package, the initial use case is for generating point clouds for use in numerical solution of PDEs via a meshless method.

You can load a surface mesh and extract the boundary points using the PointBoundary constructor.

using WhatsThePoint
boundary = PointBoundary(joinpath(@__DIR__, "assets/bunny.stl"))
PointBoundary{Meshes.𝔼{3}, CoordRefSystems.Cartesian3D{CoordRefSystems.NoDatum, Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(m,), 𝐋, nothing}}}}
├─69664 points
└─Surfaces
  └─surface1

and we can visualize it with

using GLMakie
visualize(boundary; markersize=0.15)

bunny boundary

Then we can generate a point cloud using the PointCloud constructor.

spacing = ConstantSpacing(1m)
cloud = discretize(boundary, spacing; alg=VanDerSandeFornberg(), max_points=100_000)

and we can visualize again with visualize(cloud; markersize=0.15)

bunny discretized