NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

3D曲面(3D Surface)グラフのColor Mapを表示させるには?

yuji2321と申します。
 
【質問】
3D曲面グラフのプロパティ内に「Color Map Editor」があり、
その中の「Color Map」だけを画面に常時表示させるには
どのようにしたら良いのでしょうか?
 
【理由】
3Dグラフを「Color map style:→Color Spectrum」で表示させた時に
表示したグラフの強弱をリアルタイムに把握したいため。
 
以上、よろしくおねがいします。
 
--
0 件の賞賛
メッセージ1/9
7,175件の閲覧回数
ColorMapの「常時表示」はできないのかも知れませんが(やる方法があるのかも知れませんが)、かなり強引に、似たようなものを表示させるなら、こんな例になるでしょうか・・・(汚いviですみません)
添付のviは、ColorMap情報(設定色と設定値の配列)を読み取って、そこからスケールを生成しています(スケール1は配列の要素数分だけ表示)。スケール2は、それをグラデーション化したものです。
ほんとはスケール2をもっと細かくしたかったのですが、カラーのサイズに制限があるのでちょっと粗いです(ここから先は画像で処理か?)。
出来合いのviなので、実用にするにはかなりrefineが要ると思います。例えばスケール2の長さをスケール1に合わせたい場合は、スケール1の要素数に応じてスケール2の要素数も変えないといけませんし。
 
あと、Z軸オートスケールに自動的に追随させる必要があるので(リアルタイムに強弱を把握ということで)、ある程度の頻度でZ軸の最大最小を読み取ってスケール1の中の数値に反映させないといけないですね・・・。ColorMapそのものは、実行中にいじらないのであれば最初に1回読めば良いでしょう。あと、ごちゃごちゃした部分はかなりサブvi化できそう。
 
一応、プログラム的にどうにかする場合として、あくまで参考としてご覧頂ければ(このvi自体は万能ではなさそうなので)。
 
0 件の賞賛
メッセージ2/9
7,154件の閲覧回数

自己レスです。

先程のvi、スケール2は均等グラデーションになってしまいますね。もし、ColorMapの編集で色の分割を不均等にした場合、スケール1は数値でそれが分かるけれども、その不均等さをスケール2にも反映しないと、ちゃんとしたスケールにならないことに気づきました。。。 が、そこまでさらに手を加えるエネルギーが・・・

0 件の賞賛
メッセージ3/9
7,153件の閲覧回数
白石様
 
返信ありがとうございます。
 
実際にViを実行してみました。
かなり私の希望する画面構成になっていてうれしいです。

私の質問の理由の中で、

>【理由】
>3Dグラフを「Color map style:→Color Spectrum」で表示させた時に
>表示したグラフの強弱をリアルタイムに把握したいため。

上記、「リアルタイムに把握したい」とありますが、

実際の動作としては、実行ボタンを1回押す毎にデータを表示させるため、

グラフ表示後にグラフからカラーマップを読込んだらよいのかなと。
 
白石さんのViを参考にして、カスタマイズをしてみようと思います(できるかどうかは・・・)。
ありがとうございました。
 
To:NI技術者様
 
白石さんの課題と合わせてカラーマップ表示方法を教えて頂ければと思います。
 
よろしくおねがいします。
 
--
0 件の賞賛
メッセージ4/9
7,135件の閲覧回数

yuji2321様、ご連絡ありがとうございます。

こちらもまた少しいじってみました。グラデーション表示は、LabVIEWにキレイなグラデーションを描画させるべく、ダミーの強度グラフのZスケールで代用してみました(添付)。強度グラフ本体を3D曲面オブジェクトで隠し、Zスケールに256階調カラーマップを適用して、最大値と最小値をセットします。

viを開いたデフォルト状態は黒~青~白のスケールですが、実行すると3D曲面のspectrumのカラーマップになります。強度グラフのZスケールなので、サイズ変更でグラデーションが追随するし、数値目盛りも自動だし、見た目は前回のスケール2より良いかと。

なお、今回のグラデーション化部は、基準の色の間隔が不均等でも対応するようにしました。

(・・・が、予め3Dグラフでeditしておいて、プロパティーでcustom指定してColorMapを読み出しても、editしたものが出力されてこないような。そこは3D曲面オブジェクトの問題か?)

以上、御参考下さい。
 
0 件の賞賛
メッセージ5/9
7,127件の閲覧回数
yuji2321様
 
いつもお世話になっております。
日本ナショナルインスツルメンツ技術部のサハと申します。
 
白石様のご回答でお客様の問題はほぼ解決されていると思います。白石様ありがとうございます。
お客様のこのような問題に関してウエブにもう一つ資料がございますので、以下のリンクをご参照頂ければと思います。こちらのサンプルは少しぐらい分かりやすいかなと思いましたので、ご紹介させて頂きました。資料は英語になっていますが、添付されているVIを見るだけでもお分かりになられると思います。
3D曲面グラフのカラーマップをフロントパネルに表示される方法:
 
以上のご説明で何かご不明な点がございましたら、ご連絡願います。
 
サハ |技術部 |日本ナショナルインスツルメンツ
0 件の賞賛
メッセージ6/9
7,117件の閲覧回数

サハ様

サンプル御紹介ありがとうございます。強度チャート/グラフのZスケールや、御紹介のサンプルの「ColorRamp」というDBLの制御器のプロパティには「MakerValues[ ]」というのがあって、そこに基準になる色と数値の情報をつないでやれば、自分でグラデーションを作らなくても良かったんですね。やっている動作自体はどうやらほとんど同じっぽいですが(ConvertOLEColor.viの中身の書き方まで!)、御紹介のviの方が相当すっきりしているので、こっちの方が良いですね。

おかげさまでこちらもいろいろ勉強になりました。ありがとうございます。

 

0 件の賞賛
メッセージ7/9
7,114件の閲覧回数

サハ様  白石様

メールありがとうございます。

しばらく何もご連絡できず、申し訳ありませんでした。

サハ様、白石様に頂いたサンプルViは私の望んでいる機能を網羅しており、

とても助かりました。

実際に白石様作成のViを利用させて頂き、カラーマップを

表示させる事に成功し、大変感謝しております。

実際の画面を添付しました。

今後ともよろしくおねがいします。

--

 

 

0 件の賞賛
メッセージ8/9
7,067件の閲覧回数
Woh! Thank you. Although I can't read Japanese, your vi give me a big help. I have struggled on converting 3D surface colormap to LV colors. Now you solved the problem. Thank you.
0 件の賞賛
メッセージ9/9
6,918件の閲覧回数