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
  • 色を作成する
  • 色の値のクエリー
  • 色範囲
  • 色のプレビュー
  • サーフェス上の色
  • 演習
  • 色付き基本らせん
  • サーフェスで色を処理するための演習
Edit on GitHub
Export as PDF
  1. 基本ノードと概念
  2. プログラムの構成要素

色

Previous文字列Nextリストを使用した設計

Last updated 1 month ago

色は、効果的なビジュアルを作成するためだけではなく、ビジュアル プログラムの出力で差異をレンダリングするためにも重要なデータ タイプです。抽象的なデータや変化する数値を操作する場合、何がどの程度変化するのかを確認するのが難しいことがあります。Dynamo は、色の処理に優れたアプリケーションです。

色を作成する

Dynamo では、ARGB 入力を使用して色を作成します。これは、アルファ、赤、緑、青の各チャネルに対応しています。アルファは色の 透明度 を表し、他の 3 つのチャネルは、色のスペクトル全体を生成するための原色として組み合わせて使用されます。

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

ARGB Color (Color.ByARGB)

A、R、G、B

color

色の値のクエリー

次の表に記載されている各ノードにより、色を定義するアルファ、赤、緑、青の各プロパティのクエリーが実行されます。Color.Components ノードは、これら 4 つのプロパティをそれぞれ異なる出力として生成します。そのため、色のプロパティのクエリーを実行する場合は、このノードを使用すると便利です。

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

アルファ(Color.Alpha)

color

A

赤(Color.Red)

color

R

緑(Color.Green)

color

G

青(Color.Blue)

color

B

コンポーネント(Color.Components)

color

A、R、G、B

次の表に記載されている色は、HSB 色空間に対応しています。色を、色相、彩度、明るさに分割すると、より直感的に色を解釈することができます。たとえば、最初に処理する色を決め、次にその色の彩度と明るさを設定します。このように、色相、彩度、明るさをそれぞれ個別に設定していきます。

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

色相(Color.Hue)

color

Hue

彩度(Color.Saturation)

color

Saturation

明るさ(Color.Brightness)

color

Brightness

色範囲

色範囲は、 の演習で説明した、数値のリストを別の範囲に再マッピングする Remap Range ノードに似ています。ただし、色範囲は、数値 の範囲にマッピングされるのではなく、入力された 0 から 1 までの数値に基づいて 色のグラデーション にマッピングされます。

現在のノードは正しく機能しますが、最初からすべてを正しく機能させるのは少し大変です。色のグラデーションを理解するための最適な方法は、色のグラデーションを対話式に試す方法です。ここでは、簡単な演習を行い、数値に対応する色の出力を使用してグラデーションを設定する方法を確認します。

  1. 3 つの色を定義する: Code Block ノードを使用して 0 から 255 までの適切な数値の組み合わせに接続することにより、赤、緑 、 青 を定義します。

  2. リストを作成する: 3 つの色を 1 つのリストにマージします。

  3. インデックスを定義する: 0 から 1 までの範囲で、各色のグリップ位置を定義するリストを作成します。緑の値が 0.75 になっていることに注意してください。これにより、色範囲スライダの水平方向のグラデーションの 4 分の 3 が緑色になります。

  4. Code Block ノードを設定する: 0 から 1 までの値を入力することで、グラデーションを色に変換します。

色のプレビュー

Display.ByGeometry ノードを使用すると、Dynamo のビューポート内でジオメトリに色を付けることができます。この機能は、ジオメトリの各種タイプを区別する場合、パラメータの概念を表現する場合、シミュレーション用の解析凡例を定義する場合に便利です。この場合の入力は単純で、ジオメトリと色だけです。上の図のようなグラデーションを作成するには、color 入力を Color Range ノードに接続します。

サーフェス上の色

Display.BySurfaceColors ノードを使用すると、サーフェス全体にデータを色でマッピングすることができます。この機能により、日照解析、エネルギー解析、近接度解析など、各種の解析で取得したデータを視覚化することができます。Dynamo では、他の CAD 環境でマテリアルにテクスチャを適用する場合と同様に、サーフェスに色を適用することができます。次の簡単な演習で、このツールの使用方法を確認します。

演習

色付き基本らせん

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

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

この演習では、パラメータを使用して、ジオメトリと並行して色の管理を行います。この演習で使用するジオメトリは、単純ならせん構造です。このらせん構造は、Code Block ノードを使用して定義します。これは、パラメータを使用する関数をすばやく簡単に作成するための方法です。この演習の目的は、ジオメトリではなく色を操作することであるため、コード ブロックを使用してキャンバスを見やすい状態に保ったまま、らせん構造を効率的に作成します。この手引ではより高度なマテリアルを取り上げるようになるため、ここからは、コード ブロックを頻繁に使用することになります。

  1. Code Block ノードを使用して、上図に示す式を持つ 2 つのコード ブロックを定義します。これは、パラメータを使用してらせん構造をすばやく作成するための方法です。

  2. Point.ByCoordinates ノードの座標(x,y,z)に Code Block ノードの 3 つの出力を接続します。

これで、らせん構造を形成する点の配列が表示されます。次の手順では、このらせん構造の点群から曲線を作成して、完全ならせん構造を作成します。

  1. PolyCurve.ByPoints ノードの points 入力に Point.ByCoordinates ノードの出力を接続します。これにより、らせん状の曲線が作成されます。

  2. Curve.PointAtParameter ノードの curve 入力に PolyCurve.ByPoints ノードの出力を接続します。この手順の目的は、曲線に沿ってスライドするパラメータのアトラクタ点を作成することです。この曲線によってパラメータの点が評価されるため、0 から 1 の範囲で param の値を入力する必要があります。

  3. Number Slider ノードをキャンバスに追加したら、Min の値を 0.0 、Max の値を 1.0、Step の値を .01 に変更します。次に、Number Slider ノードの出力を Curve.PointAtParameter ノードの param 入力に接続します。らせん構造全体に沿って表示されている点を、スライダのパーセンテージとして表すことができるようになりました(開始点は 0、終点は 1)。

これで、参照点が作成されました。次に、この参照点から、らせん構造を定義する元の点までの距離を比較します。この距離により、色とジオメトリをコントロールします。

  1. Geometry.DistanceTo ノードの other 入力に Curve.PointAtParameter ノードの出力を接続します。geometry 入力に Point.ByCoordinates ノードを接続します。

  2. Watch ノードに、らせん構造の曲線を構成するそれぞれの点から参照点までの距離のリストが表示されます。

次の手順では、らせん構造の各点から参照点までの距離のリストを使用して、パラメータを設定します。また、これらの距離の値を使用して、曲線に沿った一連の球形の半径を定義します。これらの球形を適切なサイズに保つには、距離の値を 再マッピング する必要があります。

  1. Math.RemapRange ノードの numbers 入力に Geometry.DistanceTo ノードの出力を接続します。

  2. 値が 0.01 の Code Block ノードを Math.RemapRange ノードの newMin 入力に接続し、値が 1 の Code Block ノードを Math.RemapRange ノードの newMax 入力に接続します。

  3. いずれかの Watch ノードに Math.RemapRange ノードの出力を接続し、もう一方の Watch ノードに Geometry.DistanceTo ノードの出力を接続します。次に、結果を比較します。

この手順により、距離のリストがより狭い範囲に再マッピングされます。再マッピングの結果が適切な場合であっても、newMin と newMax の値を編集することができます。これらの値は、範囲全体で 分布比率 を保持したまま再マッピングされます。

  1. Sphere.ByCenterPointRadius ノードの radius 入力に Math.RemapRange ノードの出力を接続し、元の Point.ByCoordinates ノードの出力を Sphere.ByCenterPointRadius ノードの centerPoint 入力に接続します。

