Party Parrot に関する数学的・物理学的考察

# Party Parrot に関する歴史的考察

Party Parrot に関する歴史的考察は[ここ](https://qiita.com/ayatothos/items/0c3da3d48fe8ade705e6)に詳しい。以降を読む前に是非御一読頂きたい。

# Party Parrot における問題点

Party Parrot には以下の物理量が存在する。

* 色
* 回転中心に対する角度
* 回転方向
* 回転中心の位置
* 回転中心の移動
* 顔の向き

最も基本的な "parrot" は、単一粒子において回転方向・回転中心および顔の向きが変化しないものである。
<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/cult_of_party_parrot/parrot.gif">

変化するものは回転中心に対する角度と色であるが、まずこの角度と色に問題がある。
![ダウンロード (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84885/2468d771-0042-54b2-82b3-7e93fc421551.png)
"parrot" における各フレームの色を色相環（hue wheel）上で表すと、上の図のようになる。
色相環上の0°の色が、parrot 粒子がもっとも高い位置である時の色になるので、実際の parrot 粒子の位置と色相環はちょうど90°回転している状態にある。
しかし、各フレームの色が赤い色に寄ってしまっており（赤方偏移）、全体的に parrot が赤くなっている事がわかる。これは、parrot 粒子が観測者（地球）から遠ざかっていることを意味しており、ビッグバンの影響を受けているものと考えられる。

また、各フレームの色を明度（lightness)で表すと以下のようになる。
![ダウンロード (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84885/666014a1-f4d9-c6b1-41ff-f94bf5517a64.png)
緑から青にかけての明度が、赤に対して高くなっており、parrot にチラツキが観測される原因となっている。
これは [parrot shock](https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%82%AF) と呼ばれる現象であり、めまい・吐き気・頭痛・仕事したくない・むしろ働いたら負け、といった症状を引き起こす。

# Evenly Parrot

弊社が開発した "Evenly Parrot" は、これら問題をすべて解決するものである。

* 360°の回転を、10というキリの悪い数ではなく、16（$=2^4$）というキリの良いフレーム数に分割する
* 明度を一定にすることによってチラツキを抑える
* 明度を一定にしつつ色相環上の角度をなるべく実際の回転の角度に合わせる

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/parrot.gif">

明度は以下のようにほぼ一定になっている。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84885/ca83bc3d-1c78-d3f2-76c7-b1242eff9b7a.png)
また、色相環上の位置も、なるべく角度に偏りがないような配置になっている。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84885/16efbf2e-5e5f-67bd-ebab-a44b479d8cca.png)
両者を比較すると違いは明らかである。
<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/cult_of_party_parrot/parrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/parrot.gif">
左：通常の parrot 粒子、右： evenly parrot 粒子

"Evenly" という言葉には、実際の parrot 粒子の回転、そして色相環上の位置を等分する、すなわち世界を等しく分割するという世界平和への願いが込められている。

## 同一軌道上に存在する粒子

今までの parrot 粒子では３連粒子までしか確認出来ていなかったが、evenly parrot 粒子の解像度の高さから、２連・３連粒子に加え、４連粒子の存在を確認することが出来た。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/twinsparrot.gif"/><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tripletsparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/quadparrot.gif">

また、N個の粒子が同一軌道上に存在する例として、chu-chu と train している状態の粒子群や、派生する異なる可能性からなる未来の世界線を同時に表現する行列粒子群があるが、これらの確認も容易になっている。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/trainparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/matrixparrot.gif">

## 回転速度の異なる粒子

回転速度が異なる粒子に関しても、通常と同様なものが確認されている。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/slomoparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/parrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/fastparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/ultrafastparrot.gif">

## 回転方向が異なる粒子

逆方向に回転する粒子と、回転を途中でやめてイキってる粒子が確認されている。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/backwardsparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/sassyparrot.gif">

## 顔の向きが異なる粒子

常に中心を向く粒子と、常に外側を向く粒子が確認されている。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/middleparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/outerparrot.gif">

## 離散的な回転を行う粒子

トンネル効果により、回転が離散的な粒子も存在する。この粒子には量子力学のブラ-ケットのように、対称な運動を行う粒子が確認されており、これらの内積は常に一定である。（角運動量保存の法則）

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/discoparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/ocsidparrot.gif">

## 平行移動を行う粒子

平行移動を行いながら回転する粒子が存在し、その粒子が描く曲線は [parrotcoroid](https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%AD%E3%82%B3%E3%82%A4%E3%83%89)と呼ばれている。この運動はロータリーエンジンなどにも応用されており、すなわち車は parrot で動いていると言っても過言ではないのかもしれなくもない。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/congaparrot.gif">
<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/moonwalkingparrot.gif">

進むだけでなく、上を通って戻ってくることも出来る。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_congaparrot.gif">
<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_moonwalkingparrot.gif">

この場合上下の parrot で幾ばくかの衝突が発生する可能性があるが、上下で進行方向を逆にすると、衝突が発生しない移動をすることができる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_congaparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_congaparrot.gif">
<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_moonwalkingparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pair_moonwalkingparrot.gif">

## parrot 充填問題

