三維模型操作 4 基本操作

2021-09-26 22:53:07 字數 2698 閱讀 2950

repetier-host

// 反回listview中選中的1個模型

public printmodel singleselectedmodel

}// 更改模型尺寸事件

private void textscalex_textchanged(object sender, eventargs e)

updatestlstate(model); // 檢查模型object的狀態. 如果其在列印範圍外,則開始跳動pulsing

main.main.threedview.updatechanges(); // gl.invalidate()

// 190616 空間狀態改變之後,呼叫自動放置來使其在空間中可見,否則容易飛走

main.main.threedview.picbox_autoplace_click(null, null);

}// 繪製模型中的部分語句,太長了只放關鍵的

#region 將threedview中的所有模型依次畫出

foreach (threedmodel model in view.models)

); gl.material(

materialface.front,

materialparameter.emission,

new opentk.graphics.color4(col.r, col.g, col.b, col.a));

// 190813 畫模型的bbox, 更新模型的bbox,只需要更新x/y/zmin, x/y/zmax的值就可以

// drawmodel在gl_paint() 中是持續呼叫的

gl.enable(enablecap.linesmooth);

gl.linewidth(5);

gl.begin(beginmode.lines); // 乙個bbox, 一共12根線

//若開啟線的反走樣glenable(gl_line_smooth); 設定小數值才起作用,否則就四捨五入的處理整數了。

#region 畫模型的bbox

// #1

gl.vertex3(model.xmin, model.ymin, model.zmin); // 起點

gl.vertex3(model.xmax, model.ymin, model.zmin); // 終點

// #2

gl.vertex3(model.xmin, model.ymin, model.zmin);

gl.vertex3(model.xmin, model.ymax, model.zmin);

// #3

gl.vertex3(model.xmin, model.ymin, model.zmin);

gl.vertex3(model.xmin, model.ymin, model.zmax);

// #4

gl.vertex3(model.xmax, model.ymax, model.zmax);

gl.vertex3(model.xmin, model.ymax, model.zmax);

// #5

gl.vertex3(model.xmax, model.ymax, model.zmax);

gl.vertex3(model.xmax, model.ymin, model.zmax);

// #6

gl.vertex3(model.xmax, model.ymax, model.zmax);

gl.vertex3(model.xmax, model.ymax, model.zmin);

// #7

gl.vertex3(model.xmin, model.ymax, model.zmax);

gl.vertex3(model.xmin, model.ymax, model.zmin);

// #8

gl.vertex3(model.xmin, model.ymax, model.zmax);

gl.vertex3(model.xmin, model.ymin, model.zmax);

// #9

gl.vertex3(model.xmax, model.ymax, model.zmin);

gl.vertex3(model.xmax, model.ymin, model.zmin);

// #10

gl.vertex3(model.xmax, model.ymax, model.zmin);

gl.vertex3(model.xmin, model.ymax, model.zmin);

// #11

gl.vertex3(model.xmax, model.ymin, model.zmax);

gl.vertex3(model.xmin, model.ymin, model.zmax);

// #12

gl.vertex3(model.xmax, model.ymin, model.zmax);

gl.vertex3(model.xmax, model.ymin, model.zmin);

#endregion

gl.end();

model.animationafter();

gl.popmatrix(); // 出棧

}}#endregion

三維模型最大和最小的2個極值點,可以構成乙個包圍框。

AE三維模型處理

video copilot element 3d for mac是一款執行在mac平台上的ae三維模型外掛程式,element 3d mac破解版主要用於建立運動設計和視覺fx,video copilot element 3d for mac版提供組對稱建立模式 動態組資料夾反射 啞光反射模式等強大...

osg 三維gis開發 OSG三維模型初探

最近在研究osg開發,準備用osg osgearth開發一套三維地形gis系統,目前研究在vs2008下把osg 2.8.3 debug和release 和osearth 2.0.0 release,debug版沒編譯是考慮只把它作為地形生成工具使用,但目前開發過程中發現osg的debug是需要它的...

基本的三維旋轉

本系列教程的目的是解釋背後的旋轉點在三個方面所涉及的數學。這將開始描述如何使用乙個旋轉矩陣z軸旋轉點,僅僅是因為這是最簡單的旋轉,視覺化和實施。這就像乙個時鐘手繞來繞去。然後,將移動的教程給你的x和y軸的旋轉矩陣,告訴你如何使用它們,然後給你乙個矩陣,這將使繞任意軸旋轉。翻譯矩陣也將被覆蓋。將相機和...