0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブルーノイズのサンプルやテクスチャ生成

Last updated at Posted at 2024-07-24

はじめに

ブルーノイズは, Computer GraphicsやComputer Visionによく使われる分布です.
その性質をもつ点群の場合は, ランダムでありながら各点がほぼ等間隔に離れて位置します.
bsamples.png
2次元の波の場合も, 均等に配置される見た目になります.
bnoise2.png

ドキュメントがまだできていませんが, コードはcppblueにあります.

ブルーノイズサンプリング

2次元のブルーノイズ点群を生成するアルゴリズムとして, Weighted Linde-Buzo-Gray Stipplingがあります.
ボロノイと点列の生成のはなしという記事があり, あげられたコードを写経してみましたが, まともな結果が得られず, さらに全く計算が収束する気配がありませんでした. 写経ミスがあるかもしれませんが, 何度も見返してチェックしてもダメなので, 元のコードが正しいのかかなり怪しいと思いました.
楽と横着は違います, 元論文からちゃんと実装しました. 元論文との違いは,

  • ボロノイ図の描画にJump Flooding Algorithmを使う
    • 論文の実装ではコーンをOpenGLで描画
  • タイリングになっている

ブルーノイズテクスチャ

The void-and-cluster method for dither array generationで, 1から3次元まで作成できるようにしました. 2024年では特許の期限は終了しているようです.
こちらもタイリングになっています.

まとめ

サンプリングのいろいろなアルゴリズムや手法をまとめたライブラリにしておいた方がいいのだろうか.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?