GrasshopperのMathsパネルにあるコンポーネントの機能を日本語で記載しています。緑のボタンをクリックで各グループ一覧にジャンプします。
左にあるA~Cは重要度で、Aが一番重要度の高いコンポーネントになります。

 

Domain

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Maths>Domain>Construct Domain

Construct Domainコンポーネント

A値からB値までの範囲(Domain)を作成する。出力される値は、0.0 to 1.0 の様な範囲。
B

Maths>Domain>Deconstruct Domain

Deconstruct Domainコンポーネント

数値の範囲(Domain)を、初めの値(Start)と終わりの値(End)のそれぞれを出力する。Construct Domainの反対の働き。
B

Maths>Domain>Bounds

Boundsコンポーネント

複数の値(Numbers)が入力された時、入力値の中の最小値から最大値までの範囲(Domain)を作成する。
A

Maths>Domain>Remap Numbers

Remap Numbersコンポーネント

入力した数値(Value)を元となる範囲(Source)から目標となる範囲(Target)を指定し、値を変更する。
C

Maths>Domain>Consecutive Domains

Consecutive Domainsコンポーネント

入力した数列の値(Numbers)から連続した範囲(Domain)を作成し出力する。値を足し算(Additive)して範囲を作るかをTrue,Falseで指定する。
C

Maths>Domain>Divide Domain

Divide Domainコンポーネント

入力した範囲(Domain)を、指定した数(Count)で分割した範囲を作成する。
C

Maths>Domain>Find Domain

Find Domainコンポーネント

複数の範囲(Domains)を入力し、指定した値(Number)が何番目の範囲に入っているか(Index)を出力する。どの範囲にも含まれない場合は、-1を出力する。
B

Maths>Domain>Includes

Includesコンポーネント

範囲(Domain)に指定した値(Value)が含まれるかどうか(Includes)を、TrueFalseで出力する。範囲に含まれない場合は、幾つ範囲から外れているか(Deviation)も出力される。
B

Maths>Domain>Construct Domain²(Dom²Num)

Construct Domain²コンポーネント

Uの最小最大値、Vの最小最大値をそれぞれ入力し、UVの範囲を作成する。作成される範囲は、u:{0 to 1} V:{0 to 1}の様な値。
C

Maths>Domain>Construct Domain²(Dom²)

Construct Domain²コンポーネント

Uの範囲(Domain)、Vの範囲(Domain)を入力して、UVの範囲を作成する。一つの値を入れる訳ではなく、範囲を入力することに注意。
C

Maths>Domain>Deconstruct Domain²(DeDom²)

Domain²コンポーネント

入力した範囲(Domain)を、Uの範囲(Domain)とVの範囲(Domain)に分けて出力する。
C

Maths>Domain>Deconstruct Domain²(DeDom²Num)

Domain²コンポーネント

入力した範囲(Domain)を、Uの最小最大値(Number)とVの最小最大値(Number)に分けてそれぞれ出力する。
C

Maths>Domain>Bounds 2D

Bounds 2Dコンポーネント 

点座標(Coordinates)を入力することで、UとVのそれぞれの範囲として出力する。Z座標の値は無視される。
C

Maths>Domain>Devide Domain²

Divide Domain²コンポーネント

範囲(Domain)をU方向の分割数、V方向の分割数を決めて、それぞれ分割した範囲(Segments)として出力する。

Matrix

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Maths>Matrix>Construct Matrix

Construct Matrixコンポーネント

値(Values)と行の数(Rows)、列の数(Columns)を指定し、行列(Matrix)を作成する。

C

Maths>Matrix>Display Matrix

Display Matrixコンポーネント

入力した行列(Matrix)と値を視覚的に表示する。
C

Maths>Matrix>Deconstruct Matrix

Deconstruct Matrixコンポーネント

入力した行列(Matrix)を、値(Values)と行の数(Rows)、列の数(Columns)のそれぞれを出力する。
C

Maths>Matrix>Invert Matrix

Invert Matrixコンポーネント

入力した行列(Matrix)に対して、逆行列を出力する。
C

Maths>Matrix>Transpose Matrix

Transpose Matrixコンポーネント

入力した行列(Matrix)に対して、転置行列を出力する。

Operators

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Maths>Operators>Addition

Additionコンポーネント

A値とB値を、足した値を求める。
A

Maths>Operators>Division

Divisionコンポーネント

A値をB値で、割った値を求める。
A

Maths>Operators>Multiplication

Multiplicationコンポーネント

A値とB値を、掛けた値を求める。
A

Maths>Operators>Subtraction

Subtractionコンポーネント

A値からB値を、引いた値を求める。
A

Maths>Operators>Negative

Negativeコンポーネント

入力した値の正と負を反転する。-1を掛け算した値になる。
C

Maths>Operators>Power

Powerコンポーネント

A値をB乗にした値を計算する。例:Aが10、Bが3の場合は、10を3乗した値(10*10*10)1,000が出力される。
A

Maths>Operators>Absolute

Absoluteコンポーネント

入力した値の絶対値(負の値を正にした値)を出力する。
C

Maths>Operators>Factorial

Factorialコンポーネント

入力した整数(Int)の階乗を出力する。階乗は1からその値まで順番に掛け算した値のこと。例:入力値6の場合、6*5*4*3*2*1で結果は、720。
B

Maths>Operators>Integer Division

Integer Divisionコンポーネント

A値からB値を、割り算して商を出力する。例:Aが7、Bが3の場合は、商が2余りが1なので、コンポーネントの出力は2となる。
B

Maths>Operators>Modulus

Modulusコンポーネント

A値からB値を、割り算して余りを出力する。例:Aが7、Bが3の場合は、商が2余りが1なので、コンポーネントの出力は1となる。
B

Maths>Operators>Mass Addition

Mass Additionコンポーネント

入力した値(Input)を全て足し算した値(Result)を求める。
C

Maths>Operators>Relative Differensces

Relative Differenscesコンポーネント

一つ前のインデックスの値(Values)との差をそれぞれ求めて、出力する。
B

Maths>Operators>Mass Multiplication

Mass Multiplicationコンポーネント

入力した値(Input)を全て掛け算した値(Result)を求める。
A

Maths>Operators>Larger Than

Larger Thanコンポーネント

Aの値がBの値より大きいか調べ、当てはまる場合はTrueを、当てはまらない場合はFalseを出力する。
A

Maths>Operators>Smaller Than

Smaller Thanコンポーネント

Aの値がBの値より小さいか調べ、当てはまる場合はTrueを、当てはまらない場合はFalseを出力する。
A

Maths>Operators>Equality

Equalityコンポーネント

Aの値とBの値が等しいか調べ、TrueとFalseで結果を出力する。
C

Maths>Operators>Similarity

Similarityコンポーネント

Aの値とBの値がおおよそ等しいか調べ、TrueとFalseで結果を出力する。しきい値(Threshold)を%で指定できる。
B

Maths>Operators>Gate And

Gate Andコンポーネント

入力した論理値に対して、ANDゲートを実行する。Andゲートは全てTrueの時のみTrueを、一つでもFalseがある時はFalseを出力するもの。
C

Maths>Operators>Gate Not

Gate Notコンポーネント  

入力した論理値に対して、Notゲートを実行する。NotゲートはTrueとFalseの結果を反転するもの。
B

Maths>Operators>Gate Or

Gate Orコンポーネント

入力した論理値に対して、Orゲートを実行する。Orゲートは全てFalseの時のみ、Falseを出力するもの。一つでもTrueがある場合は、Trueを出力する。
C

Maths>Operators>Gate Xor

Gate Xorコンポーネント

入力した論理値に対して、Xorゲートを実行する。Xorゲートは同じ論理値が入力されるとFalseを、異なる場合はTrueを出力する。例:入力:TrueとFalse 出力:True。入力:FalseとFalse 出力:False。
C

Maths>Operators>Gate Majority

Gate Majorityコンポーネント

入力した論理値に対して、Majorityゲートを実行する。MajorityゲートはABCの端子に、入力された論理値の数が多いものを出力するというもの。
C

Maths>Operators>Gate Nand

Gate Nandコンポーネント 

入力した論理値に対して、Nandゲートを実行する。NandゲートはNot Andの意味。TrueとTrueが入力された時だけ、Falseを出力。それ以外はTrueを出力する。
C

Maths>Operators>Gate Nor

Gate Norコンポーネント 

入力した論理値に対して、Norゲートを実行する。NorゲートはNot Orの意味。FalseとFalseが入力された時だけ、Trueを出力。それ以外はFalseを出力する。
C

Maths>Operators>Gate Xnor

Gate Xnorコンポーネント 

入力した論理値に対して、Xnorゲートを実行する。XnorゲートはNot Xorの意味。同じ論理値が入力されるとTrueを、異なる場合はFalseを出力する。例:入力:TrueとFalse 出力:False。入力:FalseとFalse 出力:True。

Polynomials

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
B

Maths>Polynomials>Square

Squareコンポーネント

入力値の2乗した値を計算する。例:3を入力すると、3の2乗(3*3)の9が出力される。
B

Maths>Polynomials>Square Root

Square Rootコンポーネント

入力値の2乗根の値を計算する。例:3を入力すると、3の2乗根の√3が出力される。
C

Maths>Polynomials>Cube

Cubeコンポーネント

入力値の3乗した値を計算する。例:3を入力すると、3の3乗(3*3*3)の27が出力される。
C

Maths>Polynomials>Cube Root

Cube Rootコンポーネント

入力値の立方根の値を計算する。3回掛けるとその値になる数。例:27(3*3*3)を入力すると、3が出力される。
C

Maths>Polynomials>Power of 10

Power of 10コンポーネント

入力した値だけ10を累乗した値を出力する。例:3を入力すると、10の3乗の1,000が出力される。 桁数が大きくなった時の表記に関しては、下記リンクを参照。https://www.applicraft.com/tips/rhinoceros/hyouki/
C

Maths>Polynomials>Power of 2

Power of 2コンポーネント

入力した値だけ2を累乗した値を出力する。例:3を入力すると、2の3乗(2*2*2)の8が出力される。 
C

Maths>Polynomials>One Over X

One Over Xコンポーネント 

入力した値を分母とした値を出力する。例:4を入力すると、1/4となる値0.25が出力される。
C

Maths>Polynomials>Power of E

Power of Eコンポーネント 

入力した値だけ自然対数の底e(2.718282・・・)を累乗した値を出力する。
C

Maths>Polynomials>Log N

Log Nコンポーネント

底数(Base)を指定して、対数計算をする。
C

Maths>Polynomials>Logarithm

Logarithmコンポーネント 

底を10とした対数計算をする。
C

Maths>Polynomials>Natural logarithm

Natural logarithmコンポーネント  

自然対数e(2.718282・・・)を底とした対数計算をする。

Script

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Maths>Script>Evaluate

Evaluateコンポーネント

数式(Expression)を定義して、複数の入力した値を計算する。
A

Maths>Script>Expression

Expressionコンポーネント

数式(Expression)をダブルクリックから定義して、複数の入力した値を計算する。(2018.10.15 時点Draw Full names表示にしていると、エラーとなるバグがある。)
B

Maths>Script>C# Script

C# Scriptコンポーネント

C#スクリプトを使用できるコンポーネント。ダブルクリックで記述可能。
B

Maths>Script>GhPython Script

GhPython Scriptコンポーネント

GhPython スクリプトを使用できるコンポーネント。ダブルクリックで記述可能。
C

Maths>Script>VB Script

VB Scriptコンポーネント

VBスクリプトを使用できるコンポーネント。ダブルクリックで記述可能。

Time

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Maths>Time>Construct Date

Construct Dateコンポーネント

年/月/日/時/分/秒をそれぞれ入力し、日付データ(Data)を出力する。
C

Maths>Time>Construct Time

Construct Timeコンポーネント

時/分/秒をそれぞれ入力し、時間データ(Time)を出力する。
C

Maths>Time>Construct Exotic Date

Construct Exotic Dateコンポーネント

年/月/日を入力し、時刻データ(Time)で出力する。デフォルトはグレゴリオ暦で入力する。オプションにより、国ごとの値で入力も可能。
C

Maths>Time>Construct Smooth Time

Construct Smooth Timeコンポーネント

日/時/分/秒を入力し、時刻データ(Time)を出力する。入力値にSmoothコンポーネントを使った場合、その時刻までスムーズに変更される。
C

Maths>Time>Deconstruct Date

Deconstruct Dateコンポーネント

日付データ(Data)を入力し、年/月/日/時/分/秒のそれぞれの値を出力する。
C

Maths>Time>Combine Date&Time

Combine Date&Timeコンポーネント

日付データ(Data)と時刻データ(Time)をまとめて、1つのデータとして出力する。
C

Maths>Time>Date Range

Date Rangeコンポーネント 

時刻データAとB、分割数(Count)を指定することで、時刻AからBまでの途中の時刻を出力する。
C

Maths>Time>Interpolate Date

Interpolate Dateコンポーネント 

時刻データAとB、パラメータtを指定することで、時刻AからBまでの間の指定した時刻を出力する。Tが0だと時刻A、1だと時刻Bが出力される。

Trig

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
B

Maths>Trig>Cosine

Cosineコンポーネント

Cosine関数で計算する。Y= cos(x)の値を求める。(またこれ以降のコンポーネントにも言えることだが、Xはラジアンでの入力となるので、角度(Degree)で入力する場合は、Degreeオプションを付けること。)
B

Maths>Trig>Sine

Sineコンポーネント

Sine関数で計算する。Y= sin(x)の値を求める。
C

Maths>Trig>Sinc

