疑似乱数


確率 Probability MathWorld
乱数 Random Numbers MathWorld
複雑系 Complex Systems MathWorld

確率論 Wikipedia




疑似乱数
疑似乱数

バンダイナムコスタジオ 加来量一 4Gamer


疑似乱数とは、乱数列に見えるが実際には特定のアルゴリズムによって決まっている数列の事です。
またシミュレーションを行う上では、再現性のある乱数というのも求められるので、完全な乱数よりも逆に疑似乱数の方が良い場合もあります。

疑似乱数 Site Site

コンピュータでは乱数を生成することができない

松田洋 大阪大学 PDF

SEED
SEED

シードは乱数生成アルゴリズムの開始点として使用される初期値です。


種 Seed MathWorld




Hardware Random Number Generator

ハードウェア乱数生成器


サイコロ
サイコロ

原始的なハードウェア乱数生成器


サイコロ Wikipedia
ハードウェア乱数生成器 Wikipedia

真正乱数

乱数に要請される性質は0,1の出現に関してバイアスがないこと、そして以前に生成した乱数との相関がないことである。こうした理想的な性質を持つ乱数を真正乱数と呼ぶ。

Quantum Native

Precision Dice

精密ダイス


一様で独立なハードウェア乱数生成器
一様で独立なハードウェア乱数生成器

プレシジョンダイスは、確率を1/6に近づけるために様々な工夫がなされている特殊なダイスです。普通のダイスですと各面に穴を掘っているため、重さに偏りがでてしまいます。プレシジョンダイスはそれを防ぐために同じ重さの樹脂で穴を埋めています。また、頂点の面取りをしているので、角が不均等に削れていくこともありません。透明になっており、おもりが入っていないことも一目瞭然です。


Precision Forvo
Precision Dice JBS




Quantum Random Number Generator

量子乱数発生器


QUANTIS(カンティス)
QUANTIS(カンティス)

メーカーは世界で唯一の真性乱数発生器であることを語っている。この量子乱数発生器の動作原理はシンプルなものである。ボード内に用意された半透明の鏡に光量子(フォトン)を一つずつ照射し、反射するのか透過するのかという排反事象を観測することによって0および1のビット値に関連づける。このようにして生成されたランダムビットストリームを出力することによって真正乱数列として取り出すことができるようになる。


檀裕也 松山大学 P124 松山大学機関リポジトリ

現在コンピュータによって得られる乱数は、真の意味での一様乱数ではありません。
QUANTIS型は量子が本質的にランダムであるという原則に基づく真の乱数発生器です。

QUANTIS 量子乱数発生器 | ID Quantique (IDQ) | オプトサイエンス

Beam Splitter
Beam Splitter

ビームスプリッター Beam Splitter Google Wikipedia Wikipedia


Chernobyl Dice

チェルノブイリダイス


Chernobyl Dice チェルノブイリダイス
Chernobyl Dice チェルノブイリダイス

放射性物質を用いて量子乱数を生成してしまう猛者が現れる - GIGAZINE


Чернобыль Яндекс
Nathan Griffith GitHub




Wave Function Collapse

波動関数崩壊アルゴリズム



「無限に都市が生成されるアルゴリズム」で生成された都市を自由に歩き回ってみた - GIGAZINE

初めはいくつかの固有状態の重ね合わせであった波動関数
(「観測」によって)ある1つの固有状態に収縮すること

波動関数の崩壊 Wikipedia Wikipedia

Maxim Gumin @ExUtumno Twitter GitHub
WaveFunctionCollapse GitHub Blog

f:id:cccL:20210301092317p:plain
f:id:cccL:20210301092327p:plain

Twitter


論文では、手続き的コンテンツ生成のためのグラフベースの波動関数照合アルゴリズムについて述べた。このシステムの目標は、ゲーム設計者が簡単な相関ルール入力を通してゲームレベルにおけるキーコンテンツ要素を手続き的に作成することを可能にすることである。これを行うために、三次元世界におけるナビゲーションメッシュデータ構造と容易に統合できるグラフベースのデータ構造を提案した。このシステムにより、もしユーザが最小相関ルールを入力するならば、三次元世界における手続きコンテンツ生成を効果的に実行することが可能である。実験結果により、テクスチャ合成アルゴリズムである波動関数衝突アルゴリズムは、高い制御性とスケーラビリティを有する非グリッド形状に拡張できることを示した。

グラフベース波動関数崩壊アルゴリズムを用いたゲームコンテンツの自動生成 JST 京大機械翻訳




Cellular automaton
Cellular automaton
1次元セルオートマトン
1次元セルオートマトン

セルオートマトン Cellular automaton Forvo コトバンク Wikipedia Wikipedia
Elementary Cellular Automaton Forvo Яндекс Google Wikipedia





Random Wang Tile Array

Twitter

王浩 Wang Tile Cube Root of 31 Wikipedia PDF




Maze Array Forvo Forvo Cube Root of 31 Google
Maze Generation algorithm Wikipedia
状態遷移図 State Diagram Wikipedia MathWorld
マルコフ連鎖 Markov Chain Forvo Wikipedia MathWorld
全域木 Spanning Tree Wikipedia Wikipedia MathWorld
End-to-End Wikipedia





Random Walk

ランダムウォーク


ランダムウォーク Random Walk Google Wikipedia MathWorld

秋山高廣 Twitter Site 書籍「Unity ゲームエフェクト マスターガイド」著者

@12reoer21 Twitter

52ヘルツの鯨 52-hertz whale Wikipedia Wikipedia





https://64.media.tumblr.com/8f426d94093b360cac55fe528fa828a1/tumblr_pau4q8WtnT1twrbr9o1_540.gifv


格子 Lattice Forvo Tumblr Wikipedia

単位格子 Unit cell
単位格子 Unit cell

結晶構造 Crystal structure Wikipedia Wikipedia
単位格子 Unit cell Wikipedia Site


f:id:cccL:20210506024623p:plain
結晶系とブラベー格子の関係 PDF


Tessellation

空間充填


空間充填(くうかんじゅうてん)、空間分割(くうかんぶんかつ)(英:Space-filling)とは、空間内を図形で隙間なく埋め尽くす操作である。単に充填ともいう。
空間充填によって構成された立体を空間充填立体(英:Space-filling polyhedron)と言い、空間充填によって埋め尽くされた空間を空間充填形という。定義からいえば空間はどんな空間でもよいが、単に空間充填・空間分割といえば、3次元ユークリッド空間の充填であることが多い。

平面充填 Tessellation Forvo Яндекс Google Wikipedia
空間充填 Space-filling Forvo Wikipedia Wikipedia
空間充填立体 Space-Filling Polyhedron Яндекс MathWorld

Extrapolation

外挿


外挿(がいそう、英: extrapolation)や補外(ほがい)とは、ある既知の数値データを基にして、そのデータの範囲の外側で予想される数値を求めること。

外挿 Extrapolation Forvo Wikipedia Wikipedia

Seed



シードは乱数生成アルゴリズムの開始点として使用される初期値です。

種 Seed MathWorld




Perlin noise

パーリンノイズ


Perlin noise
Perlin noise

7:08
So a question that I get very often is what are spaghetti caves and cheese caves? And the best way to understand it is if you imagine an old television set with static noise black and white dots right.
And if you take those dots and you smoothen it out using a technique called purlin noise a mathematical technique and you decide that those white blobs are air and everything else is stone.
If you look at that, that becomes almost like a map of a cave system.
And that's kind of how we generate the caves.
And if you look at that picture those blobs look kind of like the holes in swiss cheese, at least we thought so, that's why we just call that cheese caves.
But we also want tunnels connecting them.
So in a similar way we can create another noise field right the black and white dots smudge it out using purlin noise and then we can decide that instead of white blobs being air and the rest being stone we decide that the border between white and black that thin ridge becomes air and the rest is stone.
And that gives us spaghetti-like caves.
So putting those together, cheese caves gives us these big kind of caverns, spaghetti caves gives us these connecting tunnels between them and then we add the old cave generation on top of that we get a ton of variation.

私がよく受ける質問は、「スパゲッティ・ケーブとチーズ・ケーブとは何か」というものです。これを理解する一番の方法は、古いテレビを想像してみてください。そこにはスタティックノイズと呼ばれる白黒の点があります。
それらの点を、パーリンノイズという数学的手法を用いて平滑化し、白い塊を空気、それ以外を石と決めてしまうのです。
これを見ると、洞窟システムの地図のようになります。
このようにして洞窟を生成しています。
この写真を見ると、これらの塊はスイス・チーズの穴のように見えますが、少なくとも私たちはそう考えました。
しかし、それらをつなぐトンネルも必要です。
同じように、黒と白の点をパーリンノイズでぼかして別のノイズフィールドを作り、白い塊が空気で残りが石になるのではなく、白と黒の境目の細い尾根が空気で残りが石になるように決めます。
そうすると、スパゲッティのような洞窟ができます。
これらを組み合わせると、チーズケーブでは大きな洞窟、スパゲッティケーブでは洞窟と洞窟の間をつなぐトンネル、さらに古い洞窟の世代を加えることで、膨大なバリエーションが生まれます。


9:00
This update has been kind of tricky because we're changing basically everything about how the world is generated in Minecraft.
But two of the main challenges especially for caves has been world height first of all.
We're making the world higher and lower so the y-coordinate starts at negative 64 instead of at zero and then extends too much higher than before and
that's hard because there's so much code that assumes a certain world height, we have to change so much code and do so much testing and fix so many bugs.
Plus performance, a bigger world means more stuff going on more stuff to load and that can slow things down, so that's one challenge.
The other challenges is water levels, we love local water levels they're really cool you get lakes and waterfalls.
But it's really tricky to deal with when these different water levels meet.
How do we avoid walls of water for example and things like that.

今回のアップデートは、『Minecraft』の世界の生成方法に関する基本的なすべてを変更することになるので、ちょっと難しいものでした。
しかし、特に洞窟の主な課題の2つは、まず世界の高さでした。
ワールドを高くしたり低くしたりしているので、Y座標はゼロではなくマイナス64から始まり、以前よりもはるかに高くなっています。
特定の世界の高さを前提としたコードがたくさんあるので、多くのコードを変更し、多くのテストを行い、非常に多くのバグを修正する必要があります。
また、パフォーマンスの面でも、世界が広くなると、それだけ多くのものを読み込むことになり、動作が遅くなる可能性があります。それは1つの課題です。
もうひとつの課題は、水位です。私たちは、湖や滝などのローカルな水位がとても好きです。
しかし、異なる水位が重なったときの処理は非常に厄介です。
例えば、水の壁をどうやって回避するかなどです。


Perlin noise is a heck of a thing if you can wrangle it.
パーリンノイズは、うまく使えばすごいことになります。
@Grabbus_Game Twitter

Infinitely Generating Marching Cube Terrain!
@phi6 Twitter

Blender】Field Visualizer ノイズなどのプロシージャルテクスチャの値を3D空間に視覚化してくれるblendファイル

@Always3D Twitter



Heightmap
Heightmap

ハイトマップ配列の各値は、最終テレインメッシュオブジェクトの頂点の Z値 (高度) に直接対応します。ハイトマップを可視化するには、濃いグレーのピクセルが低高度、薄いグレーが高高度を表すグレースケールビットマップの使用をお勧めします。


UDK | TerrainHeightmapsJP

Perlin noise
Perlin noise

Ken Perlin氏というコンピュータ科学教授が1983年に開発し、それから、多くのプログラムに使われているノイズ生成機能です。いくつかの引数(ファンクションの設定値)を設定することができ、変更することによって、波の形が変わります。引数を変更すると、波の特徴が変わります。
3Dの自動地形生成をやってみました! | SPLOUT BLOG


森も生成しようと思いました。地形と同じ原理で、パーリン・ノイズで木が生える場所を決めるのがいいです。ある閾値より白いところに木を生やす、という仕様を決めました。

Perlin noise Wikipedia
Ken Perlin Wikipedia


So i added some perlin noise to the missile battery (when fireing all at once). I think im satisfied for now.
そこで、ミサイルバッテリーにパーリンノイズを追加しました(一斉射撃時)。今のところ満足しています。
@AnkanX Twitter





CityEngine


transform 2D data into 3D urban models
2Dデータを3D都市モデルに変換します
Tom Kelly ResearchGate

形状文法 Shape Grammar Wikipedia
市道路 Urban Road
土地区画 Land Division
特徴量工学 Feature Engineering Wikipedia
@OskSta Twitter

2.1.1. Hierarchical structure
On the basis of land properties, forms, and transport links with the streets, the physical unit of a building lot can be defined in multiple scales. The hierarchy of block elements can be built consequently in the manner of “Block - Plot Series - Plot Sub-series - Physical Plots” and can be used to identify and analyze the spatial hierarchy of blocks.
階層構造
土地の特性や形状、道路交通網に基づいて、宅地という物理的な単位を複数のスケールで定義することができる。ブロック要素の階層は、結果的に「ブロック-区画系列-区画小系列-物理区画」の方法で構築することができ、ブロックの空間階層を識別し、分析するために使用することができる。

階層 Hierarchical hierarchy Forvo
交通網 Transport Link DMM


CityEngine is a generation tool for architects, planners, and related personnel engaged in the design study of cities (Esri CityEngine, 2020a).
CityEngineは、都市の設計研究に携わる建築家、プランナー、関係者向けの生成ツールです(Esri CityEngine, 2020a)。

L-system

Lindenmayer System


The CityEngine system consists of several different tools, including the L-system and extended L-system. Then, Müller et al. (2006) extended the method for building a computer generated architecture (CGA) language (Smelik et al., 2014). As a novel shape grammar for the procedural modeling of buildings, CGA can produce building shells with high visual quality and geometric detail (Müller et al., 2006).
CityEngineシステムは、L-systemや拡張L-systemなど、複数の異なるツールで構成されています。次に、Müllerら(2006)は、コンピュータ生成アーキテクチャ(CGA)言語を構築する方法を拡張した(Smelikら、2014)。CGAは、建築物の手続き型モデリングのための新しい形状文法として、高い視覚的品質と幾何学的なディテールを持つ建築シェルを生成できる(Müllerら、2006年)。

ScienceDirect
L-system Яндекс Google MathWorld Wikipedia
Aristid Lindenmayer Wikipedia


SpaceX Starlink Twitter

クラウド上のAIと大規模なコンピューティングリソースの助けを借りて、世界中のあらゆる都市や町をリアルに再現した。
そしてこの経験を基にBongfishは、社内にAIチームを立ち上げることになる。このチームは、さまざまな機械学習技術を使って、デザイナーがどのようにマップを構築するかを学習し、独自のAIが作成したマップを構築するシステムを作った。同チームは、マイクロソフトと連携する前にも、実際にいくつかのプロジェクトでこのシステムを使っている。

TechCrunch

「会社全体がこの大きなビジョンに到達するには、技術的に大きなアドバンテージが必要です。アサシンクリードGTAグランド・セフト・オート)のようなビデオゲーム大作は、今では何千人もの人々が開発に携わっておりキャパシティーの限界に達しており、製品管理が非常に困難になっています。この状況を変えるには、より自動化、または半自動化されたステップが必要であることは明らかでした」

軍事用・産業用シミュレータの映像をみると、ドライビングゲームに比べてかなりクオリティーが低く見えてしまいます。ゲーム技術がゲームスタックから広がって、他のすべての産業を助けるときが来ています。Blacksharkは、それを可能にした例の1つだと思います

Blackshark TechCrunch

Microsoft Flight Simulator
Microsoft Flight Simulator





Quantum Chemistry

量子化学


量子化学 Quantum Chemistry コトバンク
原子軌道 Atomic Orbital Wikipedia


電子雲
電子雲

本荘光史 researchmap



f:id:cccL:20210304161647p:plain


19世紀までは、ある時刻での粒子の位置と運動量は確定しており、その2つの量と、ニュートン運動方程式があれば、粒子のその後の運動が説明できるとされていました。しかし、電子の運動では位置と運動量が同時に確定できないという事情のために、ニュートンの方程式は使えず、量子力学の方程式を使わないといけないことがわかりました。この電子の位置と運動量を同時に確定できない事情は、2つの物理量の不確定性と呼ばれ、量子力学の基本的な性質となっています。物理量の不確定性は、「そもそも量子の世界での測定とは何か(観測問題)」、「量子もつれと呼ばれる状態にある離れた2個の粒子の間の不思議な遠隔作用(非局所性)の問題」などとも関連し、現代でもさまざまな疑問やパラドックスの源泉となっています。

KEK
二重スリット実験 Double-slit experiment Яндекс コトバンク Wikipedia




魚群不確定性原理
魚群不確定性原理

@loika Twitter pixiv Tumblr


漁師力学とは アンサイクロペディア

漁師力学における魚群不確定性原理とは、「魚群がどこにいるか、は網を入れてみないと判らない」という基本原理である。また、網を入れる行為自体も魚群の位置に影響するため「魚群の真の位置」は確率的にしか求まらない。この為、漁師力学において魚群の動きは全て確率分布として扱われる。この確率分布を表現する魚群分布関数を求めることが、漁師力学の目的である。

魚群重ね合わせ

魚を捕らえた状態と捕えていない状態が同時に存在する事情




@fuguzen Twitter

Boids


Boids Wikipedia Wikipedia

simplex noise を標高にマッピング。緑=高い、赤=低い、矢印の大きさと方向=斜面の傾きの度合いと方向。(Canvas2D)

@fuguzen Twitter




確率分布
確率分布

確率変数 コトバンク Random variable Forvo
確率分布 コトバンク Probability distribution Forvo


Mersenne Twister Algorithm
Mersenne Twister Algorithm

Allen Caldwell https://www.mpp.mpg.de/~lenz/course.html
MPP Wikipedia MPP


ä
ä

YouTube

Random Strings
Random Strings

Andrius Velykis GitHub Hipparchus Core
モンテカルロ法 GeoGebra





Symmetry

対称性


@negi_mugiya Twitter

鏡面法線ベクトル

f:id:cccL:20211012041956p:plain
鏡の物理的機能は上で見たように鏡面の前後(z 軸)だけ反転し,鏡面の上下左右(x,y 軸)は反転しない
ここで注意が必要なのは z 軸は鏡面に垂直(法線ベクトル)であり,鏡の向きによって z 軸の向きも変わる
鏡のパラドックス

@rich_lord Twitter

@EddCoates Twitter






Compatibility

両立性


Compatibility compatible Forvo


部分と全体

全体はより大きい全体の一部であり、部分はより小さい部分の全体でもある。全体と部分は相対的なもので、全体の上限や部分の下限が明確なわけではない。各部分は吉田(1998)が指摘するように、 「部分でもあり全体でもある」という二重性をもち、複雑に絡み合うことにより全体がシステムを安定させている。

児玉徳美 PDF

f:id:cccL:20210312091332g:plain:w400

David Whyte Gizmodo


八分木 Octree Wikipedia Wikipedia






Self-Reference

自己参照


全体と部分の形状が相似の関係にあることを自己相似性を持つという。自己相似性を持つ図形は、全体の形状がその形状の各部分にも表れる、すなわち自分自身の縮小変換の集合で表せる。このような図形をフラクタルとよぶ。


フラクタル Fractal Forvo コトバンク
自己相似 Self-Similarity Forvo コトバンク Wikipedia Wikipedia
再帰 Recursion Forvo コトバンク Wikipedia Wikipedia
自己参照 Self-Reference Wikipedia Wikipedia

Etienne Jacob Twitter

ドロステ効果 Droste Effect Forvo Wikipedia
合わせ鏡 Wikipedia Wikipedia

フラクタル次元 Fractal dimension
フラクタル次元 Fractal dimension

Sierpinski Gasket Google Wikipedia MathWorld
コッホ曲線 Koch Curve Google Wikipedia MathWorld
フラクタル次元 Fractal Dimension Wikipedia Wikipedia






Recursion

再帰


 プログラミングの世界では、実行中のコードがそのコードの中で再び呼び出される処理のことを意味しており、たとえば「0に1を足してできた数(0+1)」を1に足す→「できた数(1+1)」を「先にできた数(0+1)」に足す」→「できた数(2+1)」を「先にできた数(1+1)」に足すという手順はフィボナッチ数列(0, 1, 1, 2, 3, 5, 8, 13…)と呼ばれる特殊な数列が生まれる処理としてよく知られています。
Sbbit


再帰 Recursion recursive Forvo IT用語辞典 Wikipedia MathWorld
回帰 Regression regress Forvo コトバンク MathWorld





Reddit
Reddit
Unity 3D
Unreal Engine

Electrical Engineering and Computer Science | MIT EECS | MIT OpenCourseWare

MathWorld
Wikipedia
Wikipedia
Wikipedia

Mathematics
Physics
Shapes

Math Diagrams
Math Solver Microsoft
Visual Studio Microsoft VSCode
DirectX Microsoft
C# Microsoft SharpLab
Python Python GitHub


@beesandbombs @tdhooper @jn3008
@concinnus @KangarooPhysics

Maxim Gumin Twitter GitHub
高橋啓治郎 Twitter GitHub Unity
Christian Heinemann GitHub ALiEn
Etienne Jacob Twitter GitHub
miku Twitter Zenn
SEGA SlideShare
RWTH Aachen GitHub YouTube
Károly Zsolnai Twitter YouTube