Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Objective Add random sampling for the `Annulus` primitive. This is part of ongoing work to bring the various `bevy_math` primitives to feature parity. ## Solution `Annulus` implements `ShapeSample`. Boundary sampling is implemented in the obvious way, and interior sampling works exactly as in the implementation for `Circle`, using the fact that the square of the radius should be taken uniformly from between r^2 and R^2, where r and R are the inner and outer radii respectively. ## Testing I generated a bunch of random points and rendered them. Here's 1000 points on the interior of the default annulus: <img width="1440" alt="Screenshot 2024-05-22 at 8 01 34 AM" src="https://github.com/bevyengine/bevy/assets/2975848/19c31bb0-edba-477f-b247-2b12d854afae"> This looks kind of weird around the edges, but I verified that they're all actually inside the annulus, so I assume it has to do with the fact that the rendered circles have some radius.
- Loading branch information