一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Chai 3D之體積對(duì)象

 3D建模仿真 2023-03-06 發(fā)布于湖北
推薦:將 NSDT場(chǎng)景編輯器 加入你的3D開(kāi)發(fā)工具鏈

介紹

??體積渲染對(duì)于需要可視化三維數(shù)據(jù)集的科學(xué)和工程應(yīng)用至關(guān)重要。示例包括由醫(yī)學(xué)成像設(shè)備獲取的數(shù)據(jù)或計(jì)算流體動(dòng)力學(xué)模擬產(chǎn)生的數(shù)據(jù)的可視化。交互式體積渲染應(yīng)用程序的用戶依靠現(xiàn)代圖形加速器的性能來(lái)實(shí)現(xiàn)高效的數(shù)據(jù)探索和功能發(fā)現(xiàn)。

由一堆 2D 圖像組成的 3D 體積對(duì)象。請(qǐng)參閱示例 30 體素顏色圖

體素?cái)?shù)據(jù)

??體素表示三維空間中規(guī)則網(wǎng)格上的值。體素是“體積”和“像素”的組合,其中像素是“圖片”和“元素”的組合。與位圖中的像素一樣,體素本身通常不會(huì)將其位置(坐標(biāo))與其值一起顯式編碼。相反,體素的位置是根據(jù)其相對(duì)于其他體素的位置(即它在構(gòu)成單個(gè)體積圖像的數(shù)據(jù)結(jié)構(gòu)中的位置)推斷的。與像素和體素相反,點(diǎn)和面通常由其頂點(diǎn)的坐標(biāo)顯式表示。這種差異的直接結(jié)果是,多邊形能夠有效地表示具有大量空空間或均勻填充空間的簡(jiǎn)單 3D 結(jié)構(gòu),而體素擅長(zhǎng)表示非均勻填充的常規(guī)采樣空間。

??體素經(jīng)常用于醫(yī)學(xué)和科學(xué)數(shù)據(jù)的可視化和分析。某些體積顯示器使用體素來(lái)描述其分辨率。例如,顯示器可能能夠顯示 512x512x512 體素。

體素對(duì)象

??體積對(duì)象在 CHAI3D 中使用名為 cVoxelObject 的類實(shí)現(xiàn),其中體積數(shù)據(jù)作為 3D 紋理 (cTexture3D) 存儲(chǔ)到內(nèi)存中。在下面的代碼中,我們演示了如何設(shè)置此類對(duì)象并對(duì)各個(gè)體素進(jìn)行編程。

using namespace chai3d;
//--------------------------------------------------------------------------
// CREATE VOLUME MODEL
//--------------------------------------------------------------------------
// create a volumetric model
cVoxelObject* object = new cVoxelObject();
// add object to world
world->addChild(object);

// set the dimensions by assigning the position of the min and max corners
object->m_minCorner.set(-0.5,-0.5,-0.5);
object->m_maxCorner.set( 0.5, 0.5, 0.5);
// set the texture coordinate at each corner.
object->m_minTextureCoord.set(0.0, 0.0, 0.0);
object->m_maxTextureCoord.set(1.0, 1.0, 1.0);
// set general material color
object->m_material->setOrangeCoral();
// set stiffness property
object->setStiffness(0.2 * maxStiffness);
// show/hide boundary box
object->setShowBoundaryBox(false);
//--------------------------------------------------------------------------
// CREATE VOXEL DATA
//--------------------------------------------------------------------------
// create multi image data structure
cMultiImagePtr image = cMultiImage::create();
// allocate 3D image data
image->allocate(512, 512, 512, GL_RGBA);
// create texture
texture = cTexture3d::create();
// assign volumetric image to texture
texture->setImage(image);
// assign texture to voxel object
object->setTexture(texture);
// set default rendering mode
object->setRenderingModeIsosurfaceMaterial();
// set quality of graphic rendering
object->setQuality(0.5);
// draw some 3D volumetric object
buildVoxelShape(0.5, 0.2);

編輯體素。請(qǐng)參閱示例 28 體素基本。

要編輯體素?cái)?shù)據(jù)的內(nèi)容,可以使用以下方法:

using namespace chai3d;
// assign a value to a voxel
image->setVoxelColor(x, y, z, color);

??修改數(shù)據(jù)(一個(gè)或多個(gè)體素)后,請(qǐng)確保始終標(biāo)記紋理以從 CPU 更新到 GPU 內(nèi)存。

using namespace chai3d;
// update voxel data from CPU to GPU memory
texture->markForUpdate();

文件支持

??也可以通過(guò)將一堆 2D 圖像加載到內(nèi)存中來(lái)構(gòu)建體積模型。

using namespace chai3d;
// create multi image
cMultiImagePtr image = cMultiImage::create();
// load voxel data from images
int numImages = image->loadFromFiles("myModel0"), "png", 256);

傳遞函數(shù)

??如果您的體積圖像處于灰度級(jí)別(CT、MRI 數(shù)據(jù)),則可以使用傳遞函數(shù)對(duì)數(shù)據(jù)進(jìn)行著色。傳遞函數(shù)的作用是通過(guò)將值和其他數(shù)據(jù)度量映射到光學(xué)屬性來(lái)強(qiáng)調(diào)數(shù)據(jù)中的特征。最簡(jiǎn)單和最廣泛使用的傳遞函數(shù)是一維的,它們將數(shù)據(jù)值的范圍映射到顏色和不透明度。通常,這些傳遞函數(shù)是使用一維紋理查找表實(shí)現(xiàn)的。

using namespace chai3d;
// create colormap image
cImagePtr colorMap = cImage::create();
// load colormap file
colorMap->loadFromFile("myColorMap.png");
// assign colormap to object
object->m_colorMap->setImage(colorMap);

3D建模學(xué)習(xí)工作室翻譯整理,轉(zhuǎn)載請(qǐng)標(biāo)明出處!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    在线播放欧美精品一区| 搡老熟女老女人一区二区| 欧美日韩精品久久第一页| 亚洲中文字幕在线乱码av| 老鸭窝老鸭窝一区二区| 韩国激情野战视频在线播放| 国产av一区二区三区麻豆| 国产精欧美一区二区三区久久| 日韩专区欧美中文字幕| 中文字幕高清不卡一区| 亚洲黄香蕉视频免费看| 久久久精品区二区三区| 久久精品中文字幕人妻中文| 国产综合欧美日韩在线精品| 在线免费观看黄色美女| 一区二区三区四区亚洲专区| 欧美日韩在线视频一区| 免费国产成人性生活生活片| 国产女同精品一区二区| 欧洲亚洲精品自拍偷拍| 不卡一区二区在线视频| 欧美视频在线观看一区| 欧美老太太性生活大片| 中文字幕乱子论一区二区三区| 欧洲一区二区三区自拍天堂| 日本大学生精油按摩在线观看 | 91亚洲国产成人久久| 最新国产欧美精品91| 老鸭窝精彩从这里蔓延| 福利视频一区二区在线| 国产成人精品一区二区在线看| 国产精品流白浆无遮挡| 极品少妇嫩草视频在线观看| 日本99精品在线观看| 日韩精品一区二区毛片| 久久福利视频视频一区二区| 日本成人三级在线播放| 亚洲国产av国产av| 国产一区欧美一区日本道| 夫妻性生活一级黄色录像| 中文字幕欧美精品人妻一区|