دوستان و علاقمندان به مباحث WPF وقتتون بخیر. با آموزش WPF از وب سایت آموزشی پی وی لرن همراهتون هستیم. در این بخش، با ۳D Graphic یا گرافیک سه بعدی در WPF آشنا خواهیم شد.
(Windows Presentation Foundation (WPF عملکردی را برای ترسیم ، تبدیل و گرافیک های سه بعدی طبق نیاز برنامه شما فراهم می کند. از توسعه بازی های ۳D به طور کامل پشتیبانی نمی کند ، اما می توانید تا حدی گرافیک های سه بعدی ایجاد کنید.
با ترکیب گرافیک های ۲D و ۳D ، همچنین می توانید کنترل های غنی ایجاد کنید ، تصاویر پیچیده ای از داده ها را تهیه کنید ، یا تجربه رابط کاربر برنامه را ارتقا دهید. عنصر Viewport3D یک مدل سه بعدی در برنامه WPF را میزبانی می کنند.
بیایید یک مثال ساده برای درک نحوه استفاده از گرافیک های سه بعدی داشته باشیم.
یک پروژه WPF جدید با نام WPF3DGraphics ایجاد کنید.
کد XAML زیر نحوه ایجاد یک شیء ۲D با استفاده از هندسه سه بعدی را نشان می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <Window x:Class = "WPF3DGraphics.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local = "clr-namespace:WPF3DGraphics" mc:Ignorable = "d" Title = "MainWindow" Height = "500" Width = "604"> <Grid> <Viewport3D> <Viewport3D.Camera> <PerspectiveCamera Position = "2,0,10" LookDirection = "0.2,0.4,-1" FieldOfView = "65" UpDirection = "0,1,0" /> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <Model3DGroup> <AmbientLight Color = "Bisque" /> <GeometryModel3D> <GeometryModel3D.Geometry> <MeshGeometry3D Positions = "0,0,0 0,8,0 10,0,0 8,8,0" Normals = "0,0,1 0,0,1 0,0,1 0,0,1" TriangleIndices = "0,2,1 1,2,3"/> </GeometryModel3D.Geometry> <GeometryModel3D.Material> <DiffuseMaterial Brush = "Bisque" /> </GeometryModel3D.Material> </GeometryModel3D> </Model3DGroup> </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D> </Grid> </Window> |
وقتی کد بالا را کامپایل و اجرا می کنید ، یک شیء ۲D به صورت سه بعدی تولید می کند.
بیایید به مثال دیگری که یک شی سه بعدی را نشان می دهد نگاهی بیندازیم.
یک پروژه WPF جدید با نام WPF3DGraphics1 ایجاد کنید
کد XAML زیر یک شیء سه بعدی و یک نوار لغزنده ایجاد می کند. با کمک اسلایدر می توانید این شی ۳D را بچرخانید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <Window x:Class = "WPF3DGraphics1.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local = "clr-namespace:WPF3DGraphics1" mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "525"> <Grid> <Viewport3D Name="viewport3D1"> <Viewport3D.Camera> <PerspectiveCamera x:Name = "camMain" Position = "6 5 4" 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 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1" TriangleIndices = "2 3 1 3 1 0 7 1 3 7 5 1 6 5 7 6 4 5 6 2 0 2 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 = "Bisque"/> </DiffuseMaterial.Brush> </DiffuseMaterial> </GeometryModel3D.Material> </GeometryModel3D> </ModelVisual3D.Content> <ModelVisual3D.Transform> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D x:Name = "rotate" Axis = "1 2 1"/> </RotateTransform3D.Rotation> </RotateTransform3D> </ModelVisual3D.Transform> </ModelVisual3D> </Viewport3D> <Slider Height = "23" HorizontalAlignment = "Left" Margin = "145,271,0,0" Name = "slider1" VerticalAlignment = "Top" Width = "269" Maximum = "360" Value = "{Binding ElementName = rotate, Path=Angle}" /> </Grid> </Window> |
هنگامی که برنامه خود را اجرا کردید ، یک شیء سه بعدی و یک نوار لغزنده روی پنجره شما تولید می کند.
هنگامی که اسلایدر را می کشید ، شیء در پنجره شما می چرخد.
توصیه می کنیم کد فوق را اجرا کنید و شکل های هندسه ای سه بعدی بیش تری را امتحان کنید.
با ۳D Graphic یا گرافیک سه بعدی در WPF در این بخش از آموزش wpf آشنا شدیم. در بخش بعد به بررسی Multimedia یا چندرسانه ای می پردازیم. با وب سایت پی وی لرن همراه باشید.