TÌM HIỂU LẬP TRÌNH ĐỒ HỌA 3D TRONG WINDOWS PRESENTATION FOUNDATION

108 840 0
TÌM HIỂU LẬP TRÌNH ĐỒ HỌA 3D TRONG WINDOWS PRESENTATION FOUNDATION

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN KHÓA LUẬN TỐT NGHIỆP TÌM HIỂU LẬP TRÌNH ĐỒ HỌA 3D TRONG WINDOWS PRESENTATION FOUNDATION Giảng viên hướng dẫn: ThS.TRẦN MINH THÁI Sinh viên thực hiện: TRẦN THỊ DÂN MSSV: 3.07.01.488 Ngành: Công nghệ phần mềm Khóa 2007 – 2010 Tp Hồ Chí Minh, tháng 07 năm 2010 MỞ ĐẦU Ngày nay, công nghệ thông tin phát triển mạnh mẽ, ứng dụng đại, giao diện người dùng trực quan chiếm vị trí quan trọng Việc trình diễn thông tin, theo cách vào thời điểm đem lại giá trị kinh tế xã hội đáng kể Với ứng dụng thương mại, chẳng hạn ứng dụng bán hàng trực tuyến, việc cung cấp giao diện người dùng mạnh tạo nên khác biệt công ty với đối thủ cạnh tranh, góp phần làm tăng tăng doanh số giá trị thương hiệu hãng so với hãng khác Để có giao diện người dùng vậy, việc tích hợp đồ họa, media, văn thành phần trực quan khác thể thống đóng đóng vai trò mấu chốt WPF làm điều Điểm bật WPF hiển thị hình ảnh đồ họa 3D, WPF giúp cho đam mê đồ họa 3D mà tiếp cận công cụ phức tạp OpenGL hay DirectX WPF tích hợp sẵn DirectX giúp người lập trình phát triển ứng dụng 3D cách dễ dàng mà khôn phải quan tâm đến phức tạp DirectX WPF sản phẩm Microsoft, tổ chức nghiên cứu đông đảo đội ngũ kỹ thuật cao, WPF dần lang rộng khắp giới tương lai không xa WPF trở thành công nghệ phổ biến giới lập trình ứng dụng Xuất phát từ lý em nghiên cứu công nghệ WPF nhằm cung cấp cho người hiểu biết định công nghệ phát triển tương lai không xa Rất mong đóng góp ý kiến quý thầy cô để em có thêm kinh nghiệm ý tưởng hay công nghệ mà nghiên cứu LỜI CẢM ƠN Lời em xin bày tỏ lòng biết ơn chân thành đến quý Thầy Cô Khoa Công Nghệ Thông Tin, trường Cao Đẳng Công Nghệ Thông Tin Tp.Hô Chí Minh tận tình giảng dạy, hướng dẫn, giúp đỡ tạo điều kiện cho em suốt thời gian học tập trường Em xin chân thành cảm ơn thầy Trần Minh Thái – Người tận tình hướng dẫn, giúp đỡ em suốt thời gian thực luận văn Và xin chân thành cảm ơn gia đình động viên, ủng hộ vật chất lẫn tin thần suốt thời gian qua Em xin cảm ơn quan tâm, giúp đỡ ủng hộ anh chị, bạn bè trình thực khóa luận Cuối cùng, em xin chúc quý Thầy Cô trường Cao đẳng công nghệ thông tin Tp.HCM, Thầy Trần Minh Thái, lời chúc sức khỏe gặt hái nhiều thành công sống Tp.Hồ Chí Minh, tháng 07 năm 2010 NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Ngày … tháng … năm 2010 Ký tên NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Ngày … tháng … năm 2010 Ký tên MỤC LỤC MỞ ĐẦU PHẦN I: TỔNG QUAN VỀ WINDOWS PRESENTATION FOUNDATION Giới thiệu Sự đời Windows Presentation Foundation(WPF) Ứng dụng WPF Ƣu điểm bật WPF Bộ thƣ viện WPF 10 PHẦN II: GIỚI THIỆU VỀ 3D 11 CHƢƠNG 1: GIỚI THIỆU GÓC NHÌN, ÁNH SÁNG VÀ MÔ TẢ KHÔNG GIAN TỌA ĐỘ 14 Tổng quan 14 1.1 Tọa độ ba chiều 15 1.2 Điểm không gian 16 Góc nhìn (Camera) 18 Ánh sáng (Light) 24 3.1 DirectionalLight 25 3.2 PointLight 26 3.3 SpotLight 26 3.4 AmbientLight 27 Mô tả không gian tọa độ 27 Hình ảnh động 32 Phép biến đổi hình 36 2.1 Phép dịch chuyển (TranslateTranform3D) 38 2.2 Phép biến đổi kích thước (ScaleTransform3D) 42 2.3 2.4 Phép xoay (RotateTransform3D) 45 Phép biến đổi ma trận (MatrixTransform3) 57 CHƢƠNG 3: TÔ MÀU CHO HÌNH 3D 64 Sử dụng cọ vẽ Gradient 64 Sử dụng cọ vẽ Tile 70 2.1 ImageBrush 71 2.2 DrawingBrush 77 2.3 VisualBrush 85 CHƢƠNG 4: ỨNG DỤNG 92 Giới thiệu 92 Phân tích 92 Giao diện ứng dụng 93 Các dòng kiện 97 KẾT LUẬN 98 TÀI LIỆU THAM KHẢO 99 DANH MỤC CÁC HÌNH, BẢNG BIỂU VÀ SƠ ĐỒ Hình 1: Hình hộp có sử dụng Light 13 Hình 2: Hình hộp không sử dụng Light .13 Hình 1-1: Hình tròn 14 Hình 1-2: Hình bóng .14 Hình 1.1-1: Hệ trục tọa độ 15 Hình 2-1: Camera với góc nhìn 50mm 19 Hình 2-2: Camera với góc nhìn 100mm 19 Hình 2-3: Camera với góc nhìn 25mm 20 Hình 2-4: Camera với góc nhìn 45 độ 20 Hình 2-5: Hình hộp sử dụng PerspectiveCamera 22 Hình 2-6:Cách xác định OrthographicAerialView 23 Hình 2-7: Hình hộp sử dụng OrthographicCamera 24 Hình 3.1-1: Hình minh họa sử dụng DirectionalLight .25 Hình 3.2-1: Hình minh họa sử dụng PoinLight 26 Hình 3.3-1: Hình minh họa sử dụng SpotLight 27 Hình 3.4-1: Hình minh họa sử dụng AmbientLight 27 Hình 4-1: Hình ảnh tam giác mặt phẳng 28 Hình 4-2: Cách xác định đỉnh dựa hệ trục tọa độ Oxyz 29 Hình 4-3: Mặt trước hình vuông Hình 4-4: Mặt sau hình vuông 30 Bảng 3: Các thuộc tính biến đổi 37 Hình 2.1-1: Cách tham chiếu hệ trục tọa độ để vẽ vật thể .38 Hình 2.1-2: Hình ảnh vẽ cách nói đoạn thẳng 39 Hình 2.3.1-1: Vật thể xoay với góc 30 độ 47 Hình 2.3.1-2: Vật thể xoay với góc -30 độ 47 Hình 2.3.2-1: Các điểm x, y hệ trục tọa độ Oxy .52 Hình 2.3.2-2: Góc đường thẳng điểm x,y hệ trục Oxy 52 Hình 2.3.2-3: Cách khác để xác định điểm x,y .53 Hình 2.3.2-4: Số phức hệ trục tọa độ số phức 53 Hình 2.3.2-5: Số phức với góc θ 54 Hình 1-1: Tọa độ dùng xác định cọ vẽ .66 Hình 1-2: Chuyển đổi cọ vẽ tam giác chiều sang tam giác chiều 67 Hình 1-3: Vật thể sử dụng cọ vẽ Gradient 70 Hình 2.1-1: Cọ vẽ sử dụng ImageBrush 74 Hình 2.1-2: Hình ảnh sau thay đổi giá trị TextureCoordinates 75 Hình 2.1-3: Hình ảnh sử dụng ViewboxUnit 76 Hình 2.1-4: Hình ảnh sau có sử dung thêm thuộc tính TileMode 77 Hình 2.1-5: Hình ảnh sử dụng thuộc tính TileMode với kiểu FlipXY 77 Hình 2.2-1: Sử dụng DrawingBrush tô theo kiểu hình ellipse lấy từ resource .83 Hình 2.2-2: Sử dụng DrawingBrush tô theo kiểu hình chữ nhật lấy từ resource .84 Hình 2.2-3: Sử dụng DrawingBrush tô theo kiểu sọc chéo lấy từ windowns .84 Hình 2.3-1: Khối lập phương tô khối lập phương nhỏ .91 Hình 3: Giao diện .93 Bảng 1: Thành phần giao diện theo yêu cầu công nghệ chuyên biệt cần thiết để tạo chúng 10 Bảng 2: Các thuộc tính Light 25 Bảng 3: Các thuộc tính biến đổi 37 Bảng 4: Bảng mô tả thành phần giao diện 96 Sơ đồ 1: Cấu trúc đơn giản để tạo hình hộp 3D 11 Sơ đồ 2: Lớp lớp Media 17 Từ gốc Từ viết tắt Windows Presentation Foundation WPF Extention MakeUp Language XAML Đồ họa ba chiều Windows Presentation Foundation WPF 3D User Interface UI Bảng: Danh sách từ viết tắt MỞ ĐẦU  Công nghệ Windows Presentation Foundation Khi khoảng cách công nghệ nhà sản xuất không xa, tính phần mềm không nhiều khác biệt lúc giao diện lên giá trị cạnh tranh cho sản phẩm phần mềm Dù web phần mềm ứng dụng giao diện hấp dẫn, thân thiện điểm nhấn cho sản phẩm Windows Presentation Foundation (WPF) công nghệ với ưu điểm bật cho việc thiết kế lập trình giao diện Với công nghệ từ trước năm 2006, việc biểu diễn hiệu tất tính hoạt động ứng dụng Window riêng biệt chạy desktop, đồng thời truy cập thông tin thông qua trình duyệt đòi hỏi xây dựng hai phiên độc lập sử dụng hai công nghệ khác Và việc hợp người thiết kế người lập trình gặp khó khăn Windows Presentation Foundation đời giải vấn đề mà có ưu điểm đồ họa, âm thanh, video… Với việc sử dụng ngôn ngữ XAML(Extention MakeUp Language) giúp cho việc quản lý tập tin dễ dàng Đặc biệt, điểm bật WPF đồ họa ba chiều Khó khăn cho lập trình viên lập trình với DirectX card đồ họa mà nhà cung cấp hỗ trợ DirectX Và WPF có khả thực thi công việc dựa tính toán phần mềm thay đặc điểm mà nhà cung cấp phần cứng tạo WPF xác đính hỗ trợ phần cứng với hiệu ứng đồ họa tạo Và bạn không cần phải bận tâm điều  Lịch sử đời tƣơng lai WPF  Lịch sử đời WPF công nghệ NET 2008 (Framework 3.0 hay 3.5) Microsoft, hệ thống API hỗ trợ việc xây dựng giao diện đồ hoạ Windows WPF giới thiệu lần với NET 3.0 vào ngày 21 tháng 11 năm 2006 Và phát hình phiên thức vào ngày 30 tháng năm 2007 Trang M 50 M 75 L 100 L 100 50 25"> Điều đường thẳng vẽ từ (0, 75) đến (25, 100), 2.3 VisualBrush ImageBrush , DrawingBrush , VisualBrush có chồng chéo chức năng: Bạn thiết lập thuộc tính ImageSource ImageBrush cho đối tượng DrawingImage, mà dựa đối tượng Drawing Tương tự vậy, bạn thiết lập thuộc tính Drawing DrawingBrush cho đối tượng ImageDrawing , mà có thuộc tính ImageSource mà bạn thiết lập bitmap VisualBrush vẽ vào yếu tố Image (để hiển thị bitmap) lớp lớp Shapes (để hiển thị vẽ vector) VisualBrush hữu ích cho vài ứng dụng mà xử lý với ImageBrush DrawingBrush Áp dụng cọ vẽ vào chuỗi văn cách dễ dàng bạn thiết lập thuộc tính Visual VisualBrush đến đối tượng loại TextBlock Nếu bạn cần nhiều dòng văn brush với phông chữ màu sắc khác nhau, bạn kết hợp nhiều yếu tố TextBlock , yếu tố bất kỳ, yếu tố Panel có sẵn, chẳng hạn StackPanel , Grid , Canvas Lớp Panel có nguồn gốc từ FrameworkElement , đối tượng loại Visual Đây DiffuseMaterial dựa VisualBrush định nghĩa tài nguyên sử dụng cho thuộc tính Material BackMaterial đối tượng GeometryModel3D Hello3D.xaml Trang 85 Trang 86 Giả sử bạn muốn hiển thị khối lập phương với sáu màu sắc khác sáu bên Bạn làm điều cách chia tách khối lập phương lên thành sáu đối tượng khác GeometryModel3D , đối tượng riêng biệt Material màu sắc khác Ngoài ra, bạn sử dụng GeometryModel3D tạo DrawingBrush với sáu đối tượng Drawing khác cho sáu bên khác Sau đó, bạn tham chiếu phần khác mà Drawing sử dụng sưu tập TextureCoordinates Chương trình sau tương tự cách tiếp cận thứ hai khác sử dụng bảng UniformGrid chứa sáu hàng Mỗi cột số hàng có chứa đối tượng Rectangle cọ vẽ fill khác Hầu hết tập tin tương tự PhotoOnACube1.xaml PaneledCube.xaml • • • Trang 87 Một loại khác có nguồn gốc từ Visual Viewport3D , có nghĩa bạn tạo cọ vẽ dựa vật thể 3D Đó tiền đề đằng sau chương trình sau Một MeshGeometry3D Viewport3D hoàn chỉnh khai báo resouce Một tham chiếu Viewport3D từ nguồn MeshGeometry3D để hiển thị khối lập phương 3DCubeBrush.xaml Trang 89 Sự khác biệt đối tượng Material dựa VisualBrush cách tham chiếu đến tài nguyên Viewport3D , mà khối lập phương dường tô hình khối 3D thu nhỏ: Trang 90 Hình 2.3-1: Khối lập phương tô khối lập phương nhỏ Mỗi cọ vẽ bao gồm mặt khối lập phương, khối chắn trông giống xây dựng từ 25 khối nhỏ bên Các tên miền namespace System.Windows.Media.Media3D định nghĩa lớp Viewport3DVisual kế thừa trực tiếp từ Visual Đây lớp sử dụng chủ yếu WPF để thu hẹp khoảng cách WPF 3D hình ảnh hai chiều Nhưng bạn sử dụng xác định VisualBrush Trong 3DCubeBrush.xaml, thay đổi tài nguyên Viewport3D nguồn tài nguyên Viewport3DVisual cách thay thuộc tính Width Height với thuộc tính Viewport : Trang 91 Chƣơng 4: ỨNG DỤNG Giới thiệu Sau tìm hiểu đồ họa 3D Windows Presentation Foudation, em t ạo demo sử dụng phép biến đổi phép xoay vào demo Chương trình cho phép biến đổi tĩnh hoăc biến đổi động Phân tích Mục đích ứng dụng tạo nên biến đổi, cho phép người sử dụng thay đổi thông số nhằm tạo biến đổi tùy chọn thực biến đổi động Các yêu cầu ứng dụng: + Các textbox để thay đổi hiển thị thông số cho phép biến đổi ma trận + Các textbox để thay đổi hiển thị thông phép xoay theo trục góc + Các textbox để thay đổi hiển thị thông số cho phép xoay phép toán Quaternion + Các textbox để thay đổi hiển thị thông số cho phép dịch chuyển theo trục + Các textbox để thay đổi hiển thị thông số biến đổi kích thước theo trục + Các button để thực biến đổi động: Animation, Xoay, Dịch chuyển Trang 92 Giao diện ứng dụng Hình 3: Giao diện Các thành phần ứng dụng: STT Tên Kiểu control Ý nghĩa lbThongSoMaTran Label Tiêu đề tên loại biến đổi ma trận txtM11 Texbox Hiển thị thông số M11 ma trận txtM12 Textbox Hiển thị thông số M12 ma trận txtM13 Textbox Hiển thị thông số M13 ma trận txtM14 Textbox Hiển thị thông số M14 ma trận txtM21 Textbox Hiển thị thông số M21 ma trận txtM22 Textbox Hiển thị thông số M22 ma trận txtM23 Textbox Hiển thị thông số M23 ma trận txtM24 Textbox Hiển thị thông số M24 ma trận txtM31 Textbox Hiển thị thông số M31 ma trận 10 txtM32 Textbox Hiển thị thông số M32 ma trận Trang 93 11 txtM33 Textbox Hiển thị thông số M33 ma trận 12 txtM34 Textbox Hiển thị thông số M34 ma trận 13 txtOffsectX Textbox Hiển thị thông số OffsectZ ma trận 14 txtOffsectY Textbox Hiển thị thông số OffsectY ma trận 15 txtOffsectZ Textbox Hiển thị thông số OffsectZ ma trận 16 txtM44 Textbox Hiển thị thông số M44 ma trận 17 cmdCapNhatMaTrix Button Cập nhật lại giá trị ma trận 18 lbThongSoXoayTrucGoc Label Tiêu đề loại xoay theo trục góc 19 lbVector3DX Label Tiêu đề tên giá trị trục X 20 lbVector3DY Label Tiêu đề tên giá trị trục Y 21 lbVector3DZ Label Tiêu đề tên giá trị trục Z 22 lbAngle Label Tiêu đề tên giá trị góc xoay 23 txtVector3DX Textbox Hiển thị giá trục trục X 24 txtVector3DY Textbox Hiển thị giá trục trục Y 25 txtVector3DZ Textbox Hiển thị giá trục trục Z 26 txtAngle Textbox Hiển thị giá trục góc xoay 27 cmdCapNhatRotation Button Cập nhật lại thông số phép xoay trục góc 28 lbThongSoXoayQuaternion Lable Tiêu đề tên loại Phép xoay phép toán Quaternion 28 LbQuaternionW Label Tiêu đề tên loại giá trị góc xoay 30 LbQuaternionX Label Tiêu đề tên loại giá trị trục X 31 LbQuaternionY Label Tiêu đề tên loại giá trị trục Y 32 LbQuaternionZ Label Tiêu đề tên loại giá trị trục Z 33 txtQuaternionW Textbox Hiển thị giá trị góc xoay 34 txtQuaternionX Textbox Hiển thị giá trị trục X 35 txtQuaternionY Textbox Hiển thị giá trị trục Y 36 txtQuaternionZ Textbox Hiển thị giá trị trục Z Trang 94 37 cmdCapNhatQuaternio n Button Cập nhật lại thông số phép xoay phép toán Quaternion 38 LbThongSoDichChuyen Lable Tiêu đề tên loại phép dịch chuyển 39 LbOffsectX Label Tiêu đề tên loại giá trị Offsect trục X 40 LbOffsectY Label Tiêu đề tên loại giá trị Offsect trục Y 41 LbOffsectZ Label Tiêu đề tên loại giá trị Offsect trục Z 42 txtOffsectX Textbox Tiêu đề tên loại giá trị Offsect trục X 42 txtOffsectY Textbox Tiêu đề tên loại giá trị Offsect trục Y 44 txtOffsectZ Textbox Tiêu đề tên loại giá trị Offsect trục Y 45 cmdCapNhatCacOffsect Button Cập nhật lại thông số phép dịch chuyển 46 lbThongSoBienDoiKichThuoc Lable Tiêu đề tên loại phép biến đổi kích thước 47 lbScaleX Tiêu đề tên phép biến đổi kích thước Label trục X 48 lbScaleY Label Tiêu đề tên phép biến đổi kích thước trục Y 49 lbScaleZ Label Tiêu đề tên phép biến đổi kích thước trục Z 50 txtScaleX Textbox Hiển thị giá trị biến đổi kích thước trục X 51 txtScaleY Textbox Hiển thị giá trị biến đổi kích thước trục Y Trang 95 52 txtScaleZ Textbox Hiển thị giá trị biến đổi kích thước trục Z 53 cmdCapNhatCacScale Button Cập nhật lại thông số phép biến đổi kích thước 54 cmdAnimation Button Thực phép tạo hình ảnh động 55 cmdXoay Button Thực phép xoay theo trục X, Y, Z góc 56 cmdDichChuyen Button Thực phép dịch chuyển theo trục X 57 cmdReset Button Hiển thị hình lại hình ảnh ban đầu 58 lbHienThi Label Hiển thị giá trị nhấn vào nút biến đổi: Animation, Xoay, Dịch chuyển 59 cameraX ScrollBar Xoay camera theo trục X từ -360 đến 360 độ 60 cameraY ScrollBar Xoay camera theo trục Y từ -360 đến 360 độ 61 cameraZ ScrollBar Xoay camera theo trục Z từ -360 đến 360 độ 62 direclightX ScrollBar Xoay ánh sáng theo trục X từ -360 đến 360 63 direclightY ScrollBar Xoay ánh sáng theo trục Y từ -360 đến 360 64 direclightZ ScrollBar Xoay ánh sáng theo trục Z từ -360 đến 360 65 cmdThoat Button Thoát khỏi chương trình Bảng 4: Bảng mô tả thành phần giao diện Trang 96 Các dòng kiện  Khi nhấn vào nút “Cập nhật lại ma trận” chương trình lấy giá trị nhập vào từ ma trận chuyển đổi sang giá trị phép xoay Sau cho hiển thị giá trị lên textbox thông số phép xoay trục góc textbox phép xoay phép toán Quaternion Và cho biến đổi theo thông số vừa cập nhật  Khi nhấn vào nút “Cập nhật lại Trục/Góc” chương trình lấy giá trị nhập vào từ textbox phép xoay trục góc chuyển đổi sang giá trị phép xoay quaternion thông số ma trận Sau cho hiển thị giá trị lên textbox thông phép xoay phép toán Quaternion textbox cho thông số ma trận Và cho biến đổi theo thông số vừa cập nhật  Khi nhấn vào nút “Cập nhật lại giá trị” chương trình lấy giá trị nhập vào từ textbox phép xoay trục góc chuyển đổi sang giá trị phép xoay trục góc thông số ma trận Sau cho hiển thị giá trị lên textbox c thông phép xoay trục góc textbox cho thông số ma trận Và cho biến đổi theo thông số vừa cập nhật  Khi nhấn vào nút “Cập nhật lại thông số” chương trình dịch chuyển theo thông số vừa cập nhật  Khi nhấn vào nút “Cập nhật lại tỉ lệ” chương trình biến đổi theo tỉ lệ vừa cập nhật  Khi nhấn vào nút “Animation” chương trình cho hình ảnh động thuộc tính FieldOfViewProperty Camera từ -90 độ đến 90 độ  Khi nhấn vào nút “Xoay”, chương trình xoay từ (1, 1, 0) đến (0.3, 0.3, 0) góc từ 180 độ đến 180 độ  Khi nhấn vào nút “Dịch chuyển”, chương trình cho hình ảnh dịch chuyển theo trục X với giá trị từ -2 đến  Khi nhấn vào nút “Reset”, hình ảnh hiển thị trở lúc ban đầu  Khi nhấn vào nút “Thoát” chương trình đóng lại Trang 97 KẾT LUẬN Về mặt lý thuyết Em tìm hiểu vấn đề sau:  Đặc điểm điểm mạnh công nghệ WPF số vấn đề cần thiết để làm quen với công nghệ  Cách thức tạo hình ảnh ba chiều  Tìm hiểu hầu hết đối tượng đồ họa ba chiều Về mặt ứng dụng Hoàn thành số yêu cầu sau:  Tạo hình 3D  Sử dụng hầu hết biến đổi, hoạt ảnh  Sử dụng cọ vẽ Hƣớng phát triển  Đi sâu vào tìm hiểu thuật toán hình học mesh cách sử dụng biến đổi ma trận phép toán quaternion  Tạo hình vòng xuyến, hình đa giác Trang 98 TÀI LIỆU THAM KHẢO Tài liệu tiếng anh: Anna Hsu “UniCAD – Practical WPF Graphics Programming Nov 2007” Jack Xu, Ph.D 2007 Charles Petzold “3D Programming for Windows Presentation Foundation”, December 2006 - June 2007 Website http://msdn.microsoft.com/en-us/library/aa663364.aspx http://CodePlex.com/Wiki/View.aspx?ProjectName=3DTools Trang 99 [...]... trở thành một trong những công nghệ phổ biến nhất trong thế giới lập trình ứng dụng Trên cơ sở đó em quyết định tìm hiểu công nghệ WPF và đi sâu vào nghiên cứu đồ họa 3D với việc phát triển một ứng dụng mà sử dụng hầu hết các ứng dụng về đồ họa 3 chiều mà WPF đã hỗ trợ để cung cấp cho mọi người một sự hiểu biết nhất định về đồ họa 3D với một công nghệ WPF mà được dự đoán là sẽ phát triển trong một tương... GIỚI THIỆU VỀ 3D Microsoft Windows Vista là phiên bản đầu tiên của Windows có tích hợp sẵn đồ họa 3D, và giờ đây 3D được tích hợp với Microsoft Windows Presentation Foudation(WPF), giao diện lập trình ứng dụng client(API) được giới thiệu trong năm 2006 như một phần của Microsoft NET Framework 3.0 mặc dù NET 3.0 được tích hợp trong Windows Vista, bạn cũng có thể cài đặt nó dưới Microsoft Windows XP với... và lập trình là một trong những bước tiến mà WPF mang lại Các đối tượng đồ họa trong WPF được thể hiện thông qua một loại mã đơn giản là XAML (Extention MakeUp Language) Đó là một loại mã đơn giản gần giống như HTML dùng để t ạo và tinh chỉnh các đối tượng đồ họa Đó là một bước tiến lớn trong quá trình thiết kế và lập trình giao diện XAML cho phép người thiết kế có thể tạo ra các giao diện độc lập. .. viện đồ họa ba chiều trong Windows Presentation Foundation (viết tắt là WPF 3D) thực hiện tất cả các toán học cần thiết để thực hiện một hình ảnh ba chiều lên một bề mặt hai chiều như một màn hình máy tính hoặc máy in Người lập trình có thể chọn kiểu chiếu mà mình muốn bằng cách lựa chọn một trong các lớp rút ra từ các lớp Camera được định nghĩa trong NET với namespace System .Windows. Media.Media3D ... giao diện người dùng trên cả Windows và trình duyệt Web WPF là một trong 3 thành phần mới của NET Framework 3.0 (Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation) Có thể xem sự ra đời của WPF là một cứu cánh cho những nhà phát triển đang phải thực hiện công đoạn code hết sức tỉ mỉ để tạo giao diện WPF thay đổi những quan niệm lập trình giao diện cũ, xóa đi... công nghệ WPF cũng như việc sử dụng dồ họa ba chiều trong WPF + Tìm hiểu các ứng dụng về 3D để nắm được cách thức hoạt động và những yêu cầu cần thiết đối với những ứng dụng  Về mặt ứng dụng + Xây dụng một mô hình 3D + Sử dụng các hiệu ứng các biến đổi trên mô hình Trang 3 Phần I: TỔNG QUAN VỀ WINDOWS PRESENTATION FOUNDATION 1 Giới thiệu Windows Presentation Foundation (WPF) còn được gọi dưới tên... thiết bị thông qua trình duyệt web Hơn thế nữa, nó còn hổ trợ các nhiều control, thiết kế và phát triển giao diện thân thiện, trực quan bên ngoài của chương trình windows Nó hướng đến sự hợp nhất của 1 ứng dụng dịch vụ: giao diện người dùng, đồ họa 2D và 3D, các văn bản cố định và động, các mô hình đồ họa nâng cao, đồ họa vector, hình ảnh động, Data Binding, Audio và Video Mặc dù Windows Form sẽ tiếp... hình ảnh 3D phức tạp hay đơn giản cho là một button, hiển thị text thì nó cũng thông qua DirectX Điều đó đồng nghĩa với việc những ứng dụng thông thường cũng có thể c ó những hiệu ứng đồ họa phức tạp, ví dụ như những hiệu ứng trong suốt, bóng đổ Và cũng nhờ thế mà có thể tăng tốc xử lý đồ họa thông qua sự tương tác giữa DirectX và c ard đồ họa Cấu trúc đơn giản để tạo một hình ảnh 3D Hình Hộp 3D MeshGeometry3D... năng lập trình giao diện trong cùng một công nghệ đơn nhất Điều này giúp cho quá trình t ạo giao diện người dùng trở nên dễ dàng hơn đáng kể Windows Forms Giao diện đồ họa (form và các control) On-screen văn bản Fixed-format văn bản Hình ảnh Video và âm thanh Đồ họa 2 chiều Đồ họa 3 chiều PDF Windows Forms/ GDI+ Windows Direct3D Media Player WPF x x x x x x x x x x x x x x Bảng 1: Thành phần giao diện... Point3D Ví dụ: Point3DCollection ptcoll = new Point3DCollection (); ptcoll.Add (New Point3D (2.55, 1.5, -2)); ptcoll.Add (New Point3D (0, 2.5, 7)); ptcoll.Add (New Point3D (1, 1, -3)); Bên cạnh Point3DCollection , còn có Int32Collection tương tự (được định nghĩa trong không gian tên System .Windows. Media ) Cả hai Point3DCollection và Int32Collection bắt nguồn từ một lớp có tên là Freezable System .Windows. Media ... Phần II: GIỚI THIỆU VỀ 3D Microsoft Windows Vista phiên Windows có tích hợp sẵn đồ họa 3D, 3D tích hợp với Microsoft Windows Presentation Foudation(WPF), giao diện lập trình ứng dụng client(API)... mobiles với mô hình chương trình tương tự ứng dụng NET Tính 3D không hổ trợ, nhiên XPS sở đồ họa vector tích hợp Sự đời Windows Presentation Foundation( WPF) Windows Presentation Foundation phát hành... công nghệ phổ biến giới lập trình ứng dụng Trên sở em định tìm hiểu công nghệ WPF sâu vào nghiên cứu đồ họa 3D với việc phát triển ứng dụng mà sử dụng hầu hết ứng dụng đồ họa chiều mà WPF hỗ trợ

Ngày đăng: 04/04/2016, 00:52

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan