Recent submissions

Comment · 12 hours ago
I have been trying for a while to put irregular things (point clouds) in regular grids, to use the grid itself as a data structure. Not because it is better, but just because grids are more structured than e.g. trees and thus easier integrate into ML pipelines. It all started here, with simple multi-indexing:

https://news.ycombinator.com/item?id=49042861

Then I realised that to make the multi-indexing procedure more effective, I need some kind of preprocessing, to make the points flat (2d insteed of 3d). When they are already flat I can sort them better.

Then I heard about mesh flattening, https://geometrycollective.github.io/boundary-first-flatteni... geometry images https://hhoppe.com/proj/gim/ and thought: this is something I need to try with point clouds, whenever they have a latent surfacic distribution. And well, it seems to work. At least now I can have bunnys dragon and elephants all to fit in the grid and not getting half of the legs, ears or whatever lost in the process.

Comment · 16 days ago
Comment · 2 months ago
- Source of the blog (not me): https://blog.wolfram.com/author/silvia-hao/

Stippling is an old topic. The question is simple: how to optimaly place points to fit a target distribution. Artists do that, and mathematicians search for algorithms to do it with computers, which is quite a challenge because naive formulations are intractable.

- Implementation based on Gaussian Blue Noise (me, both notebook and package): Feel free to explore stippling on your own images, from google Colab https://colab.research.google.com/drive/1W15QE8Boj0-Ld4Dx3N2... or directly by using the package from github https://github.com/For-a-few-DPPs-more/Recursive-Gaussian-Bl...

-Source for the theory of Gaussian Blue Noise (not me): Ahmed, Abdalla G. M. and Ren, Jing and Wonka, Peter (2022, doi 10.48550/arXiv.2206.07798)

Comment · 3 months ago
Cartesian grid sort assign raw input points (x_k, y_k) to a grid by mapping the initial flat index k to a multi-index [ij]. Point set become (x_[ij], y_[ij]).

Alternated 1d sorts make the [ij] grid structure converge to monotonic, spatially coherent multi index with a simple and fast algorithm (<80 lines basic C++ code, <200 ms runtime / million points)

Comment · 3 months ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton