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

eryar

PipeCAD - Plant Piping Design Software.
RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
posts - 603, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE Color Scale

Posted on 2014-09-20 20:11 eryar 閱讀(4322) 評(píng)論(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, 應(yīng)力云圖, 顏色映射表

1. Introduction

應(yīng)力云圖是一種應(yīng)用廣泛的標(biāo)量場可視化方法,也經(jīng)常用于表達(dá)矢量場或張量場的一個(gè)分量。云圖在顏色與標(biāo)量數(shù)據(jù)之間建立某種確定的映射關(guān)系,在計(jì)算機(jī)屏幕上繪制一個(gè)顏色離散變化的圖像來顯示科學(xué)計(jì)算結(jié)果。云圖將標(biāo)量場定義域內(nèi)的數(shù)據(jù)值映射成不同的顏色,從而通過顏色變化來反映數(shù)據(jù)場中數(shù)據(jù)的變化規(guī)律。

很多數(shù)值分析軟件后處理的結(jié)果都有繪制云圖的功能。如下圖所示為Abaqus軟件產(chǎn)生的云圖:

wps_clip_image-8337

Figure 1.1 A Colored Stress Patterns by Abaqus

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

2. Color Scale

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

wps_clip_image-10285

Figure 2.1 Color Scale

作為分析對(duì)比參照標(biāo)準(zhǔn),用戶可以根據(jù)顏色線性表對(duì)應(yīng)的數(shù)值范圍,來判斷某區(qū)域內(nèi)數(shù)值分布規(guī)律。顏色線性表不僅應(yīng)用于云圖繪制,也應(yīng)用于其他計(jì)算可視化算法中。

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

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

wps_clip_image-28256

Figure 2.2 Color Scale Tcl Command: vcolorscale

默認(rèn)的顏色映射表的顯示效果如下圖所示:

wps_clip_image-22753

Figure 2.3 Color Scale in Draw Test Harness

3. Tcl Test

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

wps_clip_image-9599

Figure 3.1 Color Scale in Draw Test Harness

實(shí)現(xiàn)上圖的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中加載網(wǎng)格模型;設(shè)置網(wǎng)格頂點(diǎn)顏色后就用vcolorscale命令打開發(fā)顏色映射表。

4.Code Analysis

根據(jù)Tcl命令找到對(duì)應(yīng)的C++實(shí)現(xiàn)代碼如下所示:

 

//=============================================================================
//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;
}

由上述代碼可知,顏色映射表主要是設(shè)置當(dāng)前View中的Aspect_ColorScale。顯示顏色映射表主要是由類V3d_ColorScale實(shí)現(xiàn)。取得當(dāng)前視圖的顏色表對(duì)象后,設(shè)置相關(guān)參數(shù),即可調(diào)用視圖的ColorScaleDisplay()來顯示了。

根據(jù)上述Draw Test Harness中的實(shí)現(xiàn)代碼,可以很容易地在自己的程序中實(shí)現(xiàn)相關(guān)的功能了。

5.Conclusion

OpenCASCADE的視圖也提供了顯示顏色映射表的功能,通過設(shè)置視圖的V3d_ColorScale的相關(guān)參數(shù),即可顯示出顏色映射表了。

 

6. References

