Houdini VEX(十四)ForEach語句

一夹纫、簡單的foreach


  • 代碼:
//對(duì)于體積旭咽,并非只能用Volume Wrangle
//正如Attribute Wrangle其名,有屬性就能用它;有point prim vertex就能用
//   aw可以讀取和修改屬性,vw可以讀取和修改體積(體素)

float density[] = primintrinsic(0,'voxeldata',0);//獲取intrinsic屬性礁竞,
                                 //voxeldata:體素值的浮點(diǎn)數(shù)組
                                 
float maxValue = 0; //該變量用來存放最大值

foreach(float value; density)       //遍歷density數(shù)組中的每一個(gè)浮點(diǎn)value
    maxValue = max(maxValue,value); // 上次的值 與 這次的值 對(duì)比,取最大的

setprimattrib(0,'name',0,sprintf('%s',maxValue)); 
//轉(zhuǎn)成字符串賦予給name屬性(也就是體積的名字)
//中鍵按住即可方便地觀察體素的最大值
  • max函數(shù):兩個(gè)參數(shù)值進(jìn)行比較杉辙,取最大值返回

二模捂、for each 帶序號(hào)形式

  • 代碼:
//下列代碼求 體積中 體素值在rangeMin~rangeMax范圍內(nèi)的體素 的數(shù)量占總體素量的百分比
float density[] = primintrinsic(0,'voxeldata',0);

float maxValue = 0;  //存放最大值
float minValue = 0;  //存放最小值
float rangeMax = chf('range_max');  //最大范圍
float rangeMin = chf('range_min');  //最小范圍
int sampleRate = int( rint( 1/chf('sample_rate') ) );
//采樣率(跳過體素個(gè)數(shù)):用戶輸入0~1; rint()取最近整數(shù)返回浮點(diǎn),如2.5=3.0,2.49=2.0,-0.6=-1; int()取整
//例如 用戶輸入   0 0.5 0.3 0.01  1    恰好0和1意味著完全采樣
//sampleRate =  0  2   3  100   0
int count = 0;  //計(jì)數(shù)器

foreach(int id; float value; density) //遍歷density數(shù)組中的每一個(gè)浮點(diǎn)value蜘矢,
                                      //每循環(huán)一次狂男,id+1
{                             
    if( id % sampleRate == 0 )  // 如sampleRate = 5,則每隔5個(gè)體素運(yùn)行下列代碼一次
    {
        maxValue = max(maxValue,value);
        minValue = min(minValue,value);
        if( value < rangeMax && value > rangeMin )//如果體素值符合范圍
            ++count;                              //計(jì)數(shù)器+1
    }
}
printf('max = %s\n',maxValue);
printf('min = %s\n',minValue);
printf('percent = %s\n',float(count*sampleRate)/len(density));
// 百分比 = 計(jì)數(shù)結(jié)果*跳過體素個(gè)數(shù) / 體素總數(shù)量

  • rint函數(shù):進(jìn)行四舍五入
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末品腹,一起剝皮案震驚了整個(gè)濱河市岖食,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舞吭,老刑警劉巖泡垃,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異羡鸥,居然都是意外死亡蔑穴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門惧浴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來存和,“玉大人,你說我怎么就攤上這事赶舆⊙埔Γ” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵芜茵,是天一觀的道長叙量。 經(jīng)常有香客問我,道長九串,這世上最難降的妖魔是什么绞佩? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮猪钮,結(jié)果婚禮上品山,老公的妹妹穿的比我還像新娘。我一直安慰自己烤低,他們只是感情好肘交,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扑馁,像睡著了一般涯呻。 火紅的嫁衣襯著肌膚如雪凉驻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天复罐,我揣著相機(jī)與錄音涝登,去河邊找鬼。 笑死效诅,一個(gè)胖子當(dāng)著我的面吹牛胀滚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乱投,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼咽笼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了戚炫?” 一聲冷哼從身側(cè)響起褐荷,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘹悼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體层宫,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杨伙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了萌腿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片限匣。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖毁菱,靈堂內(nèi)的尸體忽然破棺而出米死,到底是詐尸還是另有隱情,我是刑警寧澤贮庞,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布峦筒,位于F島的核電站,受9級(jí)特大地震影響窗慎,放射性物質(zhì)發(fā)生泄漏物喷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一遮斥、第九天 我趴在偏房一處隱蔽的房頂上張望峦失。 院中可真熱鬧,春花似錦术吗、人聲如沸尉辑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隧魄。三九已至卓练,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間堤器,已是汗流浹背昆庇。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闸溃,地道東北人整吆。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像辉川,于是被迫代替她去往敵國和親表蝙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容