青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE Color Scale

Posted on 2014-09-20 20:11 eryar 閱讀(4335) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE Color Scale

eryar@163.com

Abstract. The color scale is a specialized label object that displays a color map and an accompanying numerical scale for color mapped or contour data plots. As the geometry modeling kernel of SALOME, OpenCASCADE provides the color scale function. The paper focus on the usage of color scale in OpenCASCADE.

Key Words. OpenCASCADE, Color Scale, 應力云圖, 顏色映射表

1. Introduction

應力云圖是一種應用廣泛的標量場可視化方法,也經常用于表達矢量場或張量場的一個分量。云圖在顏色與標量數據之間建立某種確定的映射關系,在計算機屏幕上繪制一個顏色離散變化的圖像來顯示科學計算結果。云圖將標量場定義域內的數據值映射成不同的顏色,從而通過顏色變化來反映數據場中數據的變化規律。

很多數值分析軟件后處理的結果都有繪制云圖的功能。如下圖所示為Abaqus軟件產生的云圖:

wps_clip_image-8337

Figure 1.1 A Colored Stress Patterns by Abaqus

OpenCASCADE作為SALOME開源數值分析軟件的幾何造型內核,也提供了云圖可視化的功能。本文主要介紹如何使用OpenCASCADE來顯示模型的應力云圖中的顏色映射表(Color Scale)。

2. Color Scale

云圖繪制依賴于顏色集合與標量場數值集合之間的一一映射,即顏色映射表(Color Scale)。顏色映射表為區域填充時建立數值與顏色的映射關系。如下圖所示:

wps_clip_image-10285

Figure 2.1 Color Scale

作為分析對比參照標準,用戶可以根據顏色線性表對應的數值范圍,來判斷某區域內數值分布規律。顏色線性表不僅應用于云圖繪制,也應用于其他計算可視化算法中。

顏色線性表可以定義成不同的形式,多以對比鮮明的色彩作為線性表段顏色,在兩個對比色之間采用過渡顏色。

在OpenCASCADE中顏色映射表的繪制是由Viewer來實現的。其Tcl命令為vcolorscale,如下所示:

wps_clip_image-28256

Figure 2.2 Color Scale Tcl Command: vcolorscale

默認的顏色映射表的顯示效果如下圖所示:

wps_clip_image-22753

Figure 2.3 Color Scale in Draw Test Harness

3. Tcl Test

OpenCASCADE基于Tcl/Tk的Draw Test Harness環境很方便測試一些想法。現在在Draw Test Harness中來顯示一個完整的云圖,如下圖所示:

wps_clip_image-9599

Figure 3.1 Color Scale in Draw Test Harness

實現上圖的Tcl腳本代碼如下所示:

#
#    Copyright (c) 2014 eryar All Rights Reserved.
#
#        File    : colorscale.tcl
#        Author  : eryar@163.com
#        Date    : 2014-09-20 18:10
#        Version : 1.0v
#
#    Description : Demonstrate the usage of OpenCASCADE color scale.
#

pload ALL

meshfromstl m data
/stl/head.stl

meshcolors m nodaltex 
0

# show the color sacle.
vcolorscale

vfit

首先加載所需要的所有模塊,再從head.stl中加載網格模型;設置網格頂點顏色后就用vcolorscale命令打開發顏色映射表。

4.Code Analysis

根據Tcl命令找到對應的C++實現代碼如下所示:

 

//=============================================================================
//function : VColorScale
//purpose  : representation color scale
//=============================================================================
#include <V3d_ColorScale.hxx>