Number Slider ノードの値を変更し、球体のサイズが更新されることを確認します。ここで、パラメータ ツールを使用します。

球体のサイズは、曲線に沿った参照点によって定義されるパラメータ配列を示しています。ここでは、球体の半径と同じ考え方で、球体の色を操作してみます。

  1. Color Range ノードをキャンバス上に追加します。value 入力にマウス ポインタを置くと、0 から 1 までの範囲で数値を指定する必要があることがわかります。ここでは、Geometry.DistanceTo ノードの出力から数値を再マッピングして、それらの数値をこの範囲に対応させる必要があります。

  2. Sphere.ByCenterPointRadius ノードでのプレビューを一時的に無効にします(右クリックして[プレビュー]を選択)。

  1. Math.RemapRange ノードの numbers 入力にも同様にGeometry.DistanceTo ノードの出力を接続します。

  2. Code Block ノードを使用して、Math.RemapRange ノードの newMin 入力の値として 0 を設定し、newMax 入力の値として 1 を設定します。この場合、1 つのコード ブロックで 2 つの出力を定義できることに注意してください。

  3. Color Range ノードの value 入力に Math.RemapRange 出力を接続します。

  1. Color.ByARGB ノードを使用して、2 つの色を作成します。この手順は複雑そうに感じるかもしれませんが、他のソフトウェアで使用する RGB カラーの場合と同じです。ここでは、ビジュアル プログラミングを使用して色を処理するというだけのことです。

  2. Code Block ノードを使用して、0 と 255 という 2 つの値を作成します。次に、上の図のように、この 2 つの値を Color.ByARGB の各入力に接続します(または、任意の色を 2 つ作成します)。

  3. Color Range ノードの colors 入力では、色のリストが必要になります。上の手順で作成した 2 つの色を使用して、色のリストを作成する必要があります。

  4. List.Create ノードを使用して、2 つの色を 1 つのリストにマージします。次に、このノードの出力を Color Range ノードの colors 入力に接続します。

  1. Display.ByGeometryColor ノードの geometry 入力に Sphere.ByCenterPointRadius ノードを接続し、Color Range ノードを Display.ByGeometryColor ノードの color 入力に接続します。これで、曲線領域全体にスムーズな色のグラデーションが適用されます。

前の手順の Number Slider ノードの値を定義内で変更すると、色とサイズが変更されます。この場合、色と半径のサイズは相互に直接関係しています。これで、2 つのパラメータ間の関係を視覚的に確認することができます。

サーフェスで色を処理するための演習

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

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

最初に、Display.BySurfaceColors ノードの入力として使用するサーフェスを作成(または参照)する必要があります。この例では、正弦曲線と余弦曲線間をロフトします。

  1. このノード グループ は、Z 軸に沿って点を作成してから、正弦関数と余弦関数に基づいてそれらの点の位置を変更します。その後、2 つの点リストを使用して NURBS 曲線が生成されます。

  2. Surface.ByLoft ノードを使用して、NURBS 曲線のリスト間に、補間されたサーフェスを生成します。

  1. File Path ノードを使用して、下流のピクセル データのサンプリングを行うためのイメージ ファイルを選択します。

  2. File.FromPath ノードを使用してファイル パスをファイルに変換し、そのファイルを Image.ReadFromFile ノードに渡してサンプリング用のイメージを出力します。

  3. Image.Pixels ノードを使用してイメージを入力し、そのイメージの X、Y 座標に対応して使用されるサンプル値を指定します。

  4. Slider ノードを使用して、Image.Pixels ノードのサンプル値を指定します。

  5. Display.BySurfaceColors ノードを使用して、色の値の配列を、X、Y 座標に対応してサーフェス全体にマッピングします。

400x300 のサンプル解像度で、出力サーフェスのプレビューを拡大します。

#part-ii-from-logic-to-geometry
16KB
Building Blocks of Programs - Color.dyn
238KB
BuildingBlocks of Programs - ColorOnSurface.zip
archive