Sincコンポーネント

Sinc関数の値を計算する。
C

Maths>Trig>Tangent

Tangentコンポーネント

Tangent関数で計算する。Y= tan(x)の値を求める。
C

Maths>Trig>ArcCosine

ArcCosineコンポーネント

Arccosine関数の値を計算する。
C

Maths>Trig>ArcSine

ArcSineコンポーネント

Arcsine関数の値を計算する。
C

Maths>Trig>ArcTangent

ArcTangentコンポーネント

Arctangent関数の値を計算する。
C

Maths>Trig>CoSecant

CoSecantコンポーネント 

Cosecant関数の値を計算する。
C

Maths>Trig>CoTangent

CoTangentコンポーネント 

Cotangent関数の値を計算する。
C

Maths>Trig>Secant

Secantコンポーネント 

Secant関数の値を計算する。
B

Maths>Trig>Degrees

Degreesコンポーネント 

ラジアン(Radians)を度(Degrees)に変換する。例:πを入力すると、180が出力される。
B

Maths>Trig>Radians

Radiansコンポーネント 

度(Degrees)をラジアン(Radians)に変換する。例:360を入力すると、2πが出力される。
C

Maths>Trig>Right Trigonometry

Right Trigonometryコンポーネント 

三角法(直角三角形)。各辺の長さ及び内角を指定することで、その値を出力する。
C  

Maths>Trig>Triangle Trigonometry

Triangle Trigonometryコンポーネント 

三角法。3辺の長さ及び1つの内角の値を入力することで、その他の値を出力する。
C

Maths>Trig>Centroid

Centroidコンポーネント

3つの点(Point)を入力し、3点の座標からなる各内角の二等分線と交点を出力する。
C

Maths>Trig>Circumcentle

Circumceコンポーネント

3つの点(Point)を入力し、3点の座標からなる各辺の二等分する垂線を出力する。
C

Maths>Trig>Incentle

Incentleコンポーネント

3つの点(Point)を入力し、3点の座標からなる三角形において、各辺に垂線を作成する。
C

Maths>Trig>Orthocentle

Orthocentleコンポーネント

3点(Point)を入力し、3点からなる各辺と、垂心を出力する。交点は外接円の中心となる。

Util

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Maths>Util>Epsilon

Epsilonコンポーネント

入力した値(Factor)にイプシロンの値を掛けた値を出力する。
C

Maths>Util>Golden Ratio

Golden Ratioコンポーネント

入力した値(Factor)に黄金比の値を掛けたものを出力する。(黄金比は1.618034・・)
C

Maths>Util>Natural logarithm

Natural logarithmコンポーネント

入力した値(Factor)に自然対数の底eを掛けた値を出力する。(eは2.718282・・)
C

Maths>Util>Pi

Piコンポーネント

入力した値(Factor)にπを掛けた値を出力する。(πは円周率3.141592・・)
B

Maths>Util>Extremes

Extremesコンポーネント

複数の値を入力し、それぞれのインデックスごとの最小値、最大値を出力する。入力する端子の数は、コンポーネントにZoomすることで増減可能。
C

Maths>Util>Maximum

Maximumコンポーネント

Aの値とBの値を比べて、大きい値を結果(Result)として出力する。
C

Maths>Util>Minimum

Minimumコンポーネント

Aの値とBの値を比べて、小さい値を結果(Result)として出力する。
B

Maths>Util>Round

Roundコンポーネント 

入力した値の小数点以下の数値を丸める。Nearestは四捨五入、Floorは切り捨て、Ceilingは切り上げした値を出力する。
B

Maths>Util>Average

Averageコンポーネント 

入力した値(Input)の平均値を求める。点群を入力した場合は、XYZ値のそれぞれ平均となる点を出力する。
C

Maths>Util>Interpolate data

Interpolate dataコンポーネント 

入力した複数の数値(Data)から指定したしきい値(t)の数値を出力する。値の取り出し方が複数オプションから変更できる。Blockは該当する値の中から、他のオプションは比率で計算して値を出力する。
C

Maths>Util>Truncate

Truncateコンポーネント 

複数のアイテム(Input)を、インデックスの両側からアイテムを減らしていく。アイテムを減らす強さ(Truncation Factor)を、0(減らさない)から1.0(全て)の値までで指定できる。
C

Maths>Util>Blur Numbers

Blur Numbersコンポーネント 

複数の入力した値(Numbers)を、強さ(Strength)と回数(Iterations)を決めて値が等間隔になるようにならす。
C

Maths>Util>Smooth Numbers

Smooth Numbersコンポーネント 