static int VColorScale (Draw_Interpretor& di, Standard_Integer argc, const char ** argv)
{
  
if ( argc != 1 && argc != 4 && argc != 5 && argc != 6 && argc != 8 )
  {
    di 
<< "Usage : " << argv[0<< " [RangeMin = 0 RangeMax = 100 Intervals = 10 HeightFont = 16 Position = Right X = 0 Y = 0]  " << "\n";
    
return 1;
  }

  Handle(AIS_InteractiveContext) aContext 
= ViewerTest::GetAISContext();
  
if(aContext.IsNull()) {
    di 
<< argv[0<< " ERROR : use 'vinit' command before " << "\n";
    
return -1;
  }

  Standard_Real minRange 
= 0. , maxRange = 100. ;

  Standard_Integer numIntervals 
= 10 ;
  Standard_Integer textHeight 
= 16;
  Aspect_TypeOfColorScalePosition position 
= Aspect_TOCSP_RIGHT;
  Standard_Real X 
= 0., Y = 0. ;

  
if ( argc < 9 )
  {
     
if( argc > 3 )
     {
       minRange 
= Draw::Atof( argv[1] );
       maxRange 
= Draw::Atof( argv[2] );
       numIntervals 
= Draw::Atoi( argv[3] );
     }
     
if ( argc > 4 )
       textHeight 
= Draw::Atoi( argv[4] );
     
if ( argc > 5 )
       position 
= (Aspect_TypeOfColorScalePosition)Draw::Atoi( argv[5] );
     
if ( argc > 7 )
     {
       X 
= Draw::Atof( argv[6] );
       Y 
= Draw::Atof( argv[7] );
     }
  }
  Handle(V3d_View) curView 
= ViewerTest::CurrentView( );
  
if ( curView.IsNull( ) )
    
return 1;
  Handle(Aspect_ColorScale) aCSV 
= curView->ColorScale( );
  Handle(V3d_ColorScale) aCS 
= ( Handle( V3d_ColorScale )::DownCast( aCSV ) );
  
if! aCS.IsNull( ) )
  {
    aCS
->SetPosition( X , Y );
    aCS
->SetHeight( 0.95) ;
    aCS
->SetTextHeight( textHeight );
    aCS
->SetRange( minRange , maxRange );
    aCS
->SetNumberOfIntervals( numIntervals );
    aCS
->SetLabelPosition( position );
    
if!curView->ColorScaleIsDisplayed() )
      curView
->ColorScaleDisplay( );
  }
  
return 0;
}

由上述代碼可知,顏色映射表主要是設置當前View中的Aspect_ColorScale。顯示顏色映射表主要是由類V3d_ColorScale實現。取得當前視圖的顏色表對象后,設置相關參數,即可調用視圖的ColorScaleDisplay()來顯示了。

根據上述Draw Test Harness中的實現代碼,可以很容易地在自己的程序中實現相關的功能了。

5.Conclusion

OpenCASCADE的視圖也提供了顯示顏色映射表的功能,通過設置視圖的V3d_ColorScale的相關參數,即可顯示出顏色映射表了。

 

6. References

1. 王成恩. 面向科學計算的網格劃分與可視化技術. 科學出版社. 2011

 