1. 王成恩. 面向科學(xué)計(jì)算的網(wǎng)格劃分與可視化技術(shù). 科學(xué)出版社. 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一区二区三区在线观看| 欧美在线亚洲| 亚洲欧美日韩国产一区| 国产精品亚洲а∨天堂免在线| 亚洲综合精品四区| 欧美一级专区| 亚洲高清二区| 99精品福利视频| 国产欧美视频在线观看| 久久久久久网址| 免费h精品视频在线播放| 亚洲美女在线一区| 亚洲视频电影图片偷拍一区| 国产一区二区av| 欧美激情麻豆| 国产精品久久久久久久免费软件| 久久精品av麻豆的观看方式| 久久在线免费视频| 亚洲主播在线播放| 久久成人在线| 亚洲淫片在线视频| 久久久久五月天| 亚洲一区二区三区精品视频| 久久久人成影片一区二区三区| 亚洲精品一区二区在线观看| 亚洲欧美日韩精品久久亚洲区 | 欧美激情一区二区三区不卡| 亚洲一区二区日本| 蜜桃久久av一区| 欧美一区二区三区免费观看视频| 蜜桃久久精品一区二区| 午夜视黄欧洲亚洲| 欧美人在线视频| 麻豆精品网站| 国产麻豆精品在线观看| 亚洲精品久久久蜜桃| 国产亚洲精品7777| 夜夜夜久久久| 亚洲免费av片| 蜜月aⅴ免费一区二区三区| 欧美影院成人| 欧美日韩在线一区二区| 亚洲第一天堂无码专区| 国产一区成人| 亚洲一区二区四区| 亚洲一区三区电影在线观看| 你懂的视频一区二区| 久久精品亚洲国产奇米99| 欧美午夜大胆人体| 亚洲精品乱码久久久久久按摩观| 一区二区三区在线观看欧美| 亚洲一区日韩在线| 亚洲午夜久久久| 欧美日韩视频在线一区二区观看视频| 免费精品99久久国产综合精品| 国产欧美亚洲视频| 亚洲欧美精品伊人久久| 亚洲综合国产激情另类一区| 欧美日韩一区二区三区在线观看免| 欧美国产日韩免费| 亚洲综合色网站| 国产视频精品网| 亚洲欧美一区在线| 欧美一区二区三区四区在线观看地址 | 久久久91精品国产| 国产精品永久免费视频| 小黄鸭精品密入口导航| 欧美一激情一区二区三区| 国产精品网站在线| 亚洲综合久久久久| 久久久99精品免费观看不卡| 国内成人精品一区| 久久亚洲风情| 亚洲国产色一区| 这里只有精品在线播放| 国产精品草草| 午夜激情久久久| 蜜桃久久av一区| 亚洲精品中文在线| 欧美午夜片在线免费观看| 亚洲一区精品视频| 久久婷婷成人综合色| 亚洲国产成人在线| 欧美日韩午夜剧场| 午夜一区二区三区在线观看 | 一区二区三区视频免费在线观看| 欧美日韩在线播放三区四区| 亚洲欧美激情四射在线日| 久久久久国产成人精品亚洲午夜| 亚洲成人在线免费| 欧美日韩免费观看一区三区| 亚洲欧美日韩天堂| 欧美成人资源| 亚洲影院一区| 亚洲缚视频在线观看| 欧美丝袜一区二区三区| 欧美在线国产| 99www免费人成精品| 久久aⅴ国产紧身牛仔裤| 91久久久久久久久| 国产欧美日韩免费看aⅴ视频| 久久久久88色偷偷免费| 日韩视频免费在线| 久久婷婷一区| 午夜精品美女自拍福到在线| 亚洲第一精品福利| 国产精品日韩在线播放| 欧美国产免费| 欧美一区午夜精品| av成人免费| 欧美福利视频在线| 久久久久在线观看| 亚洲欧美99| 一区二区三区蜜桃网| 极品尤物一区二区三区| 国产精品乱码妇女bbbb| 欧美女人交a| 六月天综合网| 久久精品一区四区| 亚洲欧美日韩一区二区在线 | 一本大道av伊人久久综合| 免费日本视频一区| 久久久久久亚洲综合影院红桃 | 好吊色欧美一区二区三区四区| 欧美日韩国产小视频| 久久性天堂网| 久久精品夜色噜噜亚洲a∨| 亚洲一区二区三区免费视频| 亚洲麻豆av| 亚洲精品九九| 最新日韩精品| 亚洲国产另类久久精品| 欧美成人激情视频免费观看| 久久久国产成人精品| 欧美一区二区三区在线观看| 亚洲欧美精品在线观看| 国产精品99久久久久久久久久久久 | 国产美女精品视频| 国产精品露脸自拍| 国产精品免费看| 国产精品久久久久一区二区| 欧美午夜精品久久久久久超碰| 欧美日韩亚洲综合一区| 欧美日韩一区二区三区视频| 欧美日本亚洲视频| 欧美视频在线观看| 国产精品成人免费视频| 国产精品女人毛片| 国产欧美精品一区| 狠狠入ady亚洲精品| 极品尤物av久久免费看| 亚洲国产日韩在线| 99国产精品久久久| 亚洲一区三区电影在线观看| 亚洲欧美日韩视频二区| 欧美专区在线观看| 久久综合久久综合久久| 欧美成人第一页| 亚洲美女91| 午夜精品理论片| 久久中文欧美| 欧美日韩中文在线观看| 国产精品天天摸av网| 韩日欧美一区| 一区二区三区欧美在线| 香蕉久久一区二区不卡无毒影院 | 亚洲激情电影在线| 中国成人黄色视屏| 久久九九热re6这里有精品| 蜜臀av在线播放一区二区三区| 欧美久久久久中文字幕| 国产精品免费看| 亚洲欧洲在线播放| 亚洲在线国产日韩欧美| 久久躁日日躁aaaaxxxx| 日韩午夜av| 久久精品一区蜜桃臀影院| 欧美日韩国产探花| 国内成人精品一区| 亚洲一区二区三区在线看| 久久久久看片| 一本一本久久| 免费成人黄色片| 国产免费成人| 99re66热这里只有精品3直播| 香蕉久久一区二区不卡无毒影院 | 亚洲欧美日韩国产综合| 欧美成人精品h版在线观看| 国产欧美1区2区3区| 亚洲精选中文字幕| 久久先锋影音| 91久久精品久久国产性色也91| 国产区欧美区日韩区| 欧美日韩在线影院| 亚洲国产小视频| 久久久久久久久岛国免费| 亚洲最黄网站| 欧美电影免费观看高清完整版| 国产在线播放一区二区三区|