入力した値(Numbers)が変更された時、変更するまでの値が滑らかに変更される。
C

Maths>Util>Weighted Average

Weighted Averageコンポーネント 

複数の点(Input)とそれぞれの点の重さ(Weights)を入力することで、点を作成する。Weightsの値が高い点により強く引き付けられる形になる。
C

Maths>Util>Complex Agument

Complex Agumentコンポーネント

複素数(Complex)の角度に相当する値を求める。出力される値はラジアンである。
C

Maths>Util>Complex Components

Complex Componentsコンポーネント

複素数(Complex)から、実数(Real)と虚数(Imaginary)の値をそれぞれ出力する。
C

Maths>Util>Complex Conjugate

Complex Conjugateコンポーネント

複素数(Complex)の虚数の値を、反転した値にする。
C

Maths>Util>Complex Modulus

Complex Modulusコンポーネント

入力した複素数(Complex)の原点からの長さに相当する値を求める。 
C

Maths>Util>Create Complex

Create Complexコンポーネント

実数(Real)と虚数(Imaginary)を入力し、複素数(Complex)を作成する。

Construct Domain

詳細1:入力Aと入力Bの2つの数字から、数値の範囲=ドメインを作成する。反対に、[DeConstruct Domain(DeDomain)]コンポーネントは、ドメインを元の構成要素に分解する。



詳細2:図は、[Construct Domain(Dom)]コンポーネントから[Range]コンポーネントに接続して範囲を作成したものに[Construct Point(Pt)]コンポーネントを使用してポイントの配列を行った例。


Deconstruct Domain

詳細1:数値の範囲=ドメインから始めの値(Start)と終わりの値(End)をそれぞれ取り出す。例では、[Bounds]コンポーネントで範囲(Domain)を作成し、始めと終わりの値を出力した例。[Construct Domain]の逆の働き。



詳細2:図は、[Deconstruct Box]コンポーネントのX方向の範囲を、最小値最大値に分解して、引き算することで[Bounding Box]のX方向の長さを求めた例。



詳細3:既存のドメインを、元の構成要素に分解した例。



詳細4:ランダムな数値のリストから[Bounds]で範囲を抽出し、[Deconstruct Domain]で最小値と最大値を取得した例。


 

 

Bounds

詳細1:[Bounds]コンポーネントは、複数の値(Numbers)が入力された時、入力値の中の最小値から最大値までの範囲(Domain)を作成する。例では、最小値の2から最大値30までの範囲が出力されている。



詳細2:[Remap]コンポーネントのSourceに入力する為の範囲(Domain)として使うと便利である。例では、[Remap]コンポーネントのSourceの範囲として[Bounds]コンポーネントの範囲を使用。0から1までの範囲に変更して、[Graph Mapper]コンポーネントで修正できるようにした例。



詳細3:ランダムな数値リストからも最小値~最大値までの範囲(ドメイン)を出力することができる。



詳細4:[Bounds]は他のコンポーネントと組み合わせて使用する場合が多い。以下各関連コンポーネントの詳細を参照。
①Maths>[Remap Numnbers]と併用→ソースドメインとターゲットドメインを使用するため、数値リストを[Bounds]を経由してドメインに変換するのに使用
②Maths>[DeconstructDomain]と併用→最小値/最大値を個別に取得

Remap Numbers

詳細1:Value(V)に入力された数値リストを、ソースドメイン(S)の範囲からターゲットドメイン(T)の範囲に対応させて、リマップされた数値(R)を出力する。


※SとTにはドメインを入力するため、Vに入力する数値リストと範囲が同じ場合には、数値をドメインに変換する[Bound(Bnd)]コンポーネントを使用すると便利である。入力ドメインは、[Construct Domain]を使用したり、[Panel]コンポーネントに ”0 to 50”のような形で入力しても使用可能。


※S及びTのデフォルト値は0 to 1なので、図には説明上数値が入力してあるが、本来は入力不要。


Consecutive Domains

詳細1:数値リストを入力し、consecutive=連続的なドメインを作成する。(均等なドメインを生成するには[Divide Domain]を使用するが、[Consecutive Domains]では、任意の数値リストよりドメイン幅を不均等にできる。)
入力A(Additive)が”True”の場合、入力した値が1つ前のドメインの最大値に加算される。”False”の場合、入力した値から次のidまでがドメインとなる。



詳細2:[Construct Domain²]でサーフェスのV方向のドメインを色分け指定する際に[Consecutive Domains]を使用した例。


Divide Domain

詳細1:入力した数値の範囲(ドメイン)を入力Cの数で分割する。



