モジュール詳細:セル・ラボ

幸いなことに、モジュールは有糸分裂をしない。

このモジュールは多くのテキストを表示する。これは3つの多細胞生物のデータである。しかし、いくつかのデータが失われている。モジュールを解除するには、このデータを修正する。注: H、S、Vはそれぞれ一度だけ計算する必要がある。

下の3行のテキストは、R(赤)、G(緑)、B(青)の値を0~255の範囲で表示する。これらはHSVに変換する必要がある。

RGB から HSVへの変換

色相(H)を求めるには、まずその色相がどの範囲にあるかを知る必要がある。表中の+はRGB内で最も高いチャンネル、-は最も低いチャンネルを示す。同値がある場合は、表で当てはまるもののうち、読み順で最初にあるものを選ぶ(255, 255, 0は+0-にも0+-にもなるが、このルールにより+0-を選ぶ)。

+0-0+--+0-0+0-++-0
0–6060–120120–180180–240240–300300–360

次に、以下の式を使って初期値 O を求める。最小値、最大値、およびその中間の値をそれぞれC-、 C+、 C*と表記する。

O = (C* - C-)/(C+ - C-) * 60

もし、現在の色が表の奇数番目にあった場合、表内の左の値に O を加える。そうでない場合、表内の右の値から O を引く。小数点以下を切り捨て、色相(H)を求める。

彩度(S)を求めるには、以下の式を使用し、小数点以下を切り捨てる。

S = (C+ - C-)/C+ * 100

明度(V)を求めるには、以下の計算式を使用し、小数点以下を切り捨てる。

V = C+/2.55

ゼロによる除算により計算が意味をなさない場合、その値を無視する。その値は今後使われることはない。

注: 通常のHSV変換器とは、小数点以下の処理が異なる。誤差の判定に関するエラーを避けるため、これらの使用は控えること。

HSV から データへの変換

これらのHSV値のみでは、多くのことはできないため、変換する必要がある。

彩度または明度のいずれかが5未満の場合、これらの手順を無視し、分割量(Split mass)を「never」に設定する。

分割量(Split mass)、分割角度(Split angle)は、色相Hに基づいている。%は、剰余の演算子である。

msplit = (H%15) * 0.22ng

θ = ⌊H/15⌋ * 15

子(Child)たちは、彩度S(Child 1)と明度V(Child 2)に基づいた角度を持つ。

α = ((S-5)%24) * 15

β = ((V-5)%24) * 15

次の計算は、チェックボックスにチェックを入れるためのものである。計算結果が「1」になる場合、必ずチェックしなければならない。

Bp = ⌊(V-5)/48⌋

Bc1 = ⌊(S-5)/24⌋ % 2

Bc2 = ⌊(V-5)/24⌋ % 2

注: ⌊x⌋ はFloor関数であり、括弧内の値の小数点以下を切り捨てる。

細胞タイプ

細胞には様々な種類がある。ある細胞について、それを子に持つ自分以外の細胞の個数を取得し、それを2倍にする。その後、その細胞の子も自身である場合は1を加える。この数字を以下の表から探し、細胞タイプを取得する。

012345
脂肪細胞角化細胞鞭毛細胞食細胞発光細胞貪食細胞
lpktflpgptdv

ユーザーインターフェース

細胞を循環して表示させるには、 Edit mode(編集モード) の横にある M# テキストを押す。

値を編集するには、その値を押す(編集が許可されている限り)。

すべてが正しく入力されると、モジュールは自動的に解除される。