PDF Version and Tcl Script: OpenCASCADE Color Scale

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩成人| 夜夜嗨av一区二区三区中文字幕| 国产一区av在线| 欧美性做爰猛烈叫床潮| 欧美sm极限捆绑bd| 免费在线看一区| 欧美激情2020午夜免费观看| 欧美日本精品| 国产精品美女主播在线观看纯欲| 国产精品久久波多野结衣| 国产精品国产三级国产普通话蜜臀| 国产精品xvideos88| 国产精品美女www爽爽爽视频| 国产精品入口尤物| 国内偷自视频区视频综合| 狠狠色综合播放一区二区| 亚洲精品日韩精品| 久久福利一区| 亚洲乱码国产乱码精品精可以看| 香蕉久久夜色精品国产| 欧美xxxx在线观看| 国产精品一区二区久久精品| 亚洲国产精品久久久久婷婷884| 亚洲午夜成aⅴ人片| 久久综合九色综合久99| 999亚洲国产精| 玖玖精品视频| 国产亚洲美州欧州综合国| 99精品99久久久久久宅男| 久久综合伊人| 午夜精品久久久久久久99樱桃| 欧美激情中文字幕乱码免费| 欧美精品午夜| 黄色亚洲免费| 亚洲免费在线观看| 噜噜噜91成人网| 欧美在线观看你懂的| 久久精品理论片| 欧美精品一区二区三区很污很色的| 国产精品99免费看 | 狠狠狠色丁香婷婷综合激情| 欧美色视频一区| 欧美视频日韩视频在线观看| 1024亚洲| 香蕉视频成人在线观看| 欧美激情第3页| 亚洲欧美国产高清| 欧美a级理论片| 国产婷婷精品| 在线午夜精品| 乱人伦精品视频在线观看| 亚洲最新在线视频| 葵司免费一区二区三区四区五区| 欧美日韩亚洲高清| 136国产福利精品导航| 亚洲欧洲99久久| 最新高清无码专区| 亚洲主播在线观看| 欧美日韩国产系列| 亚洲国产精品福利| 亚洲一二三区精品| 欧美成人综合一区| 欧美影院成人| 国产精品久久久久久久久搜平片| 亚洲精品激情| 久久日韩精品| 欧美亚洲视频| 国产精品视频精品| 亚洲综合视频一区| 亚洲欧美精品在线| 亚洲精品欧美精品| 欧美大片国产精品| 亚洲激情女人| 欧美成人官网二区| 浪潮色综合久久天堂| 黄色精品网站| 久久色在线播放| 欧美影视一区| 激情久久一区| 麻豆免费精品视频| 久久免费一区| 国产精品www994| 中文亚洲欧美| 一本色道久久综合| 国产精品欧美精品| 亚洲一级黄色av| 亚洲一线二线三线久久久| 国产精品视频免费| 久久av一区二区三区| 久久aⅴ国产欧美74aaa| 欧美高清免费| 欧美午夜精品久久久久免费视| 日韩视频亚洲视频| 亚洲狠狠婷婷| 欧美视频不卡| 久久国产精品一区二区三区四区 | 亚洲无线一线二线三线区别av| 欧美视频专区一二在线观看| 亚洲国产欧美一区二区三区同亚洲 | 亚洲精品久久久蜜桃| 欧美日韩性生活视频| 午夜精品久久久久| 久久国产精品毛片| 亚洲黄色成人久久久| 日韩视频免费| 国产伦精品免费视频| 美女脱光内衣内裤视频久久网站| 欧美va亚洲va国产综合| 中文一区二区| 欧美影院成年免费版| 亚洲精品国偷自产在线99热| 一本久道久久综合中文字幕| 国产日韩一区欧美| 亚洲第一二三四五区| 国产精品久久久久久久久免费 | 欧美h视频在线| 国产精品国产自产拍高清av| 久久男人资源视频| 欧美三级在线| 亚洲美女色禁图| 乱人伦精品视频在线观看| 亚洲伊人一本大道中文字幕| 亚洲视频一二| 亚洲国产精品久久久久秋霞蜜臀| 一区二区三区国产盗摄| 亚洲电影在线| 亚洲欧美视频在线观看| 一区二区日韩| 老色鬼精品视频在线观看播放| 亚洲自拍偷拍网址| 欧美成人视屏| 亚洲伊人伊色伊影伊综合网| 欧美日韩1区| 欧美高清一区| 好吊日精品视频| 亚洲一级黄色av| 一区二区高清在线观看| 久久久蜜臀国产一区二区| 欧美亚洲网站| 欧美偷拍一区二区| 亚洲理伦电影| 99精品视频免费在线观看| 久久视频这里只有精品| 在线视频精品| 欧美精品二区| 亚洲精品国久久99热| 欧美在线观看天堂一区二区三区| 午夜天堂精品久久久久| 欧美粗暴jizz性欧美20| 久久婷婷国产综合尤物精品| 国产精品xvideos88| 久久精品99久久香蕉国产色戒| 欧美日韩国产丝袜另类| 亚洲高清在线| 亚洲国产视频一区| 久久影视三级福利片| 久久香蕉国产线看观看网| 国产目拍亚洲精品99久久精品| 9久草视频在线视频精品| 日韩小视频在线观看| 欧美韩国日本一区| 亚洲国产精品99久久久久久久久| 亚洲国产精品专区久久| 久久一区二区三区av| 女人色偷偷aa久久天堂| 亚洲高清电影| 免费在线看一区| 欧美黑人多人双交| 亚洲精品一区二区三区樱花| 午夜国产精品视频免费体验区| 亚洲欧美日韩一区在线| 国产伦精品一区二区三区免费迷 | 欧美 日韩 国产一区二区在线视频| 一区二区三区高清| 欧美一区二区久久久| 欧美日韩在线不卡一区| 一本色道久久88亚洲综合88| 亚洲一区在线免费观看| 国内精品一区二区| 欧美freesex交免费视频| 亚洲精品一区中文| 欧美在线播放一区二区| 影音先锋成人资源站| 欧美精品18+| 亚洲欧美日韩在线播放| 欧美大片在线影院| 激情小说亚洲一区| 欧美1区2区3区| 亚洲线精品一区二区三区八戒| 久久久久久亚洲精品中文字幕| 亚洲精品久久久久久久久久久| 欧美性猛交xxxx乱大交蜜桃| 欧美在线视频免费| 亚洲精品久久久蜜桃| 久久成人精品| 日韩一级精品| 国语自产精品视频在线看8查询8| 久久综合九色| 亚洲欧美日韩在线高清直播| 欧美激情按摩|