見出し画像

文系の blender 4.1 はじめての Geometry Node | Math 数式ノード

こどもがピーマンやニンジンを嫌うように、われわれ文系は数式が嫌いです。文系に数をみせると、物理的(病理学的)に、頭痛を引き起こしているというデータもあるそうです。

ただ、さすがにジオメトリノードに数式はどこかに出てくるものなので、しかたなく整理します。嫌いなおかずは最初に食べるタイプです。

ジオメトリノードは英語での情報も多く、python との共通性もあるため、ここでは言語を英語としている。ただし訳語も可能なかぎり併記した。
なお、間違いがあるようでしたらご指摘いただければ幸いです。


環境 Blender 4.1.0 , Mac Mini M1 OS 14.4




Math | 数式


Functions | 関数


Add, Subtract, Multiply, Divide

追加、減算、乗算、除算

足す引く掛ける割る、の四則計算。

3 + 2 = 5   3 - 2 = 1 
3 x 2 = 6    3 ÷ 2 = 1.5

4.1より新設された Multiply Add は、名前の通り、乗算と加算を統合したノード


Power, Logarithm

パワー、Log

べき乗、対数。3 power 2、3の2乗は、3 x 3 = 9。Log はその反対で、3 を x乗すると 9 になる、の x 値。

3 power 2 = 9     9 Log 3 = 2


Square Root, Inverse Square Root

平方根、逆平方根

ルートとその逆数。√9 = 3  、rsqrt(9) = 1÷√9 = 0.333。すでに頭が痛くなりかけている。

3    0.333


Absolute, Exponent

絶対、指数

Absoluteは絶対値。負の値も正の値に変換される。

exponent は、オイラー数 e を value乗した値。eは 2.718… 

1.2       7.389

exponentは、使いどころはさっぱりわからないが、古くから利子の計算に用いられ、また、時間の経過による増殖や侵食など、さまざまな現象のモデル化に用いられるとのこと。


Comparison | 比較


これらはすこしわかりやすい。おもに2つの値の比較結果を返す。

Minimum, Maximum

最小、最大

Minimumは、2つの値のうち小さい方を、Maximumでは、大きい値を出力する。

2   3


Less Than, Greater Than

小さい、大きい

Less thanは、上の値が下の値(Threshold/しきい値)よりも小さい場合、1.0 を、それ以外はゼロを出力。Greater Thanは、その逆。

1    0


Sign, Compare

符号、比較

Signは、入力値が正の値であれば、1.0 を、負であれば、-1.0 を出力。0.0は0.0を返す。

Compareは、上の2つの入力値の差が、Epsilon(イプシロン) 以下の場合、1.0 を、そうでない場合は 0 を出力する。

-1.0    1.0


Smooth Minimum, Smooth Maximum


Smooth Minimumでは、上の値にどれだけ大きい値を与えても、中央のValue 値より大きくなることはないが、上の値を小さくしていくと、ある値から、出力値も下がりだす。
そのタイミングは Distance の値が関係しているが、どのように関わっているのかについては不明。詳細については下記を参照。

2.97    3.01

公式マニュアルも、説明を上の Wikipedia に丸投げしている。


Rounding | 丸め


おもに端数処理。

Round, Floor, Ceil, Truncate

丸め、床、天井、切り捨て

四捨五入、切り捨て、切り上げ、整数部のみ。公式の訳語が直訳過ぎてすこしこなれていない。文系はそこは気になる。

4    4
5    4

Truncate は、正の値の場合は Floor 、負の値の場合は、Ceil と同じ出力を返す。


Fraction

小数部

小数点以下のみ出力。

0.45


Truncated Modulo, Floored Modulo

剰余(切り捨て)、剰余(床)


Truncated Moduloは、上の値を下の値で割った余りを出力。
Floored Moduloは、マイナスの値の計算でTruncated Moduloと異なる。

-1    1

通常は Truncated Modulo で問題ないと思うが、Floored との違いについては下の動画を参照してください。
【Blender : Math講座】第32回 : Truncated / Floored Modulo


Wrap

ラップ

入力値が、Max から Min の間の値であればそのまま、それより小さいあるいは大きい場合は、Max から Min の値内に収まるよう変換する。

ことばでは説明しづらいが、Max から Min の値外の動きをたとえると、昔のゲームなどでキャラクターが画面の端を過ぎると、反対の端から出てくるイメージ。


Snap

スナップ

入力値にもっとも近い、Increment(増分)の整数倍を出力する。入力値が細かく増えていっても、下では、2, 4, 6, 8 と、出力が等間隔で増えていく。 

4    6



Ping-pong

ピンポン

入力値に従って、ゼロから Scale までの値に収まるよう変換する。

これもことばではわかりづらいが、動きにたとえると、ゼロから Scale までの値を超えると、卓球のボールがプレーヤーによって互いに打ち返されるように、値がゼロから Scale までを往復する。

公式マニュアルの説明は、わざわざわれわれを混乱に陥れるために書かれているとしか思えない。


Trigonometric | 三角関数


Sine, Cosine, Tangent

サイン、コサイン、タンジェント

角度 θ(シータ)が与えられたときの直角三角形の3辺のうち2辺の長さの比率。Sine(θ) = H ÷ O、Cosine(θ) = A ÷ H、Tangent(θ) = H ÷ A。

Sine(radian(45)) = 0.707


Arcsine, Arccosine, Arctangent

アークサイン、アークコサイン、アークタンジェント

逆三角関数。サイン、コサイン、タンジェントとは逆に、2辺の長さの比率から角度 θ(シータ) を求める。

44.991

Arctan2

アークタン2

X および Y 座標から角度 θ(シータ) を求める。θ = arctan2(Y, X) 
上の図では、H と O の辺が交わる点の座標が(3, 3)であれば、角度は 45度になる。

45 上の値がY、下の値がX


Hyperbolic Sine, Hyperbolic Cosine, Hyperbolic Tangent

双曲線サイン、双曲線コサイン、双曲線タンジェント

角度 θ を入力値とし、その場合の双曲線上のY座標が双曲線サイン、X座標が双曲線コサイン、それらの比率が双曲線タンジェント。

双曲線。片方。
index番号をθとし、sinh,coshをX,Y座標に指定


Conversion | 変換


Degreeは、一般に角度を表す90度などの度。Mathノードでは 角度を処理するのに主に Radian を用いる。1度は、π÷180 ラジアン

To Radians, To Degrees

ラジアンへ、度へ

1.571    90.012



Clamp

範囲制限

各ノード内のオプション。チェックが入った場合は、出力の値を、0.0 〜 1.0 の範囲に制限できる。




感想


書いていて中学生に戻ったような懐かしい気分でしたし、すこし賢くなったような気もします。錯覚でしょうか。



参考


数が苦手なこととの関係性はよくわかりませんが、わたしはひどい方向音痴です。大きめの商業施設に入ったりすると、もとの入口から出ることができません。ベクトル把握かなにかの能力が致命的に欠如しているのでしょう。

いいなと思ったら応援しよう!