Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,54 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN PHẦN MỀM XỬ LÝ ẢNH TRÊN DI ĐỘNG VỚI DỮ LIỆU 3D Sinh viên thực : Nguyễn Văn Bình Lớp CNTT1 – K55 Giáo viên hướng dẫn: ThS Lê Tấn Hùng Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 HÀ NỘI 5-2015 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: Nguyễn Văn Bình Điện thoại liên lạc: 01656.888.857 Email: vanbinhhut@gmail.com Lớp: CNTT1-K55 Hệ đào tạo:Đại học Chính quy Đồ án tốt nghiệp thực tại: Viện Công nghệ Thông tin Truyền thông, Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 01/02/2015 đến 05/05/2015 Mục đích nội dung ĐATN - Tìm hiểu đồ họa 3D, phép biến đổi hình đồ họa 3D - Tìm hiểu liệu 3D, loại định dạng, thông số định dạng liệu vtk - Tìm hiểu thư viện The Visualization Toolkit (VTK) - Tìm hiểu thư viện VES di động - Tìm hiểu thư viện lập trình Open GL ES Android - Tìm hiểu lập trình Android với NDK - Xây dựng ứng dụng chạy hệ điều hành Android cho phép hiển thị chỉnh sửa liệu ảnh 3D Các nhiệm vụ cụ thể ĐATN Cài đặt thư viện VES hệ điều hành Ubuntu môi trường Android NDK Phân tích thiết kế chương trình Xây dựng ứng dụng Xử lý ảnh di động với liệu 3D với yêu cầu sau: o Từ đầu vào file liệu với định dạng vtk, ứng dụng cho phép hiển thị hình ảnh với liệu lên thiết bị di động chạy hệ điều hành Android o Cho phép người dùng xoay,phóng to,thu nhỏ,thay đổi góc nhìn o Cho phép người dùng xem liệu với nhiều thông tin khác xem dạng bề mặt, dạng điểm, dạng liên kết điểm, dạng bề mặt với liên kết o Cho phép người dùng chỉnh sửa màu sắc, tô vùng tơ tồn hình ảnh 3D o Cho phép thay đổi hình dáng vật thể o Cho phép lưu lại liệu chỉnh sửa Lời cam đoan sinh viên: Tơi Nguyễn Văn Bình cam kết ĐATN cơng trình nghiên cứu thân hướng dẫn ThS Lê Tấn Hùng Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 Các kết nêu ĐATN trung thực, chép tồn văn cơng trình khác Hà Nội, ngày tháng năm Tác giả ĐATN Nguyễn Văn Bình Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày tháng năm Giáo viên hướng dẫn ThS Lê Tấn Hùng Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Các nhiệm vụ đề đồ án tốt nghiệp Tìm hiểu đồ họa 3D, Open GL ES, định dạng liệu 3D Xây dựng ứng dụng cho hệ điều hành Android cho phép hiển thị xử lý ảnh 3D Môi trường thực đồ án tốt nghiệp: Bộ môn Công nghệ phần mềm, Viện Công nghệ Thông tin Truyền thông, trường Đại Học Bách Khoa Hà Nội Trung tâm nghiên cứu phát triển Samsung (Samsung Mobile R&D Center) Các đề tài liên quan: Bố cục đồ án gồm có ba phần: mở đầu, nội dung kết luận Phần mở đầu: Giới thiệu tóm tắt nhiệm vụ, đề tài, mục tiêu phạm vi thực Đồ án Phần nội dung: Gồm ba phần: Đặt vấn đề định hướng giải pháp Các kiến thức đồ họa 3D, giới thiệu tổng quan thư viện VTK, VES lập trình Android với NDK Phân tích u cầu thiết kế ứng dụng xử lý ảnh di động với liệu 3D Phần kết luận: nhận xét đánh kết đồ án, hướng phát triển tiếp đồ án Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 ABSTRACT OF THESIS The tasks set out in the scheme of graduation Learn about 3D graphics, Open GL ES, 3D data format Build app for the Android operating system that enabling display and processing 3D image Execution Environment thesis: School of Infomation and Communication Technology (SoICT), Hanoi University of Science and Technology (HUST) Samsung Mobile Research & Development Center Project report includes three parts: introduction, content and conclusion Preamble: Brief tasks, topics, objectives and scope of thesis Content: Consists of three sub parts: Set problem and solution oriented The knowledge of 3D graphics, an overview of the library VTK, VES and programmers with Android NDK Requirements analysis and design applications on mobile image processing with 3D data Implementing thesis Conclusion: Review type of project results, further development of the scheme Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 LỜI CẢM ƠN Lời em xin gửi lời chân thành cám ơn tới thầy cô trường Đại Học Bách Khoa Hà Nội thầy cô Viện Công nghệ Thông tin Truyền thông truyền dạy cho em kiến thức bổ ích suốt năm năm học Em xin gửi lời cám ơn chân thành đến ThS Lê Tấn Hùng, người trực tiếp hướng dẫn, dạy đóng góp nhiều ý tưởng giúp em hồn thành đồ án Em xin gửi lời cám ơn trung tâm nghiên cứu phát triển Samsung, gia đình thứ hai em, tạo điều kiện thuận lợi môi trường bổ ích cho em thực tập để phát huy đam mê mình, chia sẻ cho em nhiều kinh nghiệm, kiến thức quý báu trình làm việc Em xin cảm ơn anh Lê Trí Dũng, Vũ Ngọc Trọng, Bùi Thành Luân hướng dẫn cho em nhiệt tình trình thực đồ án Samsung Cuối em xin gửi lời cảm ơn tới gia đình, bạn bè ln giúp đỡ, động viên, trợ giúp em suốt trình học tập nghiên cứu Hà Nội ngày tháng năm Nguyễn Văn Bình Lớp CNTT1 – K55 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP ABSTRACT OF THESIS LỜI CẢM ƠN .6 MỤC LỤC DANH MỤC HÌNH ẢNH DANG MỤC BẢNG BIỂU 10 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 11 NỘI DUNG .12 A ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP .12 Đặt vấn đề 12 Các vấn đề định hướng giải pháp 13 Cơ sở lý thuyết công cụ sử dụng 14 3.1 Đồ họa máy tính 14 3.1.1 Các kỹ thuật đồ họa 14 3.1.2 Hệ tọa độ thực hệ tọa độ thiết bị .15 3.2 Android NDK 16 3.3 Thư viện VTK 17 3.4 Thư viện VES 19 3.5 Định dạng File VTK 22 B XÂY DỰNG VÀ ĐÁNH GIÁ CHƯƠNG TRÌNH 28 Phân tích thiết kế chương trình 28 1.1 Phân tích đặc tả yêu cầu 28 1.1.1 Use Case tổng quan 29 1.1.2 Đặc tả chức view 30 1.1.3 Đặc tả chức zoom in 31 1.1.4 Đặc tả chức zoom out 32 1.1.5 Đặc tả chức rotate 33 1.1.6 Đặc tả chức change view mode 34 1.1.7 Đặc tả chức 3D mode 35 1.1.8 Đặc tả chức 2D mode 36 1.1.9 Đặc tả chức change view mode 37 1.1.10 Đặc tả chức fill area 38 1.1.11 Đặc tả chức fill all .39 1.1.12 Đặc tả chức fill color continuously 40 1.1.13 Đặc tả chức change surface continuously 42 1.1.14 Đặc tả chức undo .43 1.1.15 Đặc tả chức redo 44 1.1.16 Đặc tả chức save file 45 1.2 Giải thuật giải toán .46 1.2.1 Áp dụng Camera Open GL 46 1.2.2 Giải pháp xác định đối tượng .48 1.2.3 Giải pháp tô màu 48 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 1.2.4 Giải pháp thay đổi tọa độ điểm 51 1.2.5 Giải pháp lưu ảnh 52 1.3 Thiết kế kiến trúc chương trình 54 1.4 Thiết kế lớp 56 1.4.1 Thiết kế lớp tầng Android App .56 1.4.2 Thiết kế lớp tầng My Library 57 Cách cài đặt kết thực nghiệm 61 2.1 Cài đặt môi trường .61 2.2 Kết thực nghiệm 62 Đánh giá ưu, nhược điểm 66 3.1 Ưu điểm .66 3.2 Nhược điểm 66 C KẾT LUẬN 67 TÀI LIỆU THAM KHẢO 68 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 DANH MỤC HÌNH ẢNH Hình 1: Kỹ thuật đồ họa vector 15 Hình 2: VTK Visualization Pipeline 18 Hình 3: Kiến trúc VES 20 Hình 4: Các thành phần cấu thành thư viện VES 20 Hình 5: Cây thừa kế lớp VES Scene Graph 21 Hình 6: Rendering Model VES 21 Hình 7: Open GL ES 2.0 Programmable PipeLine 22 Hình 8: Biểu đồ Use Case tổng quan 29 Hình 9: Biểu đồ hoạt động chức View 30 Hình 10: Biểu đồ hoạt động chức Zoom In 31 Hình 11: Biểu đồ hoạt động chức Zoom Out 32 Hình 12: Biểu đồ hoạt động chức Rotate 33 Hình 13: Biểu đồ hoạt động chức Change View Mode 34 Hình 14: Biểu đồ hoạt động chức 3D Mode 35 Hình 15: Biểu đồ hoạt động chức 2D Mode 36 Hình 16: Biểu đồ hoạt động chức Change View Mode 37 Hình 17: Biểu đồ hoạt động chức Fill Area .38 Hình 18: Biểu đồ hoạt động chức Fill All 39 Hình 19: Biểu đồ hoạt động chức Fill Color Continously .40 Hình 20: Biểu đồ hoạt động chức Change Surface 41 Hình 21: Biểu đồ hoạt động chức Change Surface Continuously 42 Hình 22: Biểu đồ hoạt động chức Undo 43 Hình 23: Biểu đồ hoạt động chức Redo 44 Hình 24: Biểu đồ hoạt động chức Save File 45 Hình 25: Tiến trình từ điểm khơng gian đến pixel hình 46 Hình 26: Các thành phần Camera 47 Hình 27: Mơ tả thuật toán Ray Picking .48 Hình 28: Ảnh liệu 3D với màu lưu theo điểm .49 Hình 29: Điểm chạm vật tương ứng điểm chạm hình 49 Hình 30: Các điểm lân cận điểm chạm .51 Hình 31: Màu thay đổi điểm bị tác động 51 Hình 32: Cấu trúc chuẩn file liệu vtk .53 Hình 33 : Kiến trúc chương trình 54 Hình 34 : Biểu đồ lớp tầng My Library 57 Hình 35 : Giao diện menu ứng dụng 62 Hình 36 : Giao diện mở file thay đổi chế độ view .63 Hình 37 : Chế độ view theo khung view theo khung bề mặt 63 Hình 38 : Chọn màu để tô ảnh sau tô màu 64 Hình 39 : Ảnh trước sau làm méo 64 Hình 40 : Chức chọn khung nhìn .65 Hình 41 : Hình sau Fill All 65 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 DANG MỤC BẢNG BIỂU Bảng 1: So sánh đồ họa vector đồ họa điểm 15 Bảng 2: Đặc tả chức View 30 Bảng 3: Đặc tả chức zoom in 31 Bảng 4: Đặc tả chức Zoom Out 32 Bảng 5: Đặc tả chức Rotate 33 Bảng 6: Đặc tả chức Change view mode 34 Bảng 7: Đặc tả chức 3D Mode 35 Bảng 8: Đặc tả chức 3D Mode 36 Bảng 9: Đặc tả chức Change View Mode 37 Bảng 10: Đặc tả chức Fill Area 38 Bảng 11: Đặc tả chức Fill All 39 Bảng 12: Đặc tả chức Fill Color Continously 40 Bảng 13: Đặc tả chức Change Surface .41 Bảng 14: Đặc tả chức change surface continuously 42 Bảng 15: Đặc tả chức Undo .43 Bảng 16: Đặc tả chức Redo 44 Bảng 17: Đặc tả chức Save File .45 Bảng 18 : Bảng mô tả lớp tầng My Library 61 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 10 1.3 Thiết kế kiến trúc chương trình Chương trình sử dụng kiến trúc Android NDK để vừa sử dụng chương trình Android viết Java vừa sử dụng để giao tiếp với code chương trình Native dạng C++ Đối với hàm xử lý tính tốn với liệu lớn việc xử lý code native cho hiệu xử lý cao viết ngôn ngữ Java Do ngôn ngữ Java phải xử lý thông qua máy ảo Java Kiến trúc chương trình gồm phần sau : Android App Write With Java Code Call JNI VES Library VTK Library Returnn Call Returnn Call Native.Cpp My Library Returnn Hình 33 : Kiến trúc chương trình Trong : - Android App write with Java Code : Là tầng nhất, tầng có nhiệm vụ nhận điều hướng kiện chương trình Chứa giao diện đồ họa để người dùng tương tác với ứng dụng - JNI : Java Native Interface phần tảng Java, interface trung gian cho phép kết nối ứng dụng Java với ứng dụng thư viện viết ngôn ngữ khác (C/C++) Ở chương trình sử dụng jni để giao tiếp xuống tầng thấp lớp Native.cpp Hoạt động JNI mô tả sau: o Các phương thức JNI đánh dấu từ khóa native.Các phương thức viết C++ biên dịch thư viện liên kết động so Thư viện liên kết động Load lên chương trình Java lời gọi System.loadLibrary( ); o Khi chương trình Java có lời gọi tới hàm native, máy ảo Java tìm kiếm thư viện động xem hàm cài đặt chưa, sau đối tượng Java chuyển thành C++ để thực lời gọi tới C++ Trong C++ cung cấp thư viện cho phép giao tiếp tới máy ảo chương trình Java o Quy trình xây dựng chương trình có sử dụng JNI sau: Khai báo phương thức native lớp Java Khai báo cài đặt phương Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 54 - - thức C (Nếu C++ phải sử dụng extern “C” để tránh sửa tên C++).n Quy tắc đặt tên hàm sau: tengoi_tenlop_tenphuongthuc Sau dùng NDK để biên dịch mã nguồn C thành thư viện liên kết động thư viện tự động bỏ vào thư mục lib dự án android Chương trình java gọi hàm native SDK biên dịch thành ứng dụng apk My Library : Là thư viện ứng dụng C++ tự xây dựng, coi nơi trung gian để lớp Native.cpp JNI giao tiếp với thư viện VES Các hàm lớp Native.cpp gọi xuống hàm viết lớp My Library VES Library : Chứa lớp xử lý việc vizualization, ngồi chứa thư viện VTK, cho phép thao tác, xử lý với liệu hình ảnh 3D Các hàm My Library trình xây dựng, có gọi sử dụng hàm xây dựng sẵn tầng VES Library Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 55 1.4 Thiết kế lớp 1.4.1 Thiết kế lớp tầng Android App Tầng có nhiệm vụ hiển thị hình ảnh liệu 3D lên máy điện thoại, tạo giao diện ứng dụng để người dùng thao tác Nhận điều hướng kiện để gửi xuống tầng Cấu trúc tâng chia thành package sau: com.finalproject.editor3d DatasetListActivity.java EditorActivity.java EditorNative.java EditorSurfaceView.java FileDescription.java com.finalproject.navdrawer NavDrawerItem.java NavDrawerListAdapter.java org.metalev.multitouch.controller MultiTouchController.java Trong đó: com.finalproject.editor3d package chính, xử vizualization liệu, gửi yêu cầu xuống tầng com.finalproject.navdrawer: Chứa việc khai báo xử lý giao diện, tương tác với Navigation Drawer hay Action Bar chương trình org.metalev.multitouch.controller: Nơi phân tích kiện liên quan đến đối tượng liệu gửi sang bên package com.finalproject.editor3d để xử lý Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 56 1.4.2 Thiết kế lớp tầng My Library Đây tầng thư viện tự xây dựng, có nhiệm vụ xử lý yêu cầu gửi xuống từ tầng trên, tầng này, lớp gọi sang hàm thư viện VES để sử dụng cho yêu cầu Tại lớp viết ngơn ngữ C++ để tương tác với thư viện VES Nó gồm có lớp sau : Hình 34 : Biểu đồ lớp tầng My Library Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 57 Tên lớp EditorApp Các hàm - EditorPolyDataRepresentation() addRepresentationsForDataSet() applyBuiltinDatasetCameraParamet ers() changeColor() changeView() copyFile() editPoints() editPointsXY() eraseColor() erasePolygon() fillColor() getColorForSaved() getCurrentColor() getDataSet() getFileName() getGeometryData() getMapper() getNormalForSaved() getPolygonForSaved() getScale() getTriangleRelation() getVerticesForSaved() handleDoubleTap() handleLongPress() handleSingleTouchDown() handleSingleTouchPanGesture() handleSingleTouchTap() handleSingleTouchUp() handleTwoTouchPanGesture() handleTwoTouchPinchGesture() handleTwoTouchRotationGesture() initBlinnPhongShader() initClipShader() initGL() initGouraudShader() initGouraudTextureShader() initSurfaceWithEdgesShader() initTextureShader() initToonShader() initWireframeShader() Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 Mô tả Đây lớp quan trọng , lớp nhận thơng điệp từ tầng chịu trách nhiệm điều hướng xử lý đến lớp khác chương trình 58 EditorBaseApp - loadDataset() picker() redo() removeAllDataRepresentations() replaceRegionID() resetScene() resetView() saveFile() set2DMode() set3DMode() setDataset() setDefaultBackgroundColor() setDefaultCameraParameters() setFileName() setGeometryData() setMapper() setScale() shaderProgram() undo() willRender() zoomIn() zoomOut() - addModelViewMatrixUniform() addNormalMatrixUniform() addProjectionMatrixUniform() addShaderProgram() addVertexColorAttribute() addVertexNormalAttribute() addVertexPositionAttribute() addVertexTextureCoordinateAttribu te() camera() cameraFocalPoint() cameraInteractor() cameraPosition() cameraViewUp() deleteShaderProgram() glSupport() setCameraFocalPoint() setCameraPosition() setCameraViewUp() viewHeight() viewWidth() - Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 Đây lớp cha lớp EditorApp, nhận xử lý hàm liên quan đến Camera, giao tiếp với hàm thư viện VES 59 - addSelfToRenderer() removeSelfFromRenderer() willRender() initializeWithShader() setPolyData() colorByDefault() colorByTexture() colorByRGBArray() colorBySolidColor() colorByScalars() convertVertexArrays() pointsOn() surfaceOn() wireframeOn() surfaceWithEdgesOn() setSurfaceShader() setWireframeShader() setSurfaceWithEdgesShader() setTextureSurfaceShader() setShaderProgram() shaderProgram() mapper() getColorMapCollection() getGeometryData() EditorDataCon versionTool - Convert() ConvertPoints() FindScalarArrays() TriangulatePolyData() ConvertScalarsToColors() GenericConvert() FindTextureCoordinatesArray() ComputeWireframeVertexArrays() RemoveSharedTriangleVertices() getColor() getVertices() getTriangle() Lớp có nhiệm vụ chuyển đổi số thứ liên quan đến điểm tọa độ điểm EditorCameraIn teractor - SetRenderer() dolly() roll() rotate() pan() Là lớp trung gian EditorBaseApp với VesCamera thư viện VES EditorDataLoad - loadDataset() Lớp đảm nhiệm EditorPolyData Representation Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 Lớp chứa nhiệm vụ liên quan đến biểu diễn liệu lên thiết bị 60 er EditorUndoRed oData - datasetFromAlgorithm() việc đọc liệu đầu updateAlgorithmOrSetErrorString() vào Lớp đảm nhiệm việc lưu vết tô màu, giúp cho Undo Redo tơ Bảng 18 : Bảng mô tả lớp tầng My Library Cách cài đặt kết thực nghiệm 2.1 Cài đặt mơi trường Chương trình xây dựng hệ điều hành Ubuntu, để build chương trình cần phải chuẩn bị cài sau Android NDK phiên r8b Android SDK Bộ thư viện VES Ứng dụng Cmake để make file IDE Eclipse Các bước để cài đặt build ứng dụng : - Bước : Sau giải nén thư viện VES ta thư mục vesmaster Coppy source code chương trình vào thư mục /vesmaster/Apps/Android/ - Bước : Chạy lệnh sau để build chương trình o export ANDROID_NDK=/path/to/installed/androidndk o cd Apps/Android/CMakeBuild o cmake -P configure.cmake o cd build o make -j4 Bước chương trình đóng gói thư viện build đóng gói thư viện VES, thư viện My Library - Bước : Build chương trình Android lệnh sau : o cd Apps/Android/MyApp (Nếu android,adb,adt cmake chưa có PATH Ubuntu cần edit lại đường dẫn file tool.sh o /configure_cmake.sh o /configure_ant.sh o /compile.sh Bước build hàm lớp Native.cpp JNI để tạo file thư viện so Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 61 2.2 Kết thực nghiệm Hình 35 : Giao diện menu ứng dụng Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 62 Hình 36 : Giao diện mở file thay đổi chế độ view Hình 37 : Chế độ view theo khung view theo khung bề mặt Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 63 Hình 38 : Chọn màu để tô ảnh sau tô màu Hình 39 : Ảnh trước sau làm méo Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 64 Hình 40 : Chức chọn khung nhìn Hình 41 : Hình sau Fill All Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 65 Đánh giá ưu, nhược điểm Phần mềm hoàn thành yêu cầu đề đồ án, xây dựng ứng dụng mô liệu 3D cho điện thoại Android Phần mềm cung cấp số chức xoay, zoom, tô màu, làm méo lưu liệu Cung cấp ứng dụng xử lý đầu hai giai đoạn đầu thực 3.1 Ưu điểm - Giao diện thân thiện, dễ dùng - Sử dụng tương tác multi touch dùng hai ngón tay để thao tác 3.2 Nhược điểm - Chưa có tùy chỉnh kích thước vùng lúc tơ màu - Tốc độ xử lý chậm liệu có số lượng điểm lớn - Chưa có chức undo, redo với việc thay đổi tọa độ Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 66 C KẾT LUẬN Đề tài : ‘Phần mềm xử lý ảnh di động với liệu 3D’ tạm thời đáp ứng yêu cầu ứng dụng biễu diễn liệu di động Kết hợp với ứng dụng 3D Scanner tạo thành ứng dụng tạo xem liệu 3D trực quan cho di động, ứng dụng hoàn thiện có ứng dụng cao thiết kế chế tạo vật phẩm 3D, cung cấp cho máy in 3D nguồn liệu phong phú, gần với thực tế Hướng phát triển đồ án : Tăng cường thêm nhiều chức cho phép tương tác với liệu ví dụ tạo đối tượng từ đối tượng cho trước - Cho phép chỉnh sửa kích thước bút to màu - Cho phép tùy biến vùng đối tượng bị thay đổi tọa độ - Tạo lọc cho phép làm mịn liệu chưa đẹp - Bổ sung chức Undo, redo cho việc thay đổi tọa độ điểm - Xây dựng mặt cắt cho phép cắt liệu, xem thành phần bên theo mặt cắt tùy biến - Tăng tốc độ xử lý visualization, tốc độ tô màu, tốc độ thay đổi tọa độ liệu lớn - Áp dụng GPU vào việc xử lý liệu tính tốn - Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 67 TÀI LIỆU THAM KHẢO Mike Smithwick , Mayank Verma, Apress Pro OpenGL ES for Android, January 24, 2012 John F Hughes, Andries van Dam, Morgan McGuire, David F Sklar, James D Foley, Steven K Feiner , Kurt Akeley, Computer Graphics: Principles and Practice (3rd Edition) July 20, 2013 Slide môn Đồ họa thực ảo , ThS Lê Tấn Hùng, Đại học Bách Khoa Hà Nội http://webpages.uncc.edu/krs/courses/6010/medvis/vtk_primer1.pdf http://www.sci.utah.edu/~pascucci/classes/2009_fall/files/lec02-notes.pdf http://www.training.praceri.eu/uploads/tx_pracetmo/FactsAboutVisualisationPipelines.pdf http://www.vtk.org/ Download and build VES http://www.vtk.org/Wiki/VES/Download_And_Build_Instructions VTK file format http://www.cacr.caltech.edu/~slombey/asci/vtk/vtk_formats.simple.html 10 Android Working with Action Bar http://www.androidhive.info/2013/11/android-working-with-action-bar/ 11 Action Bar http://developer.android.com/guide/topics/ui/actionbar.html 12 VES http://www.kitware.com/source/home/post/74 13 Đỗ Hải Quân – Lý thuyết đồ họa máy tính , Viet Nam open education resources 14 Học viện cơng nghệ Bưu Chính Viễn Thơng – Kỹ thuật Đồ Họa , chương trình đào tạo hệ đại học từ xa , 2006 Sinh viên thực hiện: Nguyễn Văn Bình – 20101141 - Khóa K55 - Lớp CNTT1 68