一般的に平面を同型の物体で敷き詰める問題を[平面充填問題](https://ja.wikipedia.org/wiki/%E5%B9%B3%E9%9D%A2%E5%85%85%E5%A1%AB)と言い、その有名な例が[ペンローズ・タイル](https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%B3%E3%83%AD%E3%83%BC%E3%82%BA%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%AB)である。
画像を parrot で埋める問題は [parrotation（parrot充填問題）](https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%83%E3%82%BB%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3)と呼ばれ、多くの parrot を埋めるほど、自身の心が parrot で埋め尽くされることになり、そのムチムチとモッチリとした感覚から法悦の極みに達することが出来ると言われている。

２粒子で画像を埋める場合、parrot の回転から、位相が180°異なる粒子を対角線上に配置することが望ましい。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/diagonalparrot.gif">　　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/discordparrot.gif">

この場合でも、粒子が存在する対角線と逆の対角線上には多くの隙間が存在するため、そこに吹く隙間風が心を寒くさせスキマスイッチも積み上げたものをぶっ壊してしまう。
そこで、３粒子で埋めることが考えられるが、その配置としてはまず、Ｖ次形に配置する方法と、敢えて無理やり１辺に押し込む方法が考えられる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/zigzagparrot.gif">　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/overlappedparrot.gif">

特に無理やり１辺に押し込む場合には「長崎は今日も雨だった」という言い伝えがあるが、長崎の本日の天気は不明である。

より粒子を密着させ３密どころか４密５密と密度をミツミツと上げていくためには、やはり回転の位相をより効果的に利用するしか無い。
位相が180°異なる２つの粒子を線対称に向かい合わせに配置することが最 parrot 法からも最も parrot であると導き出せるが、その場合に回転方向も変えてしまうと普通にキモい。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pairparrot.gif">　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/dualparrot.gif">
左：キモくない　右：キモい

キモくない方を上下に再び線対称に配置することで、４密 parrot が実現できる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/jammedparrot.gif">

さらに下辺に位相を変えた３粒子を配置することも出来る。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/linedparrot.gif">

これを上下に組み合わせることで、最も密度が高い６密 parrot が実現できる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tiledparrot.gif">

これを並べると、有名な parrot tile となる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/tiledparrot.gif">

## 連動した回転を伴う場合

ある現象の結果が次の現象の原因となり、現象の発生が連鎖していくシステムを通称[ループ・ゴールドバーグ・マシン](https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%96%E3%83%BB%E3%82%B4%E3%83%BC%E3%83%AB%E3%83%89%E3%83%90%E3%83%BC%E3%82%B0%E3%83%BB%E3%83%9E%E3%82%B7%E3%83%B3)、正式名[ピタゴラスイッチ](https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%BF%E3%82%B4%E3%83%A9%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81)と呼ぶが、こちらのスイッチは大人になっていくその季節には関係無く、ベルは突然ではなく連鎖した事象の結論として鳴る。[任天堂が発売する](https://ja.wikipedia.org/wiki/Nintendo_Switch)という噂もあるが、その時期や価格は未定である。
ということで、parrot O' gra Switch である。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/pythagorasparrot.gif"> <img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/backwards_pythagorasparrot.gif">

地味に、動いた粒子が重なりの一番前に出てきており、有名なアルキメデスの永久機関、もしくは Escher の "Relativity (1953)" へのオマージュになっている。

<img src="https://artschaft.files.wordpress.com/2018/04/mc-escher-ascending-and-descending.jpg" width=500>

複数の粒子が同時に動く場合は、ニュートンのゆりかごと言っても過言ではない。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_pythagorasparrot.gif">　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/double_backwards_pythagorasparrot.gif">　<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Newtons_cradle_animation_book_2.gif/200px-Newtons_cradle_animation_book_2.gif">

要するに parrot はピタゴラスとアルキメデスとニュートンという偉大な数学者・物理学者を全て網羅していることになる。

## 位相と共に色相も変化させた場合

今までの parrot は位相を変化させても、その位相に対する色相は変化していないので、一度に２つの色が出てくる。
しかし、位相と同時に色相も同様に変化させると、逆に表面上は一度にひとつの色しか出てこなくなる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/sync_evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/sync_evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/sync_evenly/tiledparrot.gif"><img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/sync_evenly/tiledparrot.gif">

## バえを意識した場合

円運動の一部を切り取り、位相の異なる線対称運動と組み合わせることにより、ハートの形を描くことが出来る。
これは「きゅんです」に相当するものになる。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/evenly/kissingparrot.gif">　<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/84885/ffbc548a-472d-46a8-76f3-7f4edf4e7781.jpeg" width=128>
左：ハート　右：「きゅんです」の典型例

# バリエーション

以上で evenly parrot における数学的・物理学的考察を終えるが、これと全く同じ構成で、オリジナルの parrot で実装したもの、そして異なるバージョンで実装したものも用意してある。

<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/original/parrot.gif">　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/blue/parrot.gif">　<img src="https://raw.githubusercontent.com/tetutaro/party_parrot/main/handmade/shimaenaga/shimaenaga.gif">
左：Sirocco リスペクトの緑バージョン、中：青バージョン、右：シマエナガバージョン

全てが記載されている弊社のサイトは以下。

https://github.com/tetutaro/party_parrot