詳細2:[Divide domain]及び[Divide domain²]を使用してサーフェスを分割した例。結果は同じとなる。
A/[Divide domain]で分割したドメインを[Construct Domain²]のUVにそれぞれ接続。どちらかを[Graft]の設定にし、サーフェスを分割する。
B/[Divide domain²]の入力Iに、[Construct domain²]で生成したドメインを入力。入力U/Vに分割数を入力。


Includes

詳細1:[Includes]コンポーネントは、範囲(Domain)に指定した値(Value)が含まれるかどうか(Includes)を、True/Falseで出力する。範囲に含まれない場合は、幾つ範囲から外れているか(Deviation)も出力される。
例では、0 to 10の範囲に、-3,2.5,12.5の3つの値が含まれるかを調べている。
[Find Domain]コンポーネントの様に複数の範囲を入力できるわけではないので注意。



詳細2:出力Dからは”True”の場合は0を、”False”の場合は、ドメインとの差の値(Deviation)を出力。図は、[Cull Pattern]を使用して”True”値のみを抽出した例。


Construct Domain²(Dom²Num)

詳細1:[Construct Domain²]コンポーネントは、Uの最小最大値、Vの最小最大値をそれぞれ入力し、UVの範囲を作成する。作成される範囲は、u:{0 to 1} V:{0 to 1}の様な値。


詳細2:Construct Domain²という名前のコンポーネントは2つある。1つはAのConstruct Domain²(DomNum)で、UVの最小値、最大値となる数値をそれぞれ入力して範囲を作成する。BのConstruct Domain²(Dom²)は、数値ではなくドメイン(0 to 1など)の形式で入力する。出力される値は等しく、u:{0 to 1} V:{0 to 1}の様な値となる。



詳細3:UVの範囲を使用し、[Isotrim]コンポーネント(表記はSubSrf)を使用して、UVの該当部を抽出した例。入力したsurface端子にReparametrizeオプションを使用していることに注意。詳細は下記リンクを参照。
https://www.applicraft.com/tips/rhinoceros/grasshopper_tuv/


 

Divide Domain²

詳細1:入力Iにベースとなるドメイン数値やサーフェスなどを入力し、U及びVに分割数を入力すると、入力ドメインをその数に均等に分割する。図は入力サーフェスをU=3、V=4に分割したドメインを作成後、[IsoTrim]にそのドメインを入力してサーフェスを抽出し、分割されたサーフェスの中心にIndex値を表示した例。



詳細2:図は分割したサーフェスを[Cull Nth]に接続して、N=2番目のIndexを繰り返し除き(=1,3,5,7..)、チェッカー模様を作成した例。


Addition

詳細1:入力Aと入力Bの足し算(加算)を行う。複数リストの入出力も可。

また、数値リストの合計を加算する場合は[Mass Addition(MA)]コンポーネントを、乗算する場合は[Mass Multiplication(MA)]コンポーネントを使用する。


Division

詳細1:入力Aと入力Bのわり算(除算)を行う。

複数リストの入出力も可。


Multiplication

詳細1:入力Aと入力Bのかけ算(乗算)を行う。

複数リストの入出力も可。


Subtraction

詳細1:A入力とB入力の引き算(減算)を行う。

複数リストの入出力も可。


Negative

詳細1:入力された数値を負の数字(+の場合は-に、-の場合は+)に変換する。


Absolute

詳細1:入力された数値の絶対値を出力する。


Integer Division

詳細1:A値からB値を、割り算して商を出力する。例:Aが7、Bが3の場合は、商が2余りが1なので、コンポーネントの出力は2となる。



詳細2:100より下の値を丸めた例。100で割った商に再度100を掛けている。

Modulus

詳細1:A値からB値を、割り算して余りを出力する。例:Aが7、Bが3の場合は、商が2余りが1なので、コンポーネントの出力は1となる。


Mass Addition

詳細1:入力した値(Input)を全て足し算した値(Result)を求める。
Resultからは総計が、Partial Resultsからはインデックスごとの累計(順に足した値)が出力される。最後のインデックスが、Resultと同じ結果になる。


 


詳細2:[Mass Addition]の出力Prを使用して正方形を移動した例。
①[Series]で1ずつ増加する数値リストを作成

②[Rectangle]のXYに接続して、1ずつ増加する正方形を生成

③[Mass Addition]に数値リストを入力し、出力Prからの累計をX方向に指定した[Move]へ接続


 

Mass Multiplication

詳細1:入力した値(Input)を全て掛け算した値(Result)を求める。
Resultからは全て掛けた値が、Partial Resultsからはインデックスごと順に掛けた値が出力される。また最後のインデックスが、Resultと同じ結果になる。



詳細2:[Series]コンポーネントで等差の数列を作って入力することで、[Factorial]コンポーネントと同様の働き(指定した値までの整数の階乗)もできる。



詳細3:数値ではなく論理値を元にして、[Gate And]のように使用した例。[Gate And]のように複数リストではなく、単一のリスト内に1つでも”False”があると”False”を返し、全て”True”の場合のみ”True”を返す。


Larger Than

詳細1:「~より大きい」または「~以上」を判別する。

数値リストAとBを入力し、A>Bまたは、A≧Bの結果をBoolean値のTrue または Falseで返す。


Smaller Than

詳細1:「~より小さい」または「~以下」を判別する。

数値リストAとBを入力し、A<Bまたは、A≦Bの結果をBoolean値のTrue または Falseで返す。


Equality

詳細1:A入力とB入力の2つの値が等しいかを判別する。


Gate And

詳細1:入力した論理値に対して、ANDゲートを実行する。Andゲートは全てTrueの時のみTrueを、一つでもFalseがある時はFalseを出力するもの。左の例では、一番上のTrueとTrueが入力されたもののみ、Trueが出力されている。コンポーネントを拡大すると、+/-マークにて入力を増減できる。


 


詳細2:Pointを読み込み、X値が0より上かつ15より下の値だけを[Dispatch]コンポーネントを使用し取り出している例。[Larger]と[Smaller]を2回使い、共にTrueの個所を[Gate And]でTrueにする。そのパターンを[Dispatch]のパターンに入力し、点を条件に分けて出力している。



詳細3:[Gate And]コンポーネントと[Gate Or]コンポーネントを使用して、2つの円の条件分けを行った例。
①AかつB

②Aでもなく、かつBでもない

③AまたはB

④Aでもない、またはBでもない


Gate Or

詳細1:入力した論理値に対して、Orゲートを実行する。Orゲートは全てFalseの時のみ、Falseを出力するもの。一つでもTrueがある場合は、Trueを出力する。左の例では、一番下のFalseとFalseが入力されたもののみ、Falseが出力されている。


  


詳細2:複数の点を入力し、Curveの内側か、Brepの内側かをそれぞれ条件を求めて、[Gate Or]コンポーネントに入力し、FalseとFalseの条件(共に外側)とそれ以外(どちらかに含まれる)のパターンを作成。[Dispatch]コンポーネントに繋ぎ、点を内側と外側で場合分けしている。



詳細3:[Gate And]コンポーネントと[Gate Or]コンポーネントを使用して、2つの円の条件分けを行った例。
①AかつB

②Aでもなく、かつBでもない

③AまたはB

④Aでもない、またはBでもない


Square

詳細1:入力値の2乗した値を計算する。例:3を入力すると、3の2乗(3*3)の9が出力される。


Square Root

詳細1:入力値の2乗根の値を計算する。例:3を入力すると、3の2乗根の√3が出力される。



詳細2:入力したカーブの様々な面積に対して[Square Root]と[Division]を使用してスケール係数を算出し、希望する面積(=100)になるようにスケールした例。


Evaluate

詳細1:[Evaluate(Eval)]コンポーネントは、関数や式を用いて計算の結果を出力する。

キャンバスを拡大表示していくと、小さな+/-アイコンが現れる。式の項目はこの+/-をクリックして増減する事ができる。


 

詳細2:中央部分をダブルクリックすると、Expresssion Designerが開き、式を入力できる。

また、入力Fを右クリックして直接式を入力する事もでき、これは先のExpression Designerと連動している。


詳細3:F入力に式を接続する事も可能だが、この場合は接続した式が優先となり、Expression Designerは開かなくなる。



詳細4:Round関数を使用し、入力した値(x)を桁数を指定し(y)で丸めた図。例では、2.934をxに入力して、2をyに入力して、小数点二桁の2.93で値を丸めている。中に記述する式はExpressionコンポーネントと同じもの。その他の式についてもExpressionコンポーネントの詳細説明にあるものが試用できるので参照のこと。


Expression

詳細1:[Expression]コンポーネントは、[Evaluate(Eval)]コンポーネントのExpression Designerをコンポーネントとして取り出したものである。式が表示されているので、[Panel]コンポーネントで式をF入力に接続した時と同様に、式の内容が一目で確認できる。ダブルクリックすると、Expression Designerが開く。



詳細2:図は、[Expression]コンポーネントを使用して180°(π、またはPi)を指定した数で等分した角度を作成し、Boxを回転配置した例。代わりに[Evaluate]コンポーネントを使用しても同様の結果を作成できる。



詳細3:[Expression]コンポーネント内にRoundを使用し、入力した値(x)を桁数(y)で丸めた図。例では、2.934をxに入力して、1をyに入力して、小数点一桁の2.9まで値を丸めている。記述する式はEvaluateコンポーネントと同じもの。



詳細4:sin関数を用いて、サインカーブを描画している例。0から2πまでの範囲を100等分してxに、yにsin(x)した値を入力して、点通過する曲線を作成することで、y=sin(x)の曲線を描画している。



詳細5:cos関数を用いて、コサインカーブを描画している例。コンポーネントの使い方は詳細4を参照。


C# Scriptコンポーネント

詳細1:[C#]スクリプトを使用できるコンポーネント。ダブルクリックで記述可能。コンポーネントにズームすることで、入出力の端子の数を増減可能。



詳細2:また入力端子ごとに、端子上で右クリックすることで、入力データの扱い方を3種類から(Item,List,Tree)、入力データタイプ(float少数、int整数、Point3d点データなど)を指定できる。



詳細3:Brepを、Item入力タイプをBrepで読み込み、体積だけを求めた例。



詳細4:デフォルトではRhinoCommonやGrasshopperのカーネルをライブラリとして読み込んでいる。RhinoCommonに関しては、下記リンクを参照。
https://developer.rhino3d.com/api/RhinoCommon/html/R_Project_RhinoCommon.htm


GhPython Script

詳細1:[GhPython]スクリプトを使用できるコンポーネント。ダブルクリックで記述可能。コンポーネントにズームすることで、入出力の端子の数を増減可能。


詳細2:また入力端子ごとに、端子上で右クリックすることで、入力データの扱い方を3種類から(Item,List,Tree)、入力データタイプ(float少数、int整数、Point3d点データなど)を指定できる。



詳細3:デフォルトではRhinoScriptSyntaxを使えるよう、ライブラリを読み込んでいる(import rhinoscriptsyntax as rs)。点を3つずつ用意して、Item入力Point3dでそれぞれ読み込む。rhinoscriptsyntaxのAddlineで2点指定し、線を作成している例。https://developer.rhino3d.com/api/RhinoScriptSyntax/
RhinoCommon等を読み込んで使用したい場合は、別途import Rhino で読み込むこと。


Cosine

詳細1:[Cosine]コンポーネントは、Y= cos(x)の値を求める。Xはラジアンでの入力となるので、角度(Degree)で入力する場合は、Degreeオプションを付ける(上の例)か、[Radians]コンポーネントを使用し変換して入力すること。


Sine

詳細1:[Sine]コンポーネントは、Y= sin(x)の値を求める。Xはラジアンでの入力となるので、角度(Degree)で入力する場合は、Degreeオプションを付ける(上の例)か、[Radians]コンポーネントを使用し変換して入力すること。


Degrees

詳細1:[Degrees]コンポーネントは、ラジアン(Radians)値を入力すると度数(Degrees)に変換する。例ではπを入力し、180が出力されている。


  


詳細2:[Degrees]コンポーネントの代わりに、コンポーネントの入出力を右クリックして開くコンテキストメニューから、ラジアンを度数に変換するオプションを選択する事も可能。
A:”Expression”に”Deg(x)”と入力
B:”Degrees”を選択


Radians

詳細1:[Radians]コンポーネントは、度数(Degrees)を入力するとラジアン(Radians)値に変換する。例では180と360を入力し、πと2πが出力されている。



詳細2:Grasshopperでは回転に用いる値は、デフォルトでラジアン値であるので、度数の値が決まっている時は[Radians]コンポーネントを使うか、AngleのDegreeオプションを使うこと(どちらでも結果は同じ)。


詳細1:[Extremes]コンポーネントは入力された値のインデックスの最小・最大の値を調べて、それぞれV-V+から出力する。
例では、0番のインデックスの数字0と2を比べて、V-から0がV+から2が出力。1番・2番のインデックスも同様に最小・最大を出力している。



詳細2:[Extremes]コンポーネントは近くにズームすることで出る+-マークで任意の数に端子を増減できる。



詳細3:+-マークで端子を増やした場合も、同様に同じインデックスの最小・最大の値が出力される。


 

Round

詳細1:[Round]コンポーネントは入力した値の小数点以下の数値を丸める。Nearestは四捨五入、Floorは切り捨て、Ceilingは切り上げした値を出力する。例はNearest四捨五入。



詳細2:例はFloor小数点以下を切り捨て。



詳細3:例はCeiling小数点以下を切り上げ。


 

Average

詳細1:[Average]コンポーネントは入力した値の平均値を出力する。



詳細2:複数の点を入力した場合は、平均となる点を出力する。