Skip to content

Visualize indoor wireless signal strength using point clouds, heatmaps, isosurfaces, and volume rendering.

Notifications You must be signed in to change notification settings

yushiang-demo/coverage-visualizer

Repository files navigation

3D Coverage Visualizer

Our project demonstrates the functionality of signal decay simulation through obstacles, providing intensity estimates at various points for visualization purposes. It supports real-time computation on mobile devices and features easily extendable modules for exploring complex scenarios. Note that while the intensity values are used for visualization, they do not reflect real-world signal behavior.

demo

Quick start

Development Environment Setup

yarn
yarn dev

Build

yarn build

Implementation Details

For each fragment $i$, we perform raycasting $R_{i,j}$ from signal $j$, computing intersections with axis-aligned bounding boxes (AABBs) and triangles to separate into airborne ${A_{i,j}}$ and obstacle ${O_{i,j}}$ components.

Next, we calculate the signal intensity $𝑆_{fragment_i}$ of the fragment using two decay functions: $decay(S,D)$, which considers the original signal intensity $S_j$ and the airborne distance $length({A}_{i,j})$. and $attenuation(AABBs,Triangles,L)$, which accounts for spatial obstacles such as AABBs and triangles along the ray's path through the solid object.

$Decay_{i,j} = {decay}(S_{j}, length({A}_{i,j}))$

$Attenuation_{i,j} = \sum_{k} \ attenuation(AABB_k,Triangle_k,length(O_{i,j}))$

$S_{fragment_i} = \max_j (Decay_{i,j}-Attenuation_{i,j})$

For further details, you can read the source code of the fragmenet shader.

References

About

Visualize indoor wireless signal strength using point clouds, heatmaps, isosurfaces, and volume rendering.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published