Dynamo
Primer for v2.0
日本語
日本語
  • この Web サイトについて
  • はじめに
    • Dynamo とは、その動作の仕組みとは
    • Primer ユーザ ガイド、Dynamo コミュニティ、プラットフォーム
  • Dynamo のセットアップ
  • ユーザ インタフェース
    • ワークスペース
    • ライブラリ
  • ノードとワイヤ
  • 基本ノードと概念
    • ノードの索引
    • 計算設計用のジオメトリ
      • ジオメトリの概要
      • ベクトル、平面、座標系
      • 点群
      • 曲線
      • サーフェス
      • 立体
      • メッシュ
    • プログラムの構成要素
      • データ
      • 数学的方法
      • ロジック
      • 文字列
      • 色
    • リストを使用した設計
      • リストの概要
      • リストの操作
      • リストのリスト
      • N 次元のリスト
    • Dynamo のディクショナリ
      • ディクショナリとは
      • [Dictionary]カテゴリのノード
      • コード ブロックにおけるディクショナリ
      • Revit での使用例
  • カスタム ノードとパッケージ
    • カスタム ノード
      • カスタム ノードの概要
      • カスタム ノードを作成する
      • ライブラリへのパブリッシュ
    • パッケージ
      • パッケージの概要
      • パッケージのケース スタディ - Mesh Toolkit
      • パッケージを開発する
      • パッケージをパブリッシュする
      • Zero-Touch Importing
  • Revit 用の Dynamo
    • Revit との連携
    • 選択
    • 編集
    • 作成
    • カスタマイズ
    • 設計図書の作成
  • Dynamo for Civil 3D
    • Civil 3D の接続
    • スタートアップ
    • ノード ライブラリ
    • サンプル ワークフロー
      • 道路
        • 照明柱の配置
      • 土地
        • サービスの配置
      • ユーティリティ
        • 構造物の名前を変更する
      • 軌道
        • クリアランスのエンベロープ
      • 測量
        • ポイント グループ管理
    • 高度なトピック
      • オブジェクト バインド
      • Python と Civil 3D
    • Dynamo プレーヤ
    • 便利なパッケージ
    • リソース
  • Dynamo in Forma Beta
    • Forma で Dynamo Player を設定する
    • Dynamo Player でグラフを追加、共有する
    • Dynamo Player でグラフを実行する
    • Dynamo コンピューティング サービスとデスクトップ版 Dynamo の違い
  • Dynamo でのコーディング
    • コード ブロックと DesignScript
      • コード ブロックとは
      • DesignScript 構文
      • 省略表記
      • 関数
    • DesignScript を使用するジオメトリ
      • DesignScript ジオメトリの基本
      • ジオメトリ プリミティブ
      • ベクトル計算
      • 曲線: 補間および制御点
      • 移動、回転、およびその他の変換
      • サーフェス: 補間、制御点、ロフト、回転
      • ジオメトリのパラメータ化
      • 交差およびトリム
      • ジオメトリのブール演算
      • Python 点ジェネレータ
    • Python
      • Python Script ノード
      • Python と Revit
      • 独自の Python テンプレートを設定する
    • 言語の変更
  • ベスト プラクティス
    • 見やすいプログラムを作成するためのガイドライン
    • スクリプト作成のガイドライン
    • スクリプト リファレンス
    • プログラムを管理する
    • Dynamo で大規模なデータ セットを効率的に操作する
  • サンプル ワークフロー
    • スタートアップ ワークフロー
      • パラメータを使用する花瓶
      • アトラクタ ポイント
    • 概念インデックス
  • 開発者向け Primer
    • ソースから Dynamo をビルドする
      • ソースから DynamoRevit をビルドする
      • Dynamo での依存関係の管理と更新
    • Dynamo 向けの開発
      • スタートアップ
      • Zero-Touch ケース スタディ - グリッド ノード
      • Zero-Touch ノードで Python スクリプトを実行する(C#)
      • Zero-Touch の詳細を確認する
      • Dynamo ノードの高度なカスタマイズ
      • Dynamo パッケージで COM (相互運用)タイプを使用する
      • NodeModel ケース スタディ - カスタム UI
      • Dynamo 2.x 用のパッケージと Dynamo ライブラリを更新する
      • Dynamo 3.x 用のパッケージと Dynamo ライブラリを更新する
      • 拡張機能
      • Dynamo 2.0+ のカスタム パッケージ編成を定義する
      • Dynamo コマンド ライン インタフェース
      • Dynamo の統合
      • Dynamo for Revit 向けの開発
      • パッケージをパブリッシュする
      • Visual Studio からパッケージをビルドする
      • パッケージとしての拡張機能
    • プル リクエスト
    • テストによる期待
    • サンプル
  • 付録
    • よくある質問(FAQ)
    • ビジュアル プログラミングと Dynamo
    • リソース
    • リリース ノート
    • 便利なパッケージ
    • サンプル ファイル
    • ホスト統合マップ
    • PDF をダウンロード
    • Dynamo のキーボード ショートカット
Powered by GitBook
On this page
  • 算術演算子
  • 演習: 黄金螺旋式
  • パート I: パラメータ式
  • パート II: 計算式からジオメトリへ
  • パート III: らせん構造からオウムガイへ
  • パート IV: オウムガイから螺旋葉序へ
Edit on GitHub
Export as PDF
  1. 基本ノードと概念
  2. プログラムの構成要素

数学的方法

PreviousデータNextロジック

Last updated 5 days ago

データの最も単純な形式が数値だとするならば、数値を関連づける最も簡単な方法は数学的方法を活用することです。割り算のような単純な演算子から、三角関数などの複雑な計算式まで、数学的方法は数値の関係とパターンを調べるための非常に便利な方法です。

算術演算子

演算子は、代数関数と 2 つの入力値を組み合わせて使用する一連のコンポーネントであり、1 つの出力値を生成します(加算、減産、乗算、除算など)。演算子は、[Operators] > [Actions]で使用できます。

アイコン
名前(構文)
入力
出力

加算(+)

var[]...[], var[]...[]

var[]...[]

減算(-)

var[]...[], var[]...[]

var[]...[]

乗算(*)

var[]...[], var[]...[]

var[]...[]

除算(/)

var[]...[], var[]...[]

var[]...[]

演習: 黄金螺旋式

下のリンクをクリックして、サンプル ファイルをダウンロードします。

すべてのサンプル ファイルの一覧については、付録を参照してください。

パート I: パラメータ式

演算子と変数を組み合わせて、式を使用してより複雑な関係を形成します。スライダを使用して、入力パラメータでコントロールできる式を作成します。

1. この数列は、パラメータ式内の「t」を表しています。ここでは、サイズの大きなリストを使用して、らせん構造を定義します。

Number Sequence ノードで、start、amount、step という 3 つの入力に基づいて数列を定義します。

2.上記の手順により、パラメータ領域を定義するための数値のリストが作成されます。次に、黄金螺旋式を表すノードのグループを作成します。

黄金螺旋は、次の等式として定義されます。

次の図は、ビジュアル プログラミング形式の黄金螺旋を表しています。ここからは、順を追ってノード グループを確認していきます。ビジュアル プログラムと記述形式の等式との相違点に注意してください。

a.Number Slider ノードを使用して、キャンバスに 2 つの数値スライダを追加します。これらのスライダは、パラメータ式の変数である「a」と「b」を表します。これらの変数は、柔軟に変化する定数や、必要な結果に合わせて調整可能なパラメータを表します。

b.Multiplication (*) ノードはアスタリスクで表されます。このノードを繰り返し使用して、乗算変数を接続します。

c.Math.RadiansToDegrees ノードで「t」の値を角度に変換して、三角関数内でその角度を評価します。Dynamo では、三角関数の評価には角度が既定で使用されます。

d.Math.Pow ノードは、「t」および数値「e」の関数として動作し、フィボナッチ数列を作成します。

e.Math.Cos と Math.Sin ノードは、三角関数です。パラメータ指定の各点の X 座標と Y 座標を識別します。

f.Watch ノードで、出力値として 2 つのリストが生成されたことを確認します。これらのリストが、らせんの生成に使用される点群の x 座標と y 座標になります。

パート II: 計算式からジオメトリへ

Point.ByCoordinates ノードの x 入力に上部の乗算ノードを接続し、y 入力に下部の乗算ノードを接続します。この操作により、パラメータで制御された点群のらせん構造が画面上に表示されます。

Polycurve.ByPoints ノードは、前のステップの Point.ByCoordinates を points に接続します。ここでは閉曲線は作成しないため、connectLastToFirst 入力には何も接続しなくてかまいません。この操作により、前の手順で定義した各点を通過するらせん構造が作成されます。

これで、フィボナッチ曲線が作成されました。ここからは、2 つの演習で「オウムガイ」と「ヒマワリ」を作成してみましょう。これらは自然界にみられる形状を抽象的に表しているばかりではなく、フィボナッチ曲線の 2 つの異なる適用例を的確に表現しています。

パート III: らせん構造からオウムガイへ

円弧を作成するための Circle.ByCenterPointRadius ノードの入力ポートに、前の手順と同じ値を接続します。radius 入力の値は既定で 1.0 に設定されているため、出力として円弧が即座に表示されます。点群が基準点から遠ざかっていく様子がよくわかります。

数列のノード グループは「t」の元の配列です。これを Circle.ByCenterPointRadius の radius 入力に接続すると、円弧の中心は基準点から離れていきますが、円の半径は次第に長くなっていき、特長的な形状のらせん構造が作成されます。

余裕があれば、これを 3D に変換してみてください。

パート IV: オウムガイから螺旋葉序へ

最初に、前の演習と同じ手順を実行します。Point.ByCoordinates ノードを使用して、点群をらせん状に並べた配列を作成します。

![](../images/5-3/2/math-part IV-01.jpg)

次に、これらの手順に従って、さまざまな回転の一連のらせんを生成します。

a.Geometry.Rotate ノードには、同じ名前のノードが複数存在します。geometry、basePlane、degrees という入力を持つ Geometry.Rotate ノードを選択してください。geometry 入力に Point.ByCoordinates ノードを接続します。このノードを右クリックして、レーシングが「直積」に設定されていることを確認します。

b.Plane.XY ノードを basePlane 入力に接続します。これにより、基準点に向かって回り込んでいくように点が描画されます。基準点の位置は、らせんの基準の位置と同じです。

c.Number Range ノードで角度を入力することにより、複数の巻き筋を作成します。Number Range コンポーネントを使用すると、この操作をすばやく実行することができます。このコンポーネントを degrees 入力に接続します。

d.Number ノードをキャンバスに 3 つ追加して縦に並べ、数値の範囲を定義します。上から下に、それぞれ 0.0、360.0、120.0 の値を割り当てます。これらの値により、らせんの巻き筋が制御されます。Number Range ノードに 3 つの Number ノードを接続すると、結果が出力されます。

出力結果が渦の流れのようになってきました。Number Range パラメータの一部を調整して、出力結果がどのように変わるか確認してみましょう。

Number Range ノードの step の入力値を 120.0 から 36.0 に変更します。この操作により、巻き筋の数が増え、グリッドの密度が上がります

Number Range ノードの step の入力値を 36.0 から 3.6 に変更します。この操作により、グリッドの密度が大幅に上がり、螺旋の方向が不明瞭になります。これで、ヒマワリが完成しました。

x=rcosθ=acosθebθx = r cos θ = a cos θ e^{bθ}x=rcosθ=acosθebθ
y=rsinθ=asinθebθy = r sin θ = a sin θe^{bθ}y=rsinθ=asinθebθ

上記の手順でも問題なく機能しますが、多数のノードを使用するため、手間がかかります。より効率的なワークフローを作成するには、 を確認し、Dynamo 表現の文字列を 1 つのノード内に定義します。次の手順では、パラメータ式を使用してフィボナッチ曲線を描画する方法について確認します。

ここまでの手順では、円弧を重ねたオウムガイのような形状を作成しました。次に、パラメータ制御のグリッドを使用してみましょう。ここでは、フィボナッチ曲線の基本的ならせんを使用して、フィボナッチ グリッドを作成していきます。結果として、のようならせん形状が作成されます。

DesignScript
ヒマワリ
17KB
Building Blocks of Programs - Math.dyn