三维比例变换学习(WPF演示)
生活随笔
收集整理的這篇文章主要介紹了
三维比例变换学习(WPF演示)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
比例變換將圖形在x和y方向上分別放大(或縮小);這是二維的;
WPF中使用ScaleTransform3D來實現三維比例變換;
微軟文檔:若要縮放三維對象,請使用 ScaleTransform3D。ScaleX、ScaleY 和 ScaleZ 屬性按照指定的比例調整元素的大小。
在x、y、z方向分別縮放a、e、i;
先在WPF中畫一個立方體;
再加入比例變換的代碼,則變為如下;
代碼;
<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid ><Viewport3D Name="viewport3D1"><Viewport3D.Camera><PerspectiveCamera x:Name = "camMain" Position = "6 4 2" LookDirection = "-6 -5 -4"></PerspectiveCamera></Viewport3D.Camera><ModelVisual3D><ModelVisual3D.Content><DirectionalLight x:Name = "dirLightMain" Direction = "-1,-1,-1"></DirectionalLight></ModelVisual3D.Content></ModelVisual3D><ModelVisual3D x:Name = "MyModel"><ModelVisual3D.Content><GeometryModel3D><GeometryModel3D.Geometry><MeshGeometry3D x:Name = "meshMain"Positions = "0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1" TriangleIndices = "2 3 1 3 1 0 7 1 3 7 5 1 6 5 7 6 4 5 6 2 02 0 4 2 7 3 2 6 7 0 1 5 0 5 4"></MeshGeometry3D></GeometryModel3D.Geometry><GeometryModel3D.Material><DiffuseMaterial x:Name = "matDiffuseMain"><DiffuseMaterial.Brush><SolidColorBrush Color = "White"/></DiffuseMaterial.Brush></DiffuseMaterial></GeometryModel3D.Material> <GeometryModel3D.Transform> <ScaleTransform3D ScaleX="2" ScaleY="0.5" ScaleZ="1" CenterX="0" CenterY="1" CenterZ="0" /></GeometryModel3D.Transform></GeometryModel3D></ModelVisual3D.Content><ModelVisual3D.Transform><RotateTransform3D><RotateTransform3D.Rotation><AxisAngleRotation3D x:Name = "rotate" Axis = "1 2 1"/></RotateTransform3D.Rotation></RotateTransform3D></ModelVisual3D.Transform></ModelVisual3D></Viewport3D></Grid> </Page>在csdn下載一個資源,名為3D模型導入wpf;
刪去多余代碼,打開它加載的3D模型;若提示d前綴有錯,刪除該屬性代碼;
它有多個?ModelVisual3D ;刪除其中一個?ModelVisual3D 原有的變換代碼,顯示如下,
加入一段比例變換代碼,顯示如下,
?
修改比例變換值,顯示如下,
?
? ? 代碼無法貼,數據在代碼里;
?
?
總結
以上是生活随笔為你收集整理的三维比例变换学习(WPF演示)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超图桌面版GIS配准基本操作
- 下一篇: C++ const 学习