Trình hiển thị ba chiều để mô phỏng ... opac.pucv.cl/pucv_txt/txt-6500/ucd6584_01.pdf · Điều này chủ yếu đạt được bằng mô hình toán học và vật lý của mỗi - (2024)

Đại học Công giáo Giáo hoàng Valparaíso

KHOA KỸ THUẬT

Trường Kỹ thuật Máy tính

Báo cáo để chọn mức độ của

Bậc thầy về kỹ thuật máy tính

Julio 2016

Trình xem ba chiều

Cho mô phỏng xe

Portuarios

Tác giả: Gerardo Ismael Urbina Ampuero

Hướng dẫn giáo sư: Claudio Alonso Cubillos Figueroa

Tôi

Mục lục

Danh sách các số liệu ................................................... .................................................. .................................................. ... IV Danh sách các bảng ................................... ........ .......................................... ........ .......................................... ........ Tóm tắt. .......................................... ........ .......................................... ........ .............. VI Chương 1: Mô tả về chủ đề ..................... ....... ....... ........................................... ....... ...........................................

1.1 Giới thiệu ................................................ .................................................. ................................. 1 1.2 Định nghĩa các mục tiêu .... ........ .......................................... ........ .......................................... ........ .......... 3

1.2.1 Mục tiêu chung ............................................. .................................................. ......................... 3 1.2.2 Mục tiêu cụ thể ................... .................................................. ............................................ 3

1.3 Lập kế hoạch dự án ............................................. .. .................................................. ..................... 3 1.4 Phương pháp làm việc ....................... .. ................................................ .. .............................................. 5

1.4.1 Các giai đoạn Agil Up ............................................ .................................................. .......................... 5 1.4.2 Kỷ luật và vòng lặp của Agile Up .............. .................................................. ........................... 6

Chương 2: Động cơ đồ họa ...................................... ....... ....... ........................................... ....... ........................... 7 2.1 Kiến trúc Đồ họa Del Đồ họa .......... ....... ....... ........................................... ....... ......................................... 7

2.1.1 Phần cứng .............................................. .................................................. ............................ 9 2.1.2 Trình điều khiển ......... ........ .......................................... ........ .......................................... ........ .................. 9 2.1.3 Hệ điều hành .................. ........ .......................................... ........ .......................................... 9 2.1.4 SDK và phần mềm trung gian của các bên thứ ba ......................................... ....... ........................................... ..... 9

2.1.4.1 API đồ họa ............................................. .................................................. ............................... 10 2.1.5 Lớp độc lập nền tảng. ....................................... ........... .................. 14 2.1.6 Hệ thống chính ........... ............... ................................... ............... ................................... ... 14 2.1.7 Quản trị viên tài nguyên ...... .................................. ................ ...................................... .............. 14 2.1 .8 Kết xuất mức thấp ............................ ................. ................................. ................. ........ 15 2.1.9 Biểu đồ cảnh / Tối ưu hóa Culling ............... ................. ................................. ................. ... 16

2.1.9.1 Phân vùng không gian nhị phân ............................................ .................................................. ................ 16 2.1.9.2 Hệ thống cấp chi tiết ........................ ... ............................................... ... ........................... 16

2.1.10 Hiệu ứng hình ảnh ..................................... ........ .......................................... ........ ............... 17 2.1.11 Mặt trước ..................... ........ .......................................... ........ .......................................... ....... 17 2.1.12 Hồ sơ và công cụ thanh lọc .................................. ......... ......................................... 17 2.13 va chạm và vật lý .... ....................................... ........... ....................................... ........... ......... 17 2.1.14 Hoạt hình ......................... ........... ....................................... ........... ....................................... ..20 2.1.15 Thiết bị giao diện người (HID ) ............................. .................... .................. 20 2.1.16 Âm thanh ........................... ...................... ............................ ...................... ............................ ....... 20 2.1.17 Mạng .......... ............................ ...................... ............................ ...................... ................ 20 2.1.18 Hệ thống cơ sở trò chơi ..... ..................... ............................. ..................... .......................... 21 2.1. 19 Hệ thống con ứng dụng cụ thể ............... ............................... ................... ...............hai mươi mốt

2.2 Mẫu thiết kế .............................................. .. .................................................. ............................... 22

ii

2.2.1 Nguyên mẫu ................................................................................................................................... 22 2.2.2 Fly weight .................................................................................................................................. 23

2.3 Mặt tiền ....................................................................................................................................................24 2.4 Người quan sát .................................................................................................................................................... 25

Chương 3: Mô hình 3D ............................................. .................................................. .................................... 26 3.1 Kỹ thuật mô hình ..... ..... ............................................. ..... ............................................. ..... ............. 26

3.1.1 Mô hình đa giác ..................................... ........ .......................................... ........ ............ 26 3.1.2 Mô hình bằng spline ....................... ........ .......................................... ........ ...................... 27 3.1.3 Điêu khắc kỹ thuật số .............. ........ .......................................... ........ .......................................... ..... 28

3.2 Kết cấu ................................................ .................................................. .......................................... 28 3.2.1 Kỹ thuật kết cấu. .................................................. .................................................. ...... 29

3.2.1.1 Thủ tục .............................................. .................................................. .................................... 29 3.2.1.2 Vertex Sơn .... .... .... .............................................. .... .............................................. .... ......................... 30 3.2.1.3 được kết cấu bởi hình ảnh UV ......... ........ .......................................... ........ .......................................... .. 30

3.3 Liệt kê phần mềm mô hình 3D ........................................... .. .................................................. ....... 31 Chương 4: Phát triển dự án ................................... .. ................................................ .. ............................... 3

4.1 Trường hợp nghiên cứu ............................................. .. .................................................. ............................ 34 4.1.1 Nhà nước nghệ thuật ...... ......... ......................................... ......... ......................................... ......... ....... 34 4.1.2 Công nghệ sẽ được triển khai ........................... ........ .......................................... ........ ................... 36 4.1.3 Phát triển trường hợp nghiên cứu .............. ........ .......................................... ........ .......................... 37

4.2 Thiết kế hệ thống ...................................... ......... ......................................... ......... .................... 39 4.2.1 Sơ đồ sử dụng ......... .............. .................................... .............. .................................... 39 4.2.2 Sơ đồ lớp ........ ................................... ............... ................................... ............... ....... 41

4.2.2.1 WindowDevice .................................................................................................................................... 44 4.2.2.2 FPSManager ......................................................................................................................................... 45 4.2.2.3 EventManager ..................................................................................................................................... 46 4.2.2.4 Kết xuất .............................................................................................................................................. 46 4.2.2.5 Vật lý quản lý .................................................................................................................................. 47 4.2.2.6 Object3D .................................................................................................................................................. 48 4.2.2.7 Máy ảnh................................................................................................................................................. 50 4.2.2.8 lưới.................................................................................................................................................... 51 4.2.2.9 Skybox ................................................................................................................................................. 52 4.2.2.10 Shader .................................................................................................................................................... 52 4.2.2.11 Tài liệu .............................................................................................................................................. 53

4.2.3 Thông số kỹ thuật của xe .................................... ......... ......................................... ..... 54 Chương 5: Thực hiện ........................................ ......... ......................................... ......... ........................... 56

5.1 Động cơ đồ họa ................................................... .................................................. .................................... 56 5.1.1 Hệ thống tọa độ và MVP. ............................................. ..... ................................ 56 5.1.2 Kết cấu ............. ..................................... ............. ..................................... ............. ................... 58

iii

5.2 Phát triển và tích hợp các mô hình 3D ............................................... .................................................. .59 5.3 Tích hợp động cơ vật lý .................................... ........ .......................................... ........ ................. 60

5.3.1 Mặt nạ va chạm .................................... ......... ......................................... ......... .......... 62 5.3.2 Thực hiện ràng buộc ........................ .......... ........................................ .......... ............... 62 5.3.3 Hệ thống lái xe .................. ........... ....................................... ........... ........................... 64

5.4 Hệ thống quá giang .............................................. .. .................................................. ............................ 65 5.5 Tích hợp âm thanh ................ .. ................................................ .. ................................................ .. .... 66 5.6 Phụ lục ........................................ ... ............................................... ... ............................. 67

Chương 6: Kết luận ...................................... ........ .......................................... ........ ....................... 68 Tài liệu tham khảo ......... ................ .................................. ................ .................................. ................ ........................ 70

iv

Danh sách các số liệu

Hình 1.1 Vòng đời Agile UP [URL 3, 2005] .................................... ................................................. ....... 5 Hình 1.2 Các phiên bản tăng dần theo thời gian [URL 3, 2005] ...................... .... ................................................. 6 Hình 2.1 Kiến trúc điển hình của một công cụ đồ họa [Gregory, 2009] ...................................... ...................................... 8 Hình 2.2 Đường dẫn chức năng cố định của OpenGL [Shreiner , 2010] .................................... ......................11 Hình 2.3 Đường dẫn OpenGL đơn giản hóa [Wright và cộng sự, 2014] ... ...... ................................................................. ......................12 Hình 2.4 Chuyển đổi khung nhìn [Shalini, 2004] ............ ................................................................. ......................15 Hình 2.5 Ví dụ về cây BSP [URL 4, 2011] .......... ................................................................. ...................................16 Hình 2.6 Ví dụ về các các loại LOD [URL 5, 2009] ................................. ... ...................................17 Hình 2.7 Đường ống vật lý đạn [URL 6 , 2014]................................ . ................................... 18 Hình 2.8 Các loại ràng buộc trong Bullet Physics [URL 6, 2014] ................................... .. ...................................19 Hình 2.9 Mục tiêu ứng dụng của miếng [Gregory, 2009] .................... .. ......................21 Hình 2.10 Mẫu thiết kế nguyên mẫu [Vallejo và Martín, 2013] .... ... ................................................. ......................22 Hình 2.11 Các thực thể của mô hình 3D truyền thống [URL 7, 2014] ............ ... ................................................. ............23 Hình 2.12 Mẫu thiết kế Flyweight [URL 7, 2014] ...................... ................................................................. ....................24 Hình 2.13 Ví dụ ứng dụng mẫu Mặt tiền [Vallejo và Martín, 2013] .... ...................................24 Hình 2.14 Sơ đồ trình tự sử dụng mẫu Observer [ Vallejo và Martín, 2013] ....................................25 Hình 3.1 Hộp ví dụ lập mô hình [URL 8, 2006]................................................. ...................................................... ...................26 Hình 3.2 Ví dụ về mô hình NURBS [URL 9, 2004] ...................... ...................................................... ......................27 Hình 3.3 Sử dụng hồ sơ [URL 10, 2011] ............ .................................................... ....................................27 Hình 3.4 Ví dụ về điêu khắc [URL 11, 2011] ....... .................................................... ....................................28 Hình 3.5 Ví dụ về ánh xạ kết cấu [ Địa chỉ 12 , 2008] .................................... ....................................................29 Hình 3.6 Ví dụ về kết cấu thủ tục [ URL 13, 2009] ...................................... ....................................................29 Hình 3.7 Ví dụ về sơn đỉnh [ URL 15, 2009] ................................. .................................................... .... ..30 Hình 3.8 Tạo họa tiết bằng UV Map [URL 16, 2006] ...................... .................................................... .... .31 Hình 4.1 Đang tải độ trung thực từ mô hình 3D vào ứng dụng [Johnson, 2009] ...................... ....................................34 Hình 4.2 Phát hiện mối đe dọa bằng cảm biến [Christiansen et al ., 2008] ................................................. ......35 Hình 4.3 Trực quan hóa dữ liệu từ nhiều nguồn [URL 28, 2014] ...................... .............35 Hình 4.4 Sơ đồ các trường hợp sử dụng chức năng của người dùng [Dự thảo. Sở hữu] ................................................ ....40 Hình 4.5 Sơ đồ lớp công cụ đồ họa [Elab. Sở hữu] ................................................ ....................41 Hình 4.6 Lớp WindowDevice [Elab. Sở hữu] ................................................ ................................................................. .....44 Hình 4.7 Lớp FpsManager [Elab. Sở hữu] ................................................ ................................................................. ..........45 Hình 4.8 Lớp EventManager [Elab. Sở hữu] ................................................ ................................................................. .......46 Hình 4.9 Lớp trình kết xuất [Elab. Sở hữu] ................................................ ................................................................. ....47 Hình 4.10 Lớp PhysicsManager [Elab. Sở hữu] ................................................ ................................................................. ..48 Hình 4.11 Lớp Object3D [Elab. Sở hữu] ................................................ ................................................................. ............49 Hình 4.12 Loại máy ảnh [Elab. Sở hữu] ................................................ ................................................................. ...................50 Hình 4.13 Lớp lưới [Elab. Sở hữu] ................................................ ................................................................. ...................51 Hình 4.14 Lớp SkyBox [Elab. Sở hữu] ................................................ ................................................................. ....52 Hình 4.15 Lớp Shader [Elab. Sở hữu] ................................................ ................................................................. ....53 Hình 4.16 Lớp vật liệu [Elab. Sở hữu]................................................ ................................................................. .......53 Hình 4.17 Góc quay của máy rải [URL 2, 2014]........... .. ................................................. .. ............54 Hình 4.18 Cabin trượt [URL 2, 2014] ...................... .. ................................................. .. ...................54 Hình 4.19 Sơ đồ khoảng cách theo góc quay [URL 2, 2014] . ................................................. .............55 Hình 5.1 Cắt các vùng [Wright và cộng sự, 2007] .................... .................................................... .... ............56 Hình 5.2 Ma trận chiếu [Wright và cộng sự, 2007] ............ .................................................... ....................57 Hình 5.3 Mô hình máy trộn Reach-Stacker [Dự thảo. Sở hữu]................................................ ...................................59 Hình 5.4 Ràng buộc kiểu thanh trượt trong boom Reach -Stacker [Elab. Sở hữu] ................................................ ....63 Hình 5.5 Ràng buộc loại bản lề trong bộ rải Reach-Stacker [Elab. Sở hữu]................................................ ....63 Hình 5.6 Hệ thống dây chuyền [Elab. Sở hữu] ................................................ ................................................................. ............65 Hình 5.7 Trình mô phỏng chế độ wireframe [Draft. Sở hữu] ................................................ ................................................................. 67

v

Danh sách bảng

Tabla 1.1 rrecting của dự án [ELAB.Đó là một điều tốt ........................................... ... ... ............................................ 0 ..... .....................................

vi

Bản tóm tắt

Mô phỏng 3D tương ứng với một lĩnh vực nghiên cứu đã cho phép cải thiện các quy trình

đào tạo và học tập trong nhiều lĩnh vực khác nhau, điều này cho phép hình thành các nhà khai thác

thực tế có khả năng kiểm soát các tình huống rủi ro, do đào tạo an toàn và

khả năng phát triển trong các hoạt động mà thông qua các phương pháp thông thường sẽ dẫn đến

không khả thi.Dự án này nhằm mục đích tạo ra một công cụ đồ họa

ba chiều, cho phép mô phỏng hoạt động của một chiếc xe tải tiếp cận,

Dựa trên các mô hình mô phỏng vật lý chất lượng cao.

Claves palabras: biểu đồ 3D, simulación, stacker tiếp cận.

trừu tượng

Mô phỏng 3D tương ứng với một lĩnh vực nghiên cứu cho phép cải thiện

quá trình đào tạo và học tập trong một loạt các lĩnh vực, điều này cho phép đào tạo

Các nhà khai thác thực tế có thể kiểm soát các tình huống rủi ro, do đào tạo an toàn và khả năng

Tham gia vào các hoạt động không thể thực hiện thông qua các phương pháp thông thường.Các

Kết thúc dự án này là tạo một công cụ đồ họa ba chiều, cho phép mô phỏng

Hoạt động của một chiếc xe cần cẩu tiếp cận, dựa trên mô phỏng vật lý chất lượng cao

mô hình.

Từ khóa: Công cụ đồ họa 3D, mô phỏng, bộ đặt tiếp cận.

1

Chương 1: Mô tả về chủ đề

1.1 Giới thiệu

Mô phỏng hiện đang tương ứng với một khu vực nghiên cứu cao trong các công ty, từ

Điều này có thể mô phỏng một số mô hình lý thuyết nhất định cho phép biểu diễn các quy trình theo cách đơn giản hơn nhiều, trong

Trường hợp thậm chí các quá trình không thể thực hiện thông qua các phương pháp thông thường có thể được mô phỏng.Bên trong

Có nhiều lĩnh vực nghiên cứu khác nhau, chẳng hạn như các sự kiện riêng biệt, mô phỏng

của các sự kiện liên tục, mô phỏng các hệ thống động, mô phỏng dựa trên các tác nhân, mô phỏng dựa trên web,

Mô phỏng thực tế ảo, trong số những người khác [URL 1, 1969].Một trong những khu vực mô phỏng này tương ứng với

Mô phỏng ba chiều, từ đó dự án này dựa trên.

Mô phỏng ba chiều hoặc 3D tương ứng với biểu diễn hoặc thử nghiệm với mô hình của

Thực tế thông qua việc sử dụng đồ họa ba chiều, nó có ảnh hưởng lớn đến các công ty có

máy móc lớn và phải đào tạo công nhân của họ, mặc dù vậy, hiện tại nhiều

các công ty không xem xét việc thực hiện một trình mô phỏng trong quá trình đào tạo của họ, điều này chủ yếu là do

với chi phí cao mà một trình giả lập có nghĩa là, đó là lý do tại sao bạn nghĩ về một khoản đầu tư không đáng kể cho

Công ty và kế hoạch đào tạo của họ tiếp tục hoạt động thông qua các phương pháp thông thường.Trong khi chi phí trong một

bắt đầu có thể ở một số trường hợp cao, ứng dụng bạn có thể có rất rộng, xem xét

Ngoài ra các tiến bộ công nghệ khác nhau và việc sử dụng lâu dài của chúng, mô phỏng 3D có thể được xem xét

như một lựa chọn tốt để xem xét.

Một số lợi thế trong việc thực hiện một trình giả lập là:

Giảm chi phí liên quan đến học tập: sự cống hiến của các đơn vị học tập cho việc học

Đó là một chi phí rất cao.

Giảm rủi ro trong đào tạo: một số bài tập có lợi từ quan điểm của

Học tập có thể dẫn đến rủi ro cao.

Khả năng thực hiện các hành động không khả thi với máy thật, nhưng có thể có lợi

Đối với việc học: Với việc sử dụng một trình giả lập, đôi khi nó được ngăn chặn rằng các máy được định sẵn cho

Học tập là không thể sử dụng cho một kịch bản nhất định (điều kiện thời tiết, công việc

Với sự cố, v.v.).

Cải thiện kỹ năng: Cho phép bạn cải thiện các nhà khai thác có kinh nghiệm an toàn.

Một yếu tố đóng vai trò rất quan trọng khi nâng cao sự phát triển của trình mô phỏng 3D là

hành vi của môi trường và từng yếu tố tương tác với điều này, chủ yếu tìm kiếm một

Đại diện trung thành của thực tế.Điều này chủ yếu đạt được bằng một mô hình toán học và vật lý của mỗi

một trong những yếu tố của hệ thống, đưa ra một tập hợp các đặc điểm đại diện cho mỗi

2

Các đối tượng thế giới 3D, do đó cho phép một tương tác thích nghi với các yêu cầu mô phỏng

Theo một môi trường vật lý thực sự.

Một công cụ đồ họa là phần cơ bản của các ứng dụng hoạt động với hai chiều hoặc

ba chiều.Điều này chịu trách nhiệm quản lý và cập nhật từng yếu tố tạo nên

Môi trường [Shalini, 2004].Có một số lượng lớn các động cơ không chỉ thực hiện phần đồ họa có thể nhìn thấy

màn hình, nhưng cũng kết hợp một loạt các mô -đun khác cần thiết để cung cấp cho nó khả năng lớn hơn và

Chủ nghĩa hiện thực với những gì bạn muốn đại diện, đây có thể là: sự tái tạo của âm thanh và video, xử lý vật lý, sử dụng

của các thiết bị đầu vào và đầu ra, phát hiện va chạm, trong số các thiết bị khác.

Trong dự án này, mặc dù số lượng lớn các cách để thực hiện một trình giả lập,

Việc sử dụng giao diện lập trình ứng dụng thấp (API), mà không cần sử dụng động cơ

đồ họa hiện có.Bất chấp những lợi ích và lợi thế khác nhau liên quan đến việc sử dụng động cơ đồ họa thương mại

hoặc nguồn mở, khả năng mở rộng và sửa đổi có thể ngụ ý một dự án trong số này

Đặc điểm cản trở khả năng sửa đổi mã nguồn, chủ yếu là do sự phức tạp mà

Điều này đòi hỏi.Cũng xem xét tầm quan trọng của việc thực hiện một hiệu sách vật lý cho phép mô phỏng

Các chuyển động của các đối tượng trong kịch bản 3D, sự phát triển của một công cụ đồ họa mới sẽ cho phép

Nhà sách vật lý dễ dàng hơn nhiều và điều đó nhanh chóng điều chỉnh theo nhu cầu của dự án.

Giao diện ba chiều sẽ được thực hiện tương ứng với việc tạo ra một trình giả lập 3D được định hướng cho xe crane

Người tiếp cận.Cần cẩu ngăn cách tiếp cận là một phương tiện được sử dụng để xử lý các container trong các thiết bị đầu cuối cổng

có kích thước nhỏ và trung bình.Người tiếp cận có thể vận chuyển các container ở khoảng cách nhỏ

Rất nhanh, cho phép chúng xếp chúng thành một số hàng theo kích thước mà nó sở hữu.

Giải pháp được đề xuất trong dự án này cho mô phỏng và mô hình hóa của bộ đặt tiếp cận dựa trên

Các mô hình mô phỏng chất lượng cao tương ứng với TCM thiết kế tiếp cận [URL 2, 2014], trong

Trường hợp cả hai yếu tố thị giác và vật lý của các phương tiện này được kết hợp.Hành vi của

Các đối tượng 3D bao gồm một trong những khía cạnh quan trọng nhất, đó là thao tác cần cẩu và

sự dịch chuyển của các container trong suốt quá trình cài đặt cổng, nó nằm trong kịch bản này trong đó

mở ra người dùng.

3

1.2 Định nghĩa các mục tiêu

1.2.1 Mục tiêu chung

Phát triển giao diện ba chiều để mô phỏng các phương tiện cảng, cụ thể là

Mô phỏng TCM của bộ đặt tiếp cận, phương tiện có khả năng tải lớn có khả năng huy động các container

thuộc các kích thước khác nhau thông qua thiết bị đầu cuối cổng, tất cả điều này dựa trên sự phát triển của một công cụ đồ họa

Thích ứng với từng nhu cầu cụ thể của dự án.

1.2.2 Mục tiêu cụ thể

Điều tra các đặc điểm khác nhau của chiếc xe mà từ đó trình giả lập sẽ được phát triển, nó

Tương tác với môi trường và các biến xác định các hành động có thể được thực hiện.

Điều tra tập hợp các công cụ cho phép chuẩn bị các tài nguyên khác nhau cần thiết cho

Simulator, cũng dự tính sự tích hợp của chúng với động cơ đồ họa.

Thực hiện thiết kế của động cơ đồ họa chiêm ngưỡng trong việc tích hợp này với trình giả lập và một số

Khung hoặc nhà sách cho phép mô phỏng các đặc điểm khác, chẳng hạn như biểu diễn vật lý của

nhiều diễn viên và môi trường xung quanh của họ.

Phát triển trình giả lập.

Thực hiện kiểm tra hệ thống.

1.3 Lập kế hoạch dự án

Lập kế hoạch dự án nhằm mục đích cấu trúc các hoạt động và cột mốc khác nhau là một phần của

dự án.Kế hoạch tốt có thể có nghĩa là thành công và hoàn thành từng mục tiêu được đề xuất,

với chi phí và thời gian được thiết lập.Từ các mục tiêu được đặt trong phần 1.2.1 và 1.2.2,

Kế hoạch dự án được chia thành bốn giai đoạn, đó là:

1) Phân tích nghiên cứu và thu thập thông tin: Ở giai đoạn này, toàn bộ quá trình

Bộ sưu tập nghiên cứu và thông tin tương ứng với các lĩnh vực khác nhau được đề cập trong điều này

Dự án: Động cơ đồ họa, mô phỏng các sự kiện vật lý, vận hành xe, giữa những người khác.

2) Thiết kế và phát triển các nguyên mẫu: Một khi quá trình thu thập và nghiên cứu kết thúc, chúng tôi tiến hành

Để làm cho thiết kế hệ thống cùng với sự phát triển của các nguyên mẫu gia tăng khác nhau.Cái này

Nó cho phép xác nhận cả thiết kế và hoạt động của các công nghệ khác nhau được áp dụng trong

giải quyết vấn đề.

3) Tích hợp và thực hiện: Các nguyên mẫu và thiết kế khác nhau được tạo ra trong

giai đoạn trước, do đó cho phép giai đoạn tiếp theo và xác nhận trong giai đoạn tiếp theo

tương ứng.

4

4) Kiểm tra ứng dụng và xác nhận: Các bài kiểm tra trên ứng dụng cuối cùng được thực hiện, để xác nhận

Yêu cầu hệ thống ban đầu và hoạt động chính xác của ứng dụng.

Tabla 1.1 rrecting của dự án [ELAB.Đề xuất]

Bảng 1.1 Chi tiết cách thức mà mỗi hoạt động tạo nên được cấu trúc và lên kế hoạch

Dự án này, trong đó ngày bắt đầu và thời hạn tương ứng với tiến trình và giao hàng được chỉ định

cần thiết để đáp ứng các mục tiêu và mục tiêu được đề xuất, do đó bao gồm toàn bộ thời gian

sẵn sàng.

5

1.4 Phương pháp làm việc

Đối với sự phát triển của dự án này, nó đã được quyết định sử dụng mô hình quy trình phần mềm Agile UP (AUP).

Phương pháp này về cơ bản cung cấp một quy trình đơn giản và dễ hiểu để phát triển phần mềm thông qua

Các khái niệm và kỹ thuật khác nhau được giải cứu khỏi phương pháp Agile và Hợp lý (RUP) [URL 3, 2005].Rup là

được coi là một công cụ cứng nhắc và được thực hiện bằng phương pháp Cascade, đã linh hoạt

Để có thể thích ứng với các dự án thay đổi và quy mô vừa phải (liên quan đến thời gian và tài nguyên),

Nổi lên theo cách này AUP [Bohhudas, 2008], [Canós et al., 2003].Trong Hình 1.1, bạn có thể thấy chu kỳ của

Cuộc sống của phương pháp này, trong đó cả hai giai đoạn của Rupe và các ngành khác nhau đã được xác định lại.

Hình 1.1 Vòng đời Agile Up [URL 3, 2005]

1.4.1 Các giai đoạn của Ágil lên

Sự phát triển của dự án thông qua phương pháp AUP ngụ ý phân tách trong các giai đoạn nối tiếp, điều này muốn

Nói rằng, mỗi giai đoạn được thực hiện sau một giai đoạn khác, luôn duy trì mối quan hệ mà họ sở hữu.Sau đó tôi biết

Họ mô tả bốn giai đoạn sáng tác nó [Bohhudas, 2008]:

1) Khởi đầu: Phạm vi ban đầu của dự án được thiết lập, các yêu cầu được ưu tiên,

Tầm nhìn của kiến ​​trúc và các điểm khác được xem xét, chẳng hạn như tài chính và sự chấp nhận của

có liên quan.

2) Chuẩn bị: Các yêu cầu được phân tích chi tiết, mô hình hóa của

Kiến trúc ban đầu và triển khai phần mềm bắt đầu được thực hiện.

6

3) Xây dựng: Phần mềm chức năng được xây dựng, xem xét các bài kiểm tra và phát triển như các hoạt động

trên toàn bộ.

4) Chuyển đổi: Trong giai đoạn này, việc xác nhận và triển khai cuối cùng của dự án được xem xét.Những khiếm khuyết đó

Chúng không thể được giải quyết trong các phiên bản hiện tại được giải quyết trong các phiên bản trong tương lai.

1.4.2 Kỷ luật và Lặp lại ágil lên

Ngoài bốn giai đoạn của AUP, còn có một loạt các môn học được phát triển theo lặp đi lặp lại,

Trong một số trường hợp có thể được thực hiện đồng thời, các ngành này là [URL 3, 2005]:

a) Mô hình hóa: Cố gắng hiểu hoạt động kinh doanh, vấn đề miền của tổ chức và xác định

Giải pháp khả thi.

b) Thực hiện: Các mô hình được tạo được đưa vào mã thực thi, sau này có thể thực hiện

Kiểm tra hệ thống.

c) Các thử nghiệm: Nó được thực hiện để đảm bảo chất lượng của phần mềm đang được phát triển.Trong này

Kỷ luật được coi là phát hiện khiếm khuyết, xác nhận hệ thống và yêu cầu.

d) Triển khai: Việc giao dự án và thực hiện kế hoạch mà giao hàng này sẽ được thực hiện được lên kế hoạch.

e) Quản trị cấu hình: Phiên bản công việc, kiểm soát và quản trị

thay đổi.

f) Quản trị dự án: Mục tiêu của ngành học này là chỉ đạo từng hoạt động trong suốt

của toàn bộ dự án.

g) Môi trường: Đảm bảo rằng các công cụ có sẵn khi nhóm dự án cần chúng.

Giống như các phương pháp khác, trong AUP, các lần lặp khác nhau được phân phối khi nó tiến bộ trong

Dự án (Hình 1.2), chúng có thể được sử dụng để đảm bảo chất lượng, kiểm tra, quy trình

triển khai, trong số những người khác.Cấu thành một kết quả giá trị cho doanh nghiệp.

Hình 1.2 Các phiên bản gia tăng theo thời gian [URL 3, 2005]

7

Chương 2: Động cơ đồ họa

Cũng như các ngành khác trong lĩnh vực khoa học máy tính, sự phát triển của các ứng dụng

Đồ thị đã được hưởng lợi từ sự xuất hiện của các công cụ tạo điều kiện cho sự phát triển này, tự động hóa các nhiệm vụ và

Cấp một mức độ trừu tượng đủ cao để tập trung chủ yếu vào logic của

ứng dụng.Một công cụ đồ họa có thể được coi là một tập hợp các công cụ và thành phần cho phép

Tạo môi trường đồ họa thời gian thực [Gregory, 2009].Sự phát triển của công nghệ liên quan trong lĩnh vực này

đã cho phép khai thác đáng kể các năng lực được cấp bởi các thiết bị xử lý khác nhau

đồ họa, cho phép xử lý một lượng dữ liệu lớn hơn trong thời gian ngắn hơn, dẫn đến việc tạo ra

môi trường thực tế hơn nhiều, nếu sự kết hợp của các mô -đun khác cũng được xem xét, chẳng hạn như phát hiện

va chạm, tính toán lực lượng, kết hợp âm nhạc và âm thanh, giao diện để quản lý sự kiện, bắt giữ

Các thiết bị I/O, trong số nhiều thiết bị khác, các quy trình thực tế có thể được mô phỏng với mức độ cao của

chi tiết.Hiện tại có một số lượng lớn động cơ đồ họa tập trung vào nhu cầu của nhà phát triển

Những người độc lập không thể tạo động cơ của riêng họ, cũng như các công cụ cần thiết hoặc có được giấy phép.Điều này có

Nó dẫn đến một sự phát triển khá quan trọng trong các lĩnh vực nghiên cứu khác nhau.Nhiều người dùng có

đạt được để nắm bắt ý tưởng của họ với một số kiến ​​thức về hoạt động nội bộ của động cơ hoặc của

Các công nghệ quản lý này, cho phép họ phát triển chuyên nghiệp trong một lĩnh vực tiếp cận khó khăn, ví dụ,

Một số nhà thiết kế đồ họa 3D và các nhà làm phim hoạt hình có kiến ​​thức cao về các công cụ mô hình 3D, có

Sử dụng các động cơ đồ họa để trình bày các tác phẩm của họ thông qua môi trường 3D trong thời gian thực.

Mặc dù hầu hết các động cơ đồ họa được sử dụng để tạo ra các trò chơi video (đó là

Họ biết trong tài liệu phổ biến hơn là động cơ trò chơi video), điều này không ngăn cản người khác có thể được tạo ra

Loại ứng dụng đồ họa, vì bộ công cụ do động cơ cấp không tập trung vào bất kỳ khu vực nào

Cụ thể, cho phép các môi trường tạo ra theo nhu cầu của mỗi người dùng.

2.1 Kiến trúc động cơ đồ họa

Một công cụ đồ họa là một hệ thống phần mềm khá phức tạp, giống như nhiều hệ thống phần mềm, điều này

Nó được xây dựng bởi các lớp.Thông thường các lớp trên phụ thuộc vào các lớp dưới, nhưng không phải ngược lại.

Khi một lớp thấp hơn phụ thuộc vào một cấp trên, nó được gọi là sự phụ thuộc tròn.Đơn vị tròn

Điều này nên tránh, do sự kết hợp không mong muốn tạo ra giữa các hệ thống, khiến cho nó không thể

Xác thực và ngăn chặn việc tái sử dụng mã.Điều này có thể được nhìn thấy rõ hơn trong các hệ thống quy mô lớn, chẳng hạn như

Nó là một động cơ đồ họa.

Các thành phần thực thi chính thường được tìm thấy trong một

Động cơ đồ họa 3D.Một mô tả chung về từng lớp tạo nên

động cơ, từ thấp nhất đến phức tạp nhất, mô tả các thành phần của nó và tập trung vào những thành phần bị ảnh hưởng

trực tiếp trong sự phát triển của dự án này.

số 8

Hình 2.1 Kiến trúc điển hình của động cơ đồ họa [Gregory, 2009]

9

2.1.1 Phần cứng

Lớp này đại diện cho hệ điều hành hoặc bảng điều khiển trong đó ứng dụng sẽ được thực thi từ động cơ

đồ họa.Một số nền tảng này có thể là: Microsoft Windows, Linux, Apple iPhone, Macintosh, Microsoft

Xbox One, PlayStation 4, PlayStation Vita (PS Vita), trình duyệt web, trong số nhiều người khác.

2.1.2 Trình điều khiển

Tương ứng với các thành phần phần mềm thấp được cung cấp bởi hệ điều hành hoặc trực tiếp bởi

Nhà cung cấp phần cứng.Các tài xế này quản lý tài nguyên phần cứng và cấp một lớp trừu tượng

Đối với hệ điều hành cũng như các lớp khác trong kiến ​​trúc của động cơ đồ họa, chi tiết về

Giao tiếp với tập hợp các biến thể mà phần cứng và thiết bị có thể có.

2.1.3 Hệ điều hành

Trong trường hợp của PC, hệ điều hành đang chạy mọi lúc.Dàn nhạc này thực hiện

Nhiều chương trình trong một máy tính, trong đó một trong những chương trình này tương ứng với ứng dụng đồ họa.

Các hệ điều hành như Microsoft Windows sử dụng cơ chế đa nhiệm phòng ngừa, tìm kiếm

Chia sẻ phần cứng trong suốt nhiều chương trình chạy đồng thời.Điều này có nghĩa rằng

Ứng dụng đồ họa sẽ không bao giờ cho rằng nó có toàn bộ điều khiển phần cứng, nhưng nó đang chạy tốt với

Các chương trình khác trong cùng một hệ thống.

Trong trường hợp bảng điều khiển, hệ điều hành thường là một lớp thư viện nhỏ

So sánh trực tiếp trong tệp thực thi của ứng dụng, để mỗi ứng dụng "sở hữu" tất cả

máy móc.Tuy nhiên, trong các bảng điều khiển như Microsoft Xbox One hoặc PlayStation 4, hệ điều hành có thể

làm gián đoạn việc thực hiện ứng dụng hoặc lấy tài nguyên hệ thống nhất định, điều này để hiển thị một số loại

tin nhắn hoặc cho phép người dùng tạm dừng ứng dụng truy cập menu ứng dụng chính.

2.1.4 SDK và phần mềm trung gian của bên thứ ba

Hầu hết các công cụ đồ họa thực hiện một số lượng lớn bộ dụng cụ phát triển phần mềm

(SDK) và phần mềm trung gian của các bên thứ ba, như có thể thấy trong Hình 2.1, các giao diện được cung cấp bởi SDK là

Thường được gọi là giao diện lập trình ứng dụng (API), API về cơ bản cấp một loạt

các chức năng và các thủ tục sử dụng chung cho phép bản thân trừu tượng từ một số thói quen nhất định phải

được lập trình ở cấp độ thấp.Về bản chất, một API định nghĩa các câu có thể tái sử dụng cho phép điều chỉnh

Các chức năng cuối cùng được kết hợp vào các ứng dụng [Reddy, 2011].

10

2.1.4.1 API đồ họa

API đồ họa chủ yếu dành cho việc xử lý đồ họa được biểu thị bằng màn hình, những điều này

các giao diện được giới hạn trong các khả năng phần cứng mà máy tính sở hữu trong đó

phát triển ứng dụng.

Có hai loại API đồ họa, những loại có mục đích cụ thể và mục đích chung.API của

Mục đích cụ thể chủ yếu được sử dụng để tạo ra các ứng dụng cho những người muốn hiển thị

hình ảnh mà không phải lo lắng về quy trình cần thiết để tạo ra hình ảnh này, mặt khác, API của

Mục đích chung chủ yếu nhằm vào các lập trình viên cần sử dụng các chức năng ở cấp độ

của sự trừu tượng nhỏ [Hearn và Baker, 2005].

Hai giao diện lập trình đồ họa quan trọng nhất sẽ được mô tả bên dưới tồn tại

Hiện tại trên thị trường: OpenGL và Direct3D.

OpenGL:

Hệ thống đồ họa OpenGL (Thư viện đồ họa mở) là giao diện phần mềm phần cứng đồ họa

Ban đầu được tạo bởi Silicon Graphics Incorporated (SGI), điều này cho phép tạo ra các chương trình tương tác

Điều đó yêu cầu hiển thị đồ họa 2D và 3D trong thời gian thực [Shreiner, 2010], [Maroto, 2005].Một số chính

Các đặc điểm làm cho OpenGL trở thành một sự thay thế mạnh mẽ để xem xét khi chọn API đồ họa là:

Tiềm năng lớn của nó, giao diện phần cứng độc lập, sự đơn giản và hiệu quả của nó.

Có rất nhiều lĩnh vực trong đó việc sử dụng API này đã được sử dụng để phát triển

Các ứng dụng đồ họa 3D, chẳng hạn như: trò chơi video, phim, mô phỏng, thậm chí trực quan hóa để sử dụng

Nhà khoa học, bác sĩ, thương mại, trong số những người khác [Wright và Lipchak, 2004].Hiện được công nhận là tiêu chuẩn

Trên đồ họa máy tính, cũng là một trong những người được sử dụng nhiều nhất trên thế giới.

API này có một số lượng lớn các chức năng, chẳng hạn như sự hỗ trợ của ánh sáng và bóng tối, ánh xạ

Kết cấu, độ trong suốt, mô hình hoạt hình, hỗ trợ sương mù, kết cấu có độ sâu, v.v.[Wright et al.,

2007].

Các bộ phận tạo nên cảnh đồ họa OpenGL được xây dựng từ nguyên thủy hình học

cơ bản, chẳng hạn như hình khối, hình cầu, kim tự tháp, v.v., sau đó được chuyển đổi bởi các chức năng toán học thành a

Pixels đặt (phần tử hiển thị nhỏ hơn trong một hình ảnh).Cuối cùng, các pixel này được chiếu trên một

Mặt phẳng hai chiều, ví dụ như khu vực hiển thị của màn hình máy tính [Hearn và

Baker, 2005].

11

Figura 2.2 Đường ống chức năng cố định de OpenGL [Shreiner, 2010]

Trong Hình 2.2, bạn có thể thấy đường ống chức năng cố định của OpenGL, tên được áp dụng cho

API của đồ họa API trước khi các shader xuất hiện.Nói chung, tập hợp các yếu tố

Họ tạo nên đường ống này là [Shreiner, 2010]:

Danh sách trực quan hóa: Toàn bộ tập dữ liệu được mô tả bởi hình học hoặc pixel có thể được lưu trữ trong

Danh sách trực quan hóa (thay thế để lưu trữ trong danh sách hiển thị là gửi ngay lập tức

Tập dữ liệu, cái được gọi là chế độ ngay lập tức), truy cập danh sách trực quan

trực tiếp đến phần cứng đồ họa, vì vậy nó hoạt động nhanh hơn và hiệu quả hơn nhiều).

Người đánh giá: Chúng cung cấp một phương pháp để rút ra các đỉnh được sử dụng để biểu diễn các bề mặt bằng cách

Các điểm kiểm soát.Phương pháp này có thể tạo ra các tọa độ, màu sắc và giá trị bình thường của kết cấu

Tọa độ không gian từ các điểm kiểm soát.

Hoạt động Vértice và lắp ráp nguyên thủy: Trong giai đoạn này, các đỉnh trở nên nguyên thủy,

Tọa độ kết cấu được tạo và biến đổi, tính toán ánh sáng được thực hiện, trong số các tọa độ khác.Trong đó

Lắp ráp nguyên thủy hầu hết là các chức năng cắt, trong đó

Các phần của hình học nằm ngoài mặt phẳng chiếu xác định.

Hoạt động pixel: Nhiều trong số các hoạt động này di chuyển một lượng lớn dữ liệu thông tin từ

Pixel trên toàn hệ thống.

Lắp ráp kết cấu: Cho phép bạn áp dụng hình ảnh kết cấu cho các đối tượng hình học để tạo các đối tượng

Thực tế hơn nhiều.

12

Rasterization: tương ứng với việc chuyển đổi cả dữ liệu hình học và pixel thành

Các đoạn tương ứng với các vị trí pixel trên màn hình.

Các hoạt động của đoạn: Trong giai đoạn này, một tập hợp các hoạt động áp dụng cho tập dữ liệu đó là

Chúng lưu trữ trong bộ đệm khung (bộ đệm nơi thực hiện kết xuất dữ liệu vào màn hình), một trong số đó

Các hoạt động tương ứng với kết cấu, trong đó các texel (đơn vị nhỏ hơn của một kết cấu), áp dụng

cho từng mảnh vỡ tương ứng với chúng.

Hình 2.3 PipEngl đơn giản hóa [Wright et al., 2014]

Dự án này nhằm sử dụng các chức năng mới cung cấp cho cả hai thẻ

như API đồ họa.Hình 2.3 trình bày đường ống OpenGL mới, sử dụng shader,

được lập trình với ngôn ngữ lập trình GLSL (ngôn ngữ Shader OpenGL), cho phép chúng

Chúng được thực hiện trực tiếp trong đơn vị xử lý đồ họa (GPU).Chi tiết, GPU hiện tại

Chúng bao gồm một số lượng lớn bộ xử lý lập trình nhỏ được gọi là lõi shader, thực hiện

Các chương trình nhỏ gọi là Shader.

Các hình có các cạnh tròn của Hình 2.3 được coi là các giai đoạn chức năng cố định, trong đó

Điều đó có nghĩa là chúng có thể lập trình, nhưng không phải với các hình có các mẹo vuông.Chúng được mô tả dưới đây

Tóm lại, các giai đoạn này [Wright et al., 2014]:

Vertex Fetch: Chuẩn bị tập hợp các đỉnh mà sau này sẽ được gửi đến Shader đỉnh.

Vertex Shader: Chương trình nơi bạn làm việc với cấu trúc của các đỉnh được xử lý trước đó, cái này

Nhận một đỉnh cùng một lúc và chuyển đổi nó từ các cấu trúc dữ liệu khác, chẳng hạn như vectơ hoặc ma trận.

Nó cũng cho phép bạn nhận và gửi dữ liệu cho Shader khác.

13

Shader điều khiển Teselation: Lấy dòng chảy của Vertex Shader và chịu trách nhiệm trong trường hợp đầu tiên

Để xác định mức độ của tessellation sẽ được gửi đến động cơ Tessellation, trong khi cái thứ hai là

vì dữ liệu sẽ được gửi đến Shader đánh giá Tessellation sẽ được tạo một khi

Động cơ teselation.

Tessellation: Một khi động cơ Tessellation này được thực thi, nó sẽ tạo ra một số đầu ra đỉnh

đại diện cho một tập hợp nguyên thủy.Những nguyên thủy này sau đó được gửi đến shader của

Đánh giá teselation.

Shader đánh giá Teselation: Xử lý lối ra của các đỉnh được tạo ra bởi giai đoạn Tessellation và

Xử lý các vị trí nội suy của các đỉnh này và các loại tính toán khác.

Shader hình học: Shader hình học cho phép chúng ta tạo nguyên thủy cơ bản, chẳng hạn như điểm, đường hoặc đường

Hình tam giácTừ những shaader này, bạn có thể tạo các mô hình thời gian thực hiện theo cách rất đơn giản

(Rất giống với việc tạo ra các mô hình thông qua đường ống chức năng cố định).Thời gian cần thiết để tạo

Một mô hình cao hơn đáng kể so với bị trì hoãn nếu nó được tạo trước đó và

Gửi đến một shader đỉnh.

Rasterization: Như trong đường ống chức năng cố định, tập hợp các đỉnh được xử lý, tính toán

Các vị trí kết cấu, trong số những vị trí khác, phải được chuyển đổi thành các đoạn được đặt trên màn hình, một quá trình

Thực hiện rasterization.

Fragment Shader: Công việc dựa trên tập hợp các mảnh vỡ đã được xử lý.Trong shaader này mỗi

Một trong những mảnh riêng biệt và màu tương ứng với nó cuối cùng được áp dụng.

Các toán tử frampeBuffer: Nội dung có thể nhìn thấy của màn hình được thiết lập để được xem xét, ngoài

Số lượng các vùng bộ nhớ bổ sung được sử dụng để lưu trữ các giá trị trên mỗi pixel không

màu sắc.

Giám đốc

Direct3D là một trong những API mà DirectX có, chủ yếu được sử dụng trong hệ điều hành Microsoft

Windows và bảng điều khiển như Xbox 360 và Xbox One.

Để có thể trực quan hóa hình ảnh 3D trên mỗi màn hình.Một trong những đặc điểm của API này là nó hoạt động trực tiếp

Với phần cứng đồ họa, không giống như giao diện khác của các thiết bị đồ họa, do đó tăng

năng suất đáng kể [Thomson, 2006].

Ngoài ra, API này được thiết kế để dễ dàng truy cập vào các đặc tính 3D nâng cao của phần cứng đồ họa,

Tạo một lớp trừu tượng cung cấp giao diện cho lập trình viên phần cứng độc lập [Engel và

Geva, 2000].

Nó hiện được sử dụng bởi các công cụ trò chơi video lớn như UDK (Bộ phát triển Unreal) hoặc

Cremengine, điều này chủ yếu là do khả năng tạo ra những cảnh thực tế thực tế với một

Số lượng chi tiết.

14

2.1.5 Lớp độc lập nền tảng

Hầu hết các công cụ cần có khả năng thực thi các ứng dụng trên nhiều nền tảng

Phần cứng, lớp này nằm trên các lớp phần cứng, trình điều khiển, hệ điều hành và phần mềm thứ ba.Cái này

Tính độc lập có thể được thực hiện bằng cách gói hoặc thay thế các chức năng tiêu chuẩn của ngôn ngữ lập trình,

gọi đến hệ điều hành và tập hợp các giao diện lập trình ứng dụng (API) được sử dụng bởi

do đó, lớp độc lập của nền tảng đảm bảo một hành vi nhất quán cho tất cả

Nền tảng phần cứng.

2.1.6 Hệ thống chính

Mỗi công cụ đồ họa yêu cầu một bộ công cụ phần mềm tạo điều kiện phát triển động cơ,

Đây có thể là việc triển khai riêng của nhà phát triển, cũng như các nhà sách được phát triển bởi các bên thứ ba.

Một số ví dụ về lớp này được trình bày chi tiết dưới đây:

Tài sản: Tương ứng với một loạt các dòng kiểm tra lỗi, chúng được chèn vào

Mục đích của việc nắm bắt những sai lầm logic và quyền truy cập không được lập trình viên cho phép.Các

Tài sản thường được loại bỏ trong các phiên bản ứng dụng của ứng dụng.

Thư viện toán học: Động cơ đồ họa hoạt động trực tiếp với một số lượng lớn các chức năng

Toán học, đó là lý do tại sao nó trở nên gần như không thể thiếu để có một tập hợp các chức năng toán học

và các cấu trúc dữ liệu tạo điều kiện cho các tính toán khác nhau cuối cùng sẽ tạo ra môi trường 3D.

Các thư viện này thường giúp tạo ra các vectơ và ma trận, bậc bốn, bản dịch,

Lượng giác, hoạt động hình học với các đường, hình cầu, tạo ra các dự đoán khác nhau và

Bất kỳ chức năng nào khác mà động cơ yêu cầu [Lengyel, 2012].

Cấu trúc dữ liệu và thuật toán: Trừ khi các nhà thiết kế động cơ đã quyết định tin tưởng

hoàn toàn trong các thư viện thứ ba, như trong thư viện mẫu C ++ (STL) tiêu chuẩn, một tập hợp

Các công cụ để quản lý cấu trúc dữ liệu và thuật toán là cần thiết.Họ thường được lên kế hoạch

tay, cho phép giảm thiểu và loại bỏ phân bổ bộ nhớ động và đảm bảo

hiệu suất tối ưu.

2.1.7 Quản trị viên tài nguyên

Trong mọi động cơ, Trình quản lý tài nguyên cung cấp một giao diện thống nhất để truy cập vào nhiều

Các loại tài nguyên mà ứng dụng đồ họa có thể cần.Trong một số động cơ, điều này được thực hiện theo một cách

phù hợp và tập trung cao, trong khi ở các phương pháp khác, họ cung cấp tự do cho lập trình viên để truy cập

trực tiếp đến các loại hồ sơ được lưu trữ trên đĩa với hệ thống hiểu tệp chuyên dụng

chẳng hạn như các tệp .pak hoặc .bsp, chứa một tập hợp các tài nguyên của tất cả các loại (thực thể, kết cấu, khuôn mặt,

các nút, kế hoạch, v.v.).

15

2.1.8 Kết xuất mức thấp

Động cơ kết xuất tương ứng với một trong những yếu tố phức tạp và rộng nhất trong bất kỳ loại

Đồ họa động cơ.Các trình kết xuất có thể được thực hiện theo nhiều cách khác nhau, mặc dù vậy, điều tuyệt vời nhất

Một phần của các kết xuất hiện tại chia sẻ một số đặc điểm cơ bản.Trong các phần phụ sau đây

Động cơ kết xuất được trình bày bởi một kiến ​​trúc được chia thành các lớp.Kết xuất thấp là

Chịu trách nhiệm thiết lập các cơ sở mà từ đó phần còn lại của các yếu tố kết xuất sẽ được phát triển.Trong này

Cấp độ, thiết kế tập trung vào việc kết xuất một tập hợp nguyên thủy hình học càng nhanh càng tốt,

Thậm chí không tập trung vào các bộ phận màn hình, chúng sẽ được nhìn thấy.Ở cấp độ này, bạn có thể thấy một số yếu tố

BẰNG:

Máy ảnh: Máy ảnh chịu trách nhiệm xác định trường tầm nhìn mà người dùng sẽ có từ loại

Phép chiếu xác định cho cảnh.Trong các phiên bản đơn giản của đường ống kết xuất, bạn cũng

Họ phụ trách hầu hết các trường hợp xác định ma trận MVP (chiếu, chế độ xem và mô hình)

từ đó các đối tượng khác nhau được đặt trên sân khấu.

Văn bản và nguồn: Đối với việc tạo văn bản và đài phun nước, cũng như một số yếu tố của giao diện

Biểu đồ người dùng (GUI), cơ sở cho phép chiếu tương ứng với kết quả

Dự kiến, nếu điều này tương ứng với văn bản hoặc hình ảnh nằm trên màn hình, việc sử dụng

một hình chiếu trực giao liên quan đến kích thước của cửa sổ, trong khi ma trận chiếu trong

Quan điểm có thể được sử dụng để đặt văn bản trong một số yếu tố 3D.

Quản trị viên kết cấu: Điều này cho phép duy trì kiểm soát kết cấu của từng yếu tố của

Ứng dụng, trong đó là bộ bit của mỗi hình ảnh, ngoài chiều rộng và cao của nó.

ViewPort và Windows ảo: Windows ảo tương ứng với tập hợp các cửa sổ được tạo bởi

Trình điều khiển thiết bị cửa sổ mà từ đó khung vẽ được tạo ra để vẽ khác nhau

Mô hình 3D.

Viewport thường được sử dụng để thiết lập các khu vực được vẽ khác nhau trong cùng một bức tranh, với

Điều này có thể được chuyển đến kích thước của cửa sổ liên quan đến khung vẽ mà nó chứa bên trong,

cho phép ví dụ, để có thể vẽ toàn bộ cảnh trong cửa sổ trong sự xuất hiện 1: 3.TRONG

Hình 2.4 có thể quan sát chuyển đổi chế độ xem trong đó khu vực ban đầu của

Cửa sổ, làm cho kết quả cuối cùng của hình học có thể được quan sát ở một kích thước lớn hơn.

Hình 2.4 Chuyển đổi chế độ xem [Shalini, 2004]

16

2.1.9 Biểu đồ cảnh / Tối ưu hóa Culling

Theo quan sát trong phần trước, kết xuất mức thấp rút ra tất cả hình học, mà không tính toán

Điều nào hiện không được nhìn thấy (mà không xem xét tính toán che giấu của Back-ce

Culling hoặc hình tam giác cắt).Đối với các ứng dụng đồ họa nhỏ, việc triển khai thất vọng là đủ

CULL (Thuật toán đơn giản về việc loại bỏ các đối tượng không hiển thị bởi máy ảnh), nhưng khi thế giới

Chúng bắt đầu trở nên ngày càng phức tạp, cần phải áp dụng các loại thuật toán khác, chẳng hạn như

Cấu trúc dữ liệu phân khu không gian.

2.1.9.1 Phân vùng nhị phân của không gian

Một trong những kỹ thuật này được sử dụng để chia nhỏ không gian được gọi là phân vùng nhị phân của không gian (BSP).Các

Phân vùng không gian nhị phân là một phương pháp để chia nhỏ không gian trong các phần tử lồi

sử dụng kế hoạch.Phân khu này cho phép thể hiện cảnh bằng cách cấu trúc dữ liệu trong cây,

được gọi là cây BSP.Một trong những chức năng của cấu trúc này là tổ chức các đa giác của

Mô hình phân cấp liên quan đến đại diện của các vị trí trong không gian [Gómez et al., 1999].bên trong

Hình 2.5 Có thể quan sát thấy từ một đa giác, cây BSP được tạo ra, chia nhỏ bề mặt

Dần dần thông qua các mặt phẳng, có được đa giác lồi.

Hình 2.5 Ví dụ BSP Tree [URL 4, 2011]

2.1.9.2 Hệ thống cấp độ chi tiết

Một cách khác để cải thiện hiệu suất ứng dụng có thể là giảm mức độ chi tiết của một

Một số mô hình 3D nhất định thông qua việc sử dụng (hệ thống cấp chi tiết).Nói chung, một cảnh 3D là

bao gồm một số lượng lớn các đa giác, thường không được nhận thức hoàn toàn bởi

Người dùng [URL 5, 2009].Để cải thiện hiệu quả của các ứng dụng, nên sử dụng các phiên bản đơn giản hơn của

Hình học cho các yếu tố không có sự liên quan trực quan tuyệt vời tại một số thời điểm nhất định, ví dụ,

Hình học rất xa tầm nhìn của người dùng (xem Hình 2.6).

17

Hình 2.6 Ví dụ về các loại LOD khác nhau [URL 5, 2009]

2.1.10 Hiệu ứng hình ảnh

Hầu hết các động cơ đồ họa hiện đại thực hiện nhiều hiệu ứng hình ảnh,

có thể là: các hệ thống cụ thể (khói, lửa, vụ nổ, dấu vân tay, v.v.), bóng tối động,

Hiệu ứng xử lý sau xử lý, hệ thống decal (dấu chân trên bề mặt 3D, lỗ đạn, v.v.), chống răng cưa a

Toàn màn hình (FSAA), trong số nhiều người khác.

2.1.11 Mặt trước

Một loạt các ứng dụng đồ họa sử dụng môi trường 2D trên cảnh 3D bởi một số

mục đích, một số trong số này có thể là việc tạo ra giao diện đồ họa người dùng (GUI), trực quan hóa

Các yếu tố được trình bày tại mọi thời điểm của ứng dụng, được gọi là Hiển thị Heads-Up (HUD), trong số các yếu tố khác.

2.1.12 Hồ sơ và công cụ thanh lọc

Bởi vì hầu hết các ứng dụng đồ họa hoạt động trong thời gian thực,

Thực hiện một hệ thống đo lường hiệu suất của nó để cải thiện.Lớp này

bao gồm tập hợp các công cụ phân tích và phương tiện để thanh lọc ứng dụng, chẳng hạn như

Bản vẽ của việc thanh lọc, cung cấp thông tin qua menu ứng dụng hoặc bảng điều khiển và khả năng

để ghi lại và vui mừng ứng dụng cho mục đích thanh lọc và kiểm tra.

2.1.13 va chạm và vật lý

Va chạm là một yếu tố rất quan trọng cho bất kỳ loại ứng dụng đồ họa nào.Không có điều này, các đối tượng

Họ có thể hợp nhất và không thể tương tác với thế giới ảo theo bất kỳ cách nào.Tập hợp các mô phỏng

Động lực thực tế hoặc bán thực tế được gọi trong ngành công nghiệp trò chơi video như hệ thống

18

Thuộc vật chấtĐể làm điều này, hầu hết các động cơ đều sử dụng SDK thứ ba, thường là

Họ tích hợp vào động cơ.

Có một số động cơ vật lý, cả là nguồn riêng tư và nguồn mở.Nhiều động cơ

Các nhà vật lý cấp các mô phỏng khá thực tế về các yếu tố tương tác với môi trường, chẳng hạn như mô phỏng

Lực lượng, va chạm, nước, gió, cơ thể cứng nhắc, cơ thể mềm, dây, v.v.

Dự án này đã chọn việc thực hiện Vật lý Bullet làm động cơ vật lý [URL 6,

2014], điều này chủ yếu là do sự chấp nhận rộng rãi trong việc phát triển các ứng dụng độc lập,

Tài liệu mở rộng và một cộng đồng các nhà phát triển không ngừng tăng trưởng.

FIGURA 2.7 PIPELINE DE BULLET Vật lý [URL 6, 2014]

Vật lý đạn có thể mô phỏng một thế giới thông qua vật lý cho cả cứng nhắc và cơ thể

mềm, trong Hình 2.7 Đường ống vật lý vật lý được trình bày, do

Các đặc điểm dự án sẽ chịu trách nhiệm thực hiện các tính toán tương ứng với vật lý liên quan đến

giả lập.Đường ống này được chia chủ yếu thành sáu phần:

Dữ liệu va chạm: Phần này được lưu trữ bộ dữ liệu va chạm được sử dụng để phát hiện

của các vụ va chạm, một số yếu tố này là các hình ảnh va chạm, có thể là hộp, vòng tròn

và thậm chí các mô hình 3D;Các đối tượng Hộp giới hạn (AABB) của Trục cũng được định vị

Nó bao gồm một thùng được căn chỉnh mà không có vòng quay nào được thực hiện, nó phục vụ cho một phát hiện va chạm

nhanh.

Dữ liệu động: tập hợp các thuộc tính xác định tính năng động mà

Các đối tượng từng được tích hợp vào thế giới được xác định bởi động cơ vật lý.Các thuộc tính như

Tốc độ biến đổi, quán tính, khối lượng, trong số những người khác.

19

Trọng lực và biến đổi động lực lực đẩy: pha này áp dụng trọng lực và

biến đổi một cách dự đoán.

Giai đoạn phát hiện va chạm lớn: Phát hiện va chạm đầu tiên được thực hiện từ AABB

Trong mỗi mô hình, điều này cho phép loại trừ tập hợp các đối tượng sẽ không hợp tác, đó là một phương pháp khá

nhanh chóng và hiệu quả.

Pha phát hiện va chạm hẹp: Một khi đã được phát hiện va chạm bởi AABB

được thực hiện trong giai đoạn trước, một phát hiện va chạm phức tạp hơn được thực hiện, trong đó

Tính toán xoay và dịch của các đối tượng tương ứng.

Hạn chế

tương ứng với các hạn chế khác nhau của chuyển động của các đối tượng và tập hợp

Vị trí đối tượng.

Hình 2.8 Các loại ràng buộc trong Vật lý Bullet [URL 6, 2014]

Xem xét loại phương tiện để mô phỏng, các ràng buộc được đặt ra từ đó

Họ sẽ thực hiện các kết nối khác nhau của các bên.

Hình 2.8 cho thấy ràng buộc rằng Vật lý Bullet thực hiện tương ứng với động lực của

Đẩy tương tác cả với dữ liệu va chạm và dữ liệu động, ràng buộc được quan sát trong

Hình tương ứng với: ràng buộc của điểm đến điểm (a), ràng buộc của bản lề (b) và ràng buộc của slide (c).

20

2.1.14 Animación

Trong hầu hết các ứng dụng với các mô hình bán hữu cơ (như con người hoặc động vật)

hệ thống hoạt hình.Hệ thống hoạt hình cho phép khuyến khích các đối tượng từ các biến đổi cơ bản trong

Các trục XYZ, tương ứng với vòng quay, tỷ lệ và dịch của các đối tượng này;Mặt khác, bạn có thể

Khuyến khích về mặt hình thức, trong đó các kỹ thuật khác nhau được áp dụng để mô phỏng bộ xương của các đối tượng, trong

trong đó một cấu trúc trung tâm được xác định với khả năng ảnh hưởng đến hình thức và chuyển động của các đỉnh

Họ tương tác với mỗi xương.

2.1.15 Thiết bị giao diện người (HID)

Trong lớp này, các mục khác nhau được xử lý bởi người dùng, được lấy thông qua một số

Hit, một số vé này có thể là chuột và bàn phím, cần điều khiển, phẫu thuật, trong số những người khác.Thường là

Tập hợp các sự kiện để thu thập các giao diện này được cấp bởi SDK thứ ba, đặc biệt là API

cho phép quản lý cửa sổ, được gọi là người xử lý sự kiện.

2.1.16 Âm thanh

Âm thanh cũng quan trọng như đồ họa trong bất kỳ động cơ đồ họa nào.Mặc dù vậy, âm thanh cho

Chung không áp dụng tầm quan trọng giống như kết xuất, vật lý, hoạt hình, AI và trò chơi.

Việc áp dụng một công cụ âm thanh không tầm thường trong việc tạo ra một ứng dụng đồ họa, đặc biệt là trong một

Ứng dụng đồ họa 3D, điều này chủ yếu là do thực tế là một bộ quy tắc cho phép điều chỉnh nên được áp dụng

Các thông số khác nhau của mỗi âm thanh trong thời gian thực.

2.1.17 Mạng

Hiện tại mạng đã trở thành một đặc điểm gần như cơ bản trong hầu hết các ứng dụng

Đồ họa, trong đó sự gia tăng thú vị trong các ứng dụng tương tác phân tán (ngày) [SMED,

2008].Nhiều ứng dụng cho phép một số lượng lớn người dùng kết nối trong một thế giới ảo duy nhất.Các

Các ứng dụng có nhiều người dùng có thể được chia thành bốn phần:

Đa dạng trên một màn hình: hai hoặc nhiều thiết bị giao diện người (bàn phím, cần điều khiển,

Tay lái, v.v.) được kết nối trên một màn hình duy nhất.

Multi -user có màn hình chia: Nhiều người dùng được kết nối với một môi trường duy nhất, trong đó

Chia màn hình theo số lượng người dùng.

Multusuario Connected EN Red: Nhiều máy tính o Consoles Con được kết nối đồng thời.

Ứng dụng nhiều người dùng trực tuyến lớn: Hàng trăm ngàn người dùng kết nối đồng thời với

Thế giới ảo dai dẳng được tổ chức bởi một số lượng lớn máy chủ.

21

2.1.18 Hệ thống cơ sở trò chơi

Thuật ngữ trò chơi đề cập đến hành động diễn ra trong ứng dụng, các quy tắc kiểm soát

Thế giới 3D trong đó ứng dụng diễn ra, các hành động được thực hiện và các hành động khác mà nó thực hiện

ra người dùng.Lớp này cho phép lấp đầy khoảng trống giữa mã trò chơi và các hệ thống của

Động cơ cấp thấp.

Khi một ứng dụng bắt đầu phát triển, nó có thể được chia thành một tập hợp các mảnh, được gọi là

Khu vực thế giới.Trong Hình 2.9, một tập hợp các mục tiêu liên quan đến nhau có thể được quan sát liên quan đến

Tập hợp các mảnh của thế giới.

Hình 2.9 Mục tiêu của một ứng dụng bởi các mảnh [Gregory, 2009]

2.1.19 Hệ thống con ứng dụng cụ thể

Điều này tương ứng với lớp trên của kiến ​​trúc của động cơ đồ họa, trong một số hệ thống này

Camera, trí tuệ nhân tạo để kiểm soát các nhân vật không phải là người chơi (NPC), phương tiện, v.v.Liệu

Tôi có thể thiết lập một ranh giới rõ ràng giữa động cơ và ứng dụng, nó sẽ nằm trong số các hệ thống con cụ thể

Và lối chơi.

22

2.2 Mô hình thiết kế

Do các vấn đề khác nhau phát sinh khi mã bắt đầu ngày càng phức tạp hơn,

Họ đã xem xét một tập hợp các mẫu được định hướng theo lập trình của các ứng dụng đồ họa, các mẫu này

Các bộ phận cơ bản tương ứng với thiết kế của công cụ đồ họa, cũng như đơn giản hóa và cải thiện

Hiệu suất ứng dụng.

Các mẫu thiết kế là các hình thức được biết đến và đã được chứng minh để giải quyết các vấn đề thiết kế đang định kỳ

trong thời gian.Các mô hình thiết kế được sử dụng rộng rãi trong các ngành sáng tạo và kỹ thuật.Cái này

Hình thức, việc tái sử dụng các thành phần này giúp cải thiện thời gian thiết kế.Các mẫu tổng hợp

Truyền thống và kinh nghiệm chuyên môn của các nhà thiết kế phần mềm có kinh nghiệm đã đánh giá và chứng minh rằng

Giải pháp được cung cấp là một giải pháp tốt trong một bối cảnh nhất định [Vallejo và Martín, 2013].

Dưới đây là một số mẫu này, chúng đã được định hướng để phát triển các ứng dụng

Đồ thị và những người khác đã phát triển chủ yếu cho mục đích đó, điều đáng nói là những người khác đã được thực hiện

Các loại mẫu không được đề cập trong các phần sau, chẳng hạn như mẫu singleton và vòng lặp

Hiệu trưởng.

2.2.1 Nguyên mẫu

Mẫu này cung cấp sự trừu tượng khi tạo các loại đối tượng khác nhau.Tuy nhiên, quá

giúp giảm kích thước của hệ thống phân cấp các thực thể tạo nên một mô hình nhất định, cũng cho phép

Tạo các thực thể mới được tải trong thời gian thực hiện [Vallejo và Martín, 2013].

Vấn đề chủ yếu nằm ở tình trạng quá tải có thể tồn tại khi tạo ra

Số lượng các mô hình cùng loại, trong đó thậm chí có thể cần phải tải chúng trong thời gian thực.Giải pháp

Nó nằm ở việc đáp ứng các nhu cầu năng động mới trong việc tạo ra các loại thực thể khác nhau, mà không mất

trừu tượng hóa về việc tạo ra nó.

Hình 2.10 Mẫu thiết kế nguyên mẫu [Vallejo và Martín, 2013]

23

Trong Hình 2.10, bạn có thể thấy việc triển khai mẫu thiết kế nguyên mẫu, nơi bạn có thể thấy

Sự kết hợp của phương thức bản sao (), cho phép tạo một thể hiện của lớp mà không cần phải thực hiện

Thực hiện điều này cho mỗi yếu tố mong muốn tạo ra.

2.2.2 Fly weight

Mô hình thiết kế này bao gồm việc tái sử dụng bộ dữ liệu chung có thể có danh sách

của các thực thể.Trong sự phát triển của động cơ đồ họa, điều này có thể có nghĩa là việc sử dụng một kết cấu hoặc tập hợp

Các đỉnh của một số lượng lớn các mô hình 3D, làm giảm đáng kể quá tải ban đầu có nghĩa là

Đọc các dữ liệu này, cũng như lượng bộ nhớ cần thiết để làm việc với chúng.

Hình 2.11 Các thực thể mô hình 3D truyền thống của Liên Hợp Quốc [URL 7, 2014]

Trong Hình 2.11, bạn có thể thấy việc triển khai điển hình của một tập hợp các mô hình 3D, mà

Họ có hình học, vật liệu, vị trí và xoay riêng của họ.Nếu nó được biết trước rằng tập hợp hình học và

Các tài liệu sẽ không thay đổi trong toàn bộ ứng dụng, việc tái sử dụng các yếu tố nói trên có thể được xem xét

Tạo điều kiện cho tải ban đầu mà điều này đòi hỏi, cũng như giảm quá trình xử lý mà GPU thực hiện.

May mắn thay, API và card đồ họa hiện tại cho phép điều này được thực hiện bằng cách ngay lập tức

Hình học, có thể được thực hiện bởi cả API OPEGL và API Direct3D.Sự tức thời của

Hình học cải thiện tiềm năng hiệu suất tại thời điểm thực hiện phiên bản hình học bằng cách cho phép xác định

rõ ràng là số lượng bản sao của lưới được hiển thị, cũng cho phép chỉ định

phân biệt các tham số của từng luồng dữ liệu riêng biệt.

24

Hình 2.12 Mô hình thiết kế Flyk weight [URL 7, 2014]

Trong cả hai đồ họa, hai luồng dữ liệu được chỉ định.Đầu tiên là tập dữ liệu phổ biến (trong

Hình 2.12 Bạn có thể thấy dữ liệu hình học và vật liệu), và thứ hai là danh sách các trường hợp và nó

các tham số được sử dụng để thay đổi tập dữ liệu đầu tiên sẽ được rút ra tại mỗi thời điểm, trong

Ví dụ tương ứng với mô hình vị trí và xoay của mô hình.Với một cuộc gọi đơn giản, họ có thể

Tạo một số lượng lớn các thực thể 3D sử dụng cùng một tập dữ liệu chung.

2.3 Mặt tiền

Mô hình mặt tiền làm tăng mức độ trừu tượng của một hệ thống nhất định để ẩn một số chi tiết nhất định của nó

Thực hiện và làm cho việc sử dụng của nó dễ dàng hơn.Nhiều hệ thống có thể được kết hợp vào ứng dụng

Để cung cấp mức độ trừu tượng cao hơn, nó đủ để chúng chung chung và có thể tái sử dụng để

Sự phức tạp tăng đáng kể và do đó, việc sử dụng nó ngày càng phức tạp.Sử dụng mẫu

Mặt tiền, mức độ trừu tượng của khách hàng cao hơn được cung cấp để một lớp mặt tiền mặt được xây dựng giữa

Anh ta và các hệ thống con với mức độ trừu tượng thấp hơn (xem Hình 2.13).

Hình 2.13 Ví dụ, ứng dụng của mặt tiền Patrón [Vallejo và Martin, 2013]

25

2.4 Người quan sát

Quan sát tương ứng với mô hình thiết kế hành vi, được sử dụng để xác định các mối quan hệ 1 a n

để một đối tượng có thể tự động thông báo và/hoặc cập nhật trạng thái của người khác.Người quan sát cung cấp a

Thiết kế với ít sự kết hợp giữa các nhà quan sát và đối tượng quan sát được, trong đó một triết lý về

Xuất bản/đăng ký, có nghĩa là các đối tượng quan sát viên phải được đăng ký trong đối tượng quan sát,

Còn được gọi là chủ đề.Vì vậy, khi sự kiện thích hợp xảy ra, đối tượng sẽ nhận được thông báo và sẽ là

phụ trách thông báo cho tất cả các yếu tố đã ký hợp đồng với anh ta thông qua phương thức Cập nhật ().

Hình 2.14 Sơ đồ trình tự sử dụng mẫu người quan sát [Vallejo và Martín, 2013]

Trong Hình 2.14, bạn có thể thấy việc thực hiện mô hình thiết kế quan sát bằng sơ đồ

của chuỗi, mô tả thứ tự của các lời mời trong hệ thống.Người quan sát đăng ký

Chủ đề thông qua hoạt động của tệp đính kèm () và sau đó nhận được cập nhật.Để ngừng nhận như vậy

Thông báo sử dụng hoạt động của Detach ().

26

Chương 3: Mô hình 3D

3.1 Kỹ thuật mô hình hóa

Hiện tại có một loạt các khả năng khi chọn một kỹ thuật mô hình, tốt nhất

Kỹ thuật phụ thuộc nhiều lần vào những gì bạn muốn làm.Cần lưu ý rằng các kỹ thuật mô hình hóa khác nhau

Chúng có thể được sử dụng cùng nhau để tạo ra một mô hình 3D duy nhất.Một số kỹ thuật sẽ được hiển thị bên dưới

cho việc tạo ra các mô hình 3D.

3.1.1 Mô hình đa giác

Đây là một trong những kỹ thuật được sử dụng nhiều nhất, chủ yếu là do tốc độ và sự đơn giản của nó khi tạo ra

nhiều loại bề mặt.Mô hình đa giác bao gồm sửa đổi trực tiếp các đỉnh, cạnh và

đa giác của bất kỳ loại hình học.Được biết đến nhiều nhất về kỹ thuật này là mô hình hộp, hoặc mô hình tiền mặt,

Kỹ thuật bao gồm việc tạo ra mô hình bắt đầu bằng một hộp làm cơ sở.Trong Hình 3.1, bạn có thể

Quan sát cách tạo một bàn chân từ sự dịch chuyển của các đỉnh và ứng dụng một số biến đổi thành

Các đa giác.

Hình 3.1 Mô hình hóa hộp ví dụ [URL 8, 2006]

Kỹ thuật này là lý tưởng cho việc tạo ra các mô hình có cấu trúc cứng nhắc vốn có, chẳng hạn như

Chúng có thể là các tòa nhà, nhà cửa, đồ nội thất hoặc một số bề mặt không yêu cầu chi tiết tuyệt vời, trong số những người khác.

Một trong những khó khăn chính của kỹ thuật này là độ phân giải sẽ được cung cấp cho

Bề mặt trước, nếu bạn cần tăng số lượng đa giác sau này sẽ phức tạp hơn nhiều.

27

3.1.2 Mô hình hóa bằng splines

Mô hình hóa thông qua spline hoặc còn được gọi là mô hình NURBS, bao gồm việc tạo ra các mô hình 3D để

Bắt đầu từ việc sử dụng các dòng vectơ trong 2D (spline) nằm trong không gian 3D, sau đó là

Chúng áp dụng các máy biến áp lưới để tạo ra bề mặt của hình mong muốn, như có thể thấy trong

Ví dụ về Hình 3.2.

Hình 3.2 Ví dụ Mô hình Nurbs [URL 9, 2004]

Kỹ thuật này, không giống như mô hình hộp, phù hợp hơn nhiều cho việc tạo bề mặt

Hữu cơ, nghĩa là, các mô hình có nhiều bề mặt cong hoặc với độ phức tạp trung bình.Anh ta

Vấn đề chính của việc mô hình hóa thông qua splines là "hồ sơ".Hồ sơ là kết nối và vị trí của

các dòng vectơ khác nhau sẽ tạo ra mô hình, mô hình càng phức tạp và cong thì càng lớn

Số lượng spline là cần thiết.Trong Hình 3.3, hồ sơ được sử dụng cho

Tạo ra một bề mặt.

Hình 3.3 Sử dụng hồ sơ [URL 10, 2011]

28

3.1.3 Điêu khắc kỹ thuật số

Một vài năm trước, một số ứng dụng để tạo ra các mô hình 3D được sử dụng để hứa hẹn

"Điêu khắc kỹ thuật số" hoặc "điêu khắc kỹ thuật số" để chỉ một giao diện trong đó các công cụ được sử dụng để

Mô hình hóa rất trực quan đến nỗi nó mang lại cảm giác làm việc trực tiếp với Clay [Keller, 2011].

Kỹ thuật mô hình này về cơ bản hoạt động với các lưới có độ phân giải rất cao mà chúng áp dụng

Các loại công cụ khác nhau để định hình nó.Trong một số trường hợp, các nhà thiết kế phải thực hiện các mô hình 3D

các chuyên gia nhưng duy trì một lượng đa giác thấp (poly thấp), một giải pháp thay thế để đạt được điều này

Yêu cầu là tạo mô hình thông qua kỹ thuật điêu khắc, sau này trở thành bản đồ của

bình thường và gán mô hình theo đa giác thấp, do đó tiếp cận một lượng lớn các chi tiết

Ông sở hữu lưới được tạo ra ở đầu [Gregory, 2009].

Hình 3.4 Ví dụ về điêu khắc [URL 11, 2011]

Trong Hình 3.4, bạn có thể thấy quá trình mô hình 3D bắt đầu lấy biểu mẫu mong muốn vào

Đi định hình nó và tăng số lượng đa giác.Không giống như các kỹ thuật mô hình hóa khác, trong việc điêu khắc

Bạn có thể bắt đầu làm việc từ một mô hình đã có đa giác cao, chẳng hạn như

Ví dụ một quả cầu có nhiều khuôn mặt.

3.2 Kết cấu

Kết cấu bao gồm quá trình lấy một bề mặt và sửa đổi sự xuất hiện của nó bằng cách sử dụng

Hình ảnh, chức năng toán học hoặc bất kỳ nguồn gốc dữ liệu nào khác.Nguồn gốc dữ liệu này được gọi là kết cấu.Mỗi

Kết cấu bao gồm một tập hợp các texels, được đại diện bởi một ma trận của Texels

[Valient, 2001], [Glassner, 1989].Trong Hình 3.5, sự thay đổi xảy ra khi áp dụng có thể được quan sát rõ ràng

Một kết cấu cho bề mặt 3D, một quá trình thường được gọi là ánh xạ kết cấu.

29

Hình 3.5 Ví dụ ánh xạ kết cấu [URL 12, 2008]

Ngoài ra, phải xem xét rằng kết cấu là một trong những giai đoạn quan trọng nhất khi bạn muốn mô hình hóa

Một đối tượng 3D, điều này chủ yếu là do bề mặt chỉ có màu sắc phẳng và trong nhiều trường hợp

cần thiết để cấp một mức độ cá nhân hóa và chủ nghĩa hiện thực lớn hơn.

3.2.1 Kỹ thuật kết cấu

Có nhiều cách để kết cấu một bề mặt, một số trong số chúng sẽ được chi tiết dưới đây.

3.2.1.1 Thủ tục tố tụng

Được tạo ra bởi các công thức toán học, họ tìm cách tạo ra các biểu diễn thực của các yếu tố như: mây,

Gỗ, kim loại, đá, v.v.Những kết cấu này có thể được tạo từ hai loại bản đồ: bản đồ hình học hoặc

Bản đồ ngẫu nhiên.Bản đồ hình học có một mẫu được xác định rõ, vì vậy chúng không có sự ngẫu nhiên,

Trong khi các bản đồ ngẫu nhiên là không thể đoán trước, nhưng thường tuân theo một mẫu thông thường (xem Hình 3.6).

Hình 3.6 Ví dụ về kết cấu thủ tục [URL 13, 2009]

30

Dưới đây là một số ưu điểm và nhược điểm của việc sử dụng kết cấu thủ tục [URL

13, 2009]:

Chúng dày đặc: Điều này có nghĩa là không có độ sắc nét nào bị mất bằng cách tăng sự gần gũi của nó với buồng.

Chúng là vô hạn: bởi vì chúng được xác định cho toàn bộ không gian, điều này rất hữu ích khi cần thiết để kết cấu

Mô hình với kích thước cao.

Họ chiếm không gian nhỏ: vì chúng không được lưu trữ trên đĩa như hình ảnh.

Khó tạo ra: bởi vì những thứ này không được vẽ, nhưng được tạo ra bởi các thuật toán toán học.

Họ yêu cầu xử lý lớn hơn: mặc dù phát hành ổ cứng, CPU hiện phải chịu trách nhiệm

Xử lý cần thiết để tạo kết cấu.

3.2.1.2 Sơn đỉnh

Vertex Paint là một cách đơn giản để sơn các bề mặt của một mô hình bằng cách thao tác trực tiếp

của màu trong các đỉnh [URL 14, 2012].

Hình 3.7 Ví dụ về sơn đỉnh [URL 15, 2009]

Hiện tại có nhiều công cụ khác nhau thực hiện kỹ thuật này, điều này được thực hiện thông qua

sử dụng các bàn chải khác nhau, trong đó các thuộc tính khác nhau, chẳng hạn như độ nhám, độ mờ,

Kích thước, màu sắc, cường độ, v.v.Trong Hình 3.7, bạn có thể thấy việc sử dụng kỹ thuật ứng dụng này trực tiếp

đến một bề mặt.

3.2.1.3 được kết cấu bởi hình ảnh UV

Đúng như tên gọi, kỹ thuật này dựa trên việc sử dụng hình ảnh để tạo kết cấu của một

mẫu vật 3 chiều.Bởi vì kích thước kết cấu ảnh hưởng trực tiếp đến hiệu suất mà nó sẽ có sau này

31

Ứng dụng, nó là nó càng nhỏ càng tốt, xem xét tỷ lệ

Số lượng pixel sẽ được xử lý trong cảnh.Để sử dụng bộ nhớ hiệu quả nhất, nên sử dụng

Kết cấu vuông, chẳng hạn như 128x128, 256x256, 512x512, v.v.

Hình 3.8 được kết cấu bằng bản đồ UV [URL 16, 2006]

Cách hình ảnh tuân thủ lưới, phụ thuộc vào mô hình và hình ảnh được sử dụng.hiện hữu

Nhiều cách để tham gia hình ảnh vào mô hình, một trong những cách được sử dụng nhiều nhất là ánh xạ UV.Kỹ thuật này bao gồm

Việc gán các pixel của hình ảnh 2D cho bề mặt của đa giác 3D, theo tọa độ UV (thay thế của

Xy).Khi một mô hình được tạo dưới dạng lưới đa giác sử dụng trình mô hình 3D, tọa độ UV

Chúng có thể được tạo cho từng đỉnh của lưới, nếu sau đó mô hình muốn chuyển sang một công cụ đồ họa,

Điều cần thiết là hình học sở hữu tọa độ UV tương ứng của họ.Trong Hình 3.8, nó có thể được xem là một hình ảnh

Với UV tọa độ, nó áp dụng cho lưới.

3.3 Liệt kê phần mềm mô hình 3D

Một số phần mềm được sử dụng nhiều nhất sẽ được mô tả dưới đây để tạo ra các mô hình 3D:

3D Studio Max:

3D Studio Max là một chương trình mô hình 3D, hoạt hình và kết xuất được phát triển bởi Autodesk

[URL 17, 2014].Việc sử dụng 3D Studio Max cho phép người dùng hiển thị và biểu diễn

các mô hình trong giao diện trực quan, cũng như xuất và được lưu ở các định dạng khác ngoài các định dạng được sử dụng bởi

Chính chương trình.Phần mềm này cung cấp một loạt các công cụ được định hướng theo các hồ sơ khác nhau, chẳng hạn như

Các nhà phát triển trò chơi video, người tạo ra hiệu ứng hình ảnh, nhà thiết kế đồ họa chuyển động, kiến ​​trúc sư,

32

Kỹ sư, v.v.3D Studio Max là một trong những công cụ được sử dụng phổ biến nhất, do nó dài

Quỹ đạo và khả năng mạnh mẽ, ngoài việc tương thích với một số lượng lớn phần mềm bên ngoài.

Maya:

Maya là phần mềm mô hình 3D chủ yếu cho hoạt hình điện ảnh [url 18,

2014].Giống như 3D Studio Max, nhà phát triển hiện tại của nó là Autodesk.Maya được đặc trưng bởi sức mạnh của nó,

Khả năng mở rộng, tùy chỉnh và công cụ, ngoài ra, phần mềm này còn sở hữu MEL (Maya nhúng

Ngôn ngữ), mã hạt nhân của người Maya, có thể tạo các tập lệnh và phần mềm khác nhau.

Phần mềm này cung cấp các công cụ cho hoạt hình, mô hình hóa, mô phỏng, kết xuất, kỹ thuật chuyển động và

thành phần.

Google phác họa:

Phần mềm này cho phép tạo các mô hình 3D thông qua các công cụ trực quan và dễ hiểu.

Nó dành cho bất kỳ loại người dùng nào, nhờ số lượng lớn các hướng dẫn, một trung tâm hỗ trợ hoàn chỉnh và

cho một cộng đồng người dùng toàn cầu.Nhờ Sketchup, các mô hình có thể được xây dựng từ đầu hoặc tải xuống

Điều đó là cần thiết thông qua bộ sưu tập có sẵn trên Google [URL 19, 2014].

Không giống như các chương trình mô hình 3D khác, trong Sketchup, tất cả các mô hình 3D đều được hình thành

Chỉ có hai yếu tố: cạnh và đa giác.Ngoài ra còn có các công cụ như "đẩy/ném", trong đó

Nó cho phép chúng ta thêm các bề mặt phẳng đến các dạng ba chiều.Một số đặc điểm của phần mềm này là: màu

trực tiếp trên bề mặt, chia mô hình thành các phần (để xem nó bên trong), sử dụng các lớp để đặt hàng

Số liệu, trao đổi thông tin với Google Earth (vì họ thuộc cùng một gia đình), trong số những người khác.

Rạp chiếu phim4D:

Được phát triển bởi Maxon, Cinema4D là một phần mềm tạo đồ họa và hoạt hình cấp 3D

Chuyên nghiệp [URL 20, 2014].Một số đặc điểm của phần mềm này là: triển khai vật liệu và kết cấu

Cổ điển và nâng cao, các công cụ hoạt hình, cho phép nhập và xuất sang nhiều định dạng

Lưu trữ để tích hợp với nhiều phần mềm khác, rất nhiều khả năng ánh sáng và bóng mờ, A

Động cơ kết xuất mạnh mẽ, trong số những người khác.

Một số lợi thế của Cinema4D là giao diện linh hoạt và có thể tùy chỉnh cao, cho phép

thích ứng với hình thức công việc của phần mềm dễ dàng hơn;và một đường cong học tập khá cao (trong

So sánh với các loại phần mềm khác để tạo các mô hình 3D).

Zbrush:

Phần mềm điêu khắc kỹ thuật số và các mô hình 3D được phát triển bởi Công ty Pixologic [URL 21,

2014].Zbrush được đưa vào thế giới như một ứng dụng nghệ thuật thử nghiệm với một công nghệ độc đáo, mà

33

Ông đã có thể tạo ra các mô hình với rất nhiều chi tiết và hiệu ứng.Các mô hình mà họ làm việc trên này

Phần mềm, chúng rất khó thực hiện trong các chương trình mô hình hóa thông thường, do kiến ​​trúc của chúng

Định hướng để thực hiện các kỹ thuật mô hình đa giác.

Một quy trình công việc điển hình đang tạo ra cơ sở của hình học mô hình trong một chương trình mô hình hóa

thông thường và sau đó xuất nó sang phần mềm ZBRush để tăng số lượng chi tiết.

Máy xay:

Blender là phần mềm miễn phí, đa nền tảng và nguồn mở.Hiện đang được phát triển bởi

Quỹ Blender theo giấy phép GPL [URL 22, 2014].Hiện tại, Blender tương thích với các nền tảng

Windows, Mac OS X, Linux, Solaris, FreeBSD E Irix.

Phần mềm này cung cấp một phổ rộng của mô hình hóa, hoạt hình, kết cấu và video sau xử lý,

Tất cả điều này trong một gói duy nhất.Một số tính năng chính của phần mềm này là [Hess, 2010]:

Một bộ sáng tạo được tích hợp đầy đủ, cung cấp một loạt các công cụ thiết yếu cho

Việc tạo ra các mô hình 3D, trong số đó là: việc tạo ra các mô hình thông qua các kỹ thuật của

Mô hình thông thường, hỗ trợ điêu khắc kỹ thuật số, kết cấu bởi Vertex Paint, trong số những người khác.

Giao diện đồ họa đặc biệt, hoàn toàn linh hoạt và có thể thích ứng với các yêu cầu khác nhau của

người dùng.

Đa hình thức, do giao diện đồ họa dựa trên OpenGL của nó.

Chất lượng tuyệt vời, sáng tạo nhanh chóng và quy trình làm việc hiệu quả.

Một số lượng lớn người dùng sử dụng phần mềm này.

Kích thước thực thi khá giảm và dễ phân phối.

Hỗ trợ tạo trò chơi video thông qua ngôn ngữ lập trình Python.

34

Chương 4: Phát triển dự án

4.1 Trường hợp nghiên cứu

Các điểm khác nhau tạo nên trường hợp nghiên cứu của dự án này được giải thích dưới đây,

tập trung vào đầu trong trạng thái nghệ thuật của dự án, sau đó là tập hợp các công nghệ được sử dụng cho

Phát triển động cơ đồ họa, sau đó là sự phát triển của trường hợp nghiên cứu và cuối cùng là các thông số kỹ thuật của

Xe được chọn để mô phỏng.Luôn ở trong tâm trí mọi lúc làm thế nào để mô phỏng các sự kiện khác nhau

Theo các mục tiêu của dự án.

4.1.1 Trạng thái nghệ thuật

Một phần lớn các mô phỏng hiện tại đang phát triển bởi các công ty chỉ dành cho

Mô phỏng 3D, ngoài chính ứng dụng, một môi trường gần như thực tế mô phỏng các điều kiện với

Một trong những điều mà người ta sẽ thực sự hoạt động, môi trường này có thể xem xét một tập hợp các màn hình, Manudrios giống hệt

Thực tế, hệ thống treo, tăng tốc bằng độ nghiêng, trong số nhiều hệ thống khác.

Trong [Johnson, 2009] động cơ mô -men xoắn động cơ đồ họa đã được sử dụng để mô phỏng cổng Seattle,

Mục tiêu ban đầu là thực hiện một nghiên cứu khả thi và hiểu về quy trình sản xuất mô phỏng để

thông qua một động cơ trò chơi bắn súng đầu tiên.Phân tích tập trung vào một nơi thực tế cho

Đại diện cho trung thành hơn các vấn đề thực tế mà điều này liên quan đến.Kết quả đồ họa của

Mô phỏng cổng cũng như hiệu suất dựa trên số lượng mô hình được tải trong thời gian thực.bên trong

Hình 4.1 Tải trọng của mô hình 3D đối với động cơ mô -men xoắn có thể được quan sát

Độ trung thực của mô hình đối với môi trường mô hình hóa đã được sử dụng.

Hình 4.1 tải trên mô hình 3D cho ứng dụng [Johnson, 2009]

35

Mô phỏng 3D không chỉ cho phép bạn thiết lập các quy tắc cho việc học nhân viên mà còn có thể

Đóng một vai trò quan trọng trong các lĩnh vực khác, chẳng hạn như phát hiện các yếu tố hạt nhân từ các cảm biến

chuyên.Trong [Christiansen et al., 2008] Việc phát hiện các mối đe dọa này trong một cảng được đánh giá từ

Mô phỏng dựa trên một công cụ trò chơi video.Điều này xem xét các cảm biến có khả năng phát hiện một bộ sóng

Omnidetrectional được ban hành bởi các mối đe dọa, như có thể thấy trong Hình 4.2, (a) tương ứng với mối đe dọa,

(b) các sóng phát ra và (c) cảm biến có khả năng phát hiện các sóng này.Dự án này được thực hiện dựa trên động cơ

OpenArena, là một dẫn xuất động cơ cát quoke III.

Hình 4.2 Phát hiện các mối đe dọa thông qua các cảm biến [Christiansen et al., 2008]

Mô phỏng 3D cũng cho phép dữ liệu được tạo từ nhiều nguồn

Môi trường thực thi, điều này giúp quá trình học tập và hiểu.

Hình 4.3 Trực quan hóa dữ liệu nhiều nguồn [URL 28, 2014]

36

Trong mô phỏng được thực hiện bởi Viện Geodesy và Navigation [URL 28, 2014], bộ đã được tạo ra

của các đối tượng giai đoạn thực sự, dựa trên các hệ thống vệ tinh điều hướng toàn cầu (GNSS) khác nhau.

4.1.2 Công nghệ sẽ được triển khai

Trong trường hợp này, các công nghệ và khái niệm khác nhau được tiếp xúc trong các chương trước sẽ được áp dụng để

Tạo các nguyên mẫu gia tăng khác nhau, các công nghệ đã được chọn từ phân tích khả năng tương thích

giữa những điều này và nhu cầu của dự án.Hầu hết trong số này đã được chọn dựa trên các chức năng

cấp và số lượng tài liệu có sẵn dựa trên sự tích hợp của họ với nền tảng phát triển, chẳng hạn như

Cũng tích hợp với các công nghệ khác.

Như đã đề cập ở trên, API đồ họa sẽ được sử dụng tương ứng với OpenGL, chủ yếu là

Các khả năng đồ họa tuyệt vời được cung cấp và cho khả năng mang dự án đến các nền tảng khác nhau,

thậm chí đến một nền tảng web.Nó cũng đã được coi là sử dụng các đặc điểm mới của OpenGL, vì vậy

rằng các chức năng của đường ống mới sẽ được thực hiện, theo cách này, Shaader khác nhau có thể được sử dụng

thông qua ngôn ngữ lập trình GLSL (ngôn ngữ Shader OpenGL).

Ngôn ngữ lập trình được chọn là C ++, điều này vì khả năng tương thích tồn tại với một lượng lớn

Các thư viện liên quan đến sự phát triển bản thân đòi hỏi một công cụ đồ họa (thư viện vật lý, thư viện xử lý

các sự kiện, thư viện để tạo ra các cửa sổ, các nhà sách âm thanh, trong số những người khác), và cũng để sử dụng rộng rãi và

Tài liệu hiện có với việc triển khai OpenGL trong tất cả các phiên bản của nó (cả hai phiên bản họ tạo

Sử dụng đường ống cũ của OpenGL làm đường ống mới).

Xem xét các yếu tố trên, để tạo và quản lý các cửa sổ, SDL 2.0 đã được chọn

(Lớp DirectMedia đơn giản), là thư viện phát triển đa nền tảng cung cấp quyền truy cập cấp thấp

Âm thanh, bàn phím, chuột, cần điều khiển và phần cứng đồ họa thông qua OpenGL và Direct3D [URL 23, 2014].Hiệu sách này

Nó được viết bằng C và hoạt động nguyên bản với C ++.Trong phiên bản 2.0 của nó, nó cũng cho phép tạo ra nhiều

Windows, trong tương lai có thể cho phép mở rộng khả năng hiển thị của trình giả lập thành môi trường nhân với

Rất ít sửa đổi mã nguồn giả lập.

Để tải các hình ảnh sẽ được áp dụng bằng kết cấu bằng tọa độ UV cho

Các mô hình khác nhau, cũng như cho bất kỳ loại hình ảnh nào khác mà bạn muốn đại diện trong trình giả lập

(như các yếu tố GUI), Nhà sách Freeimage sẽ được sử dụng [URL 24, 2014], chỉ đơn giản

Tải rất nhiều định dạng hình ảnh (PNG, JPEG, BMP, GIF, trong số các định dạng khác), có được từ các

Đặt các bit cần thiết cho bốn kênh (RGBA) sau đó sẽ được OpenGL đọc.

Để đọc các nguồn, hiệu sách SDL_TTF 2.0 [URL 25, 2014] sẽ được sử dụng, cho phép tạo ra

một hình ảnh từ tệp đài phun nước TTF (trueType) và văn bản được xác định trước, cuối cùng tạo ra một

37

hình ảnh tương tự như các hình ảnh được tạo bởi sdl_image, cho phép sau đó tải tập hợp

de bit một opengl.

Để hoàn thành các âm thanh khác nhau, hiệu sách SDL_Mixer [URL 26, 2014] đã được chọn, trong đó

cấp một tập hợp các chức năng để tái tạo nội dung âm thanh, chấp nhận rất nhiều

định dạngNgoài ra, SDL_Mixer cho phép dễ dàng thực hiện âm thanh và âm nhạc để phát triển

Ứng dụng trong C/C ++.Hiệu sách này đã được chọn và không cho một

Mức độ trừu tượng thấp mà họ làm việc trong một sự cởi mở.

Bởi vì các chức năng OpenGL cho phép lưu trữ một đống ma trận cho cả hai phép chiếu

Đối với chế độ xem và các mô hình đã được thiết lập là lỗi thời trong phiên bản đơn giản hóa của đường ống, nó được thực hiện

cần thiết để sử dụng một thư viện toán học tạo điều kiện cho các tính toán đại số nội tại khác nhau trong

Phát triển động cơ đồ họa.Đây là lý do tại sao Thư viện GLM (Toán học OpenGL) [URL 27,

2014], có cú pháp khá giống với ngôn ngữ lập trình GLSL Shader.Cửa hàng sách này cho phép

cũng tạo ra cả ma trận chiếu trực giao và trong quan điểm cho cảnh cuối cùng

của môi trường 3D, cũng cho phép áp dụng các bản dịch, xoay và mở rộng cho các mô hình thông qua các ma trận của

Chuyển đổi được xác định trước.

Cuối cùng là một động cơ vật lý sẽ sử dụng Vật lý Bullet [URL 6, 2014], cho phép tạo ra môi trường

Vật lý sẽ mô phỏng các chuyển động và vòng quay khác nhau của từng yếu tố tạo nên cảnh 3D,

cũng như tính toán các va chạm khác nhau có thể được thực hiện mọi lúc.Một yếu tố

Điều quan trọng cần xem xét là việc thực hiện các ràng buộc, điều này sẽ cho phép mô phỏng nhiều hơn

Thực tế các chuyển động của các phần khác nhau tạo nên cần cẩu của người đặt tiếp cận, cho phép áp dụng nó

kết nối phức tạp với những điều này, cố gắng thể hiện các chuyển động mà chúng sẽ có trong một kịch bản thực sự theo cách

gần nhất có thể.

Điều đáng nói là sự phát triển của các mô hình 3D khác nhau tạo nên môi trường giả lập là

Họ sẽ thực hiện thông qua phần mềm mô hình máy xay, vì như đã đề cập ở trên, nó miễn phí và tài trợ

một số lượng lớn các công cụ tạo điều kiện đáng kể cho toàn bộ quá trình phát triển đòi hỏi

Tạo ra các mô hình 3D.

4.1.3 Phát triển trường hợp nghiên cứu

Dự án sẽ bao gồm một kịch bản ba chiều trong đó các mô hình khác nhau sẽ được đặt

3D, chúng sẽ đại diện cho tất cả các thực thể mà người dùng có thể tương tác.Môi trường này sẽ được mô phỏng

Từ các hiện tượng vật lý khác nhau có thể xảy ra

Vị trí hoặc sự sụp đổ của một bộ container được xếp chồng lên nhau bởi một cuộc đụng độ có thể với chiếc xe.

38

Các đối tượng 3D sẽ tương tác chủ yếu trong môi trường là các container và phạm vi tiếp cận-

StackerXe sẽ được tách thành một bộ các bộ phận sẽ được kết nối bởi hình ảnh động

Thủ tục với sự trợ giúp của hiệu sách vật lý, điều này cũng sẽ cho phép bạn áp dụng các loại xoay khác nhau cho

các bộ phận theo đặc điểm và giới hạn vật lý của chúng, tất cả thông qua các tính toán thực tế của các tính toán khác nhau

Ràng buộc mà các bộ phận này sẽ tham gia, phong trào bánh xe cũng sẽ được tính toán với hiệu sách

Vật lý, sẽ cho phép di chuyển trên cả bề mặt phẳng và không đều.Liên quan đến các container, những thứ này

Chúng sẽ có trọng lượng tương ứng với kích thước của điều này (20ft hoặc 40ft) và có thể được xếp chồng lên nhau giữa một số.Bốn

Các góc bề mặt container sẽ có các điểm kết nối mà từ đó thiết bị lại có thể

Đặt cần cẩu, theo cách này, container có thể được nâng lên và di chuyển đến một nơi khác, điều này được dự định

Kết hợp bốn hình ảnh va chạm trong hình dạng của một container ở các góc của container, phải được nối

Với bốn con số va chạm khác tương ứng với các điểm kết nối của cần cẩu xe, tính toán của

va chạm giữa các hộp này sẽ được thực hiện bởi AABB, chủ yếu là do phương pháp đơn giản và nhanh chóng của nó

thực hiện;Sau khi tính toán này nếu kết nối được thiết lập, ràng buộc sẽ được áp dụng

tương ứng với từng điểm, kết nối nó và áp dụng vật lý tương ứng với liên minh đã nói.

Để duy trì sự kiểm soát lớn hơn đối với môi trường có thể nhìn thấy của trình giả lập, sự kết hợp của một

Tập hợp các máy ảnh có các đặc điểm khác nhau, những máy ảnh này là:

Một buồng ở người đầu tiên, tương ứng với buồng chính của trình giả lập, nơi

Người dùng điều khiển phương tiện nên phát triển chủ yếu.Máy ảnh này được đặt thành

Chuyển động xe.

Một camera miễn phí, có thể được thay thế tự do bởi môi trường, lưu diễn này mà không phụ thuộc vào

Chuyển động xe.Có thể được sử dụng để đặt điểm thu thập container và cho biết

Người dùng nơi bạn phải để lại container đã nói.

39

4.2 Thiết kế hệ thống

Trong phần này, giai đoạn thiết kế tương ứng với hoạt động của động cơ đồ họa và cả

của trình giả lập, nơi các đặc điểm được cấp cho người dùng của trình giả lập sẽ được xác định một mặt và bởi

Một chức năng khác được thực hiện trong nội bộ bởi động cơ.

4.2.1 Sơ đồ trường hợp sử dụng

Dưới đây là sơ đồ trường hợp sử dụng tương ứng với các hành động khác nhau có thể

Thực hiện người dùng trong trình giả lập (xem Hình 4.4), các chức năng này được trình bày chi tiết bên dưới:

Sửa đổi camera:

o Thay đổi buồng thứ nhất: sửa đổi vị trí của máy ảnh và đặt nó bên trong cabin của

phương tiện, đưa ra một quan điểm thực tế hơn nhiều về cách các đối tượng khác nhau được hình dung trong

xung quanh.

o Thay đổi buồng khán giả: sửa đổi vị trí của máy ảnh và định vị nó bên ngoài cabin của

Xe, ở chế độ miễn phí, cho phép một tầm nhìn lớn hơn về môi trường.

Xe hiển thị:

Hoặc trước: Thay thế phương tiện về phía trước, theo hướng mà nó là.

hoặc lùi xuống: lùi xuống xe theo nghĩa mà nó được tìm thấy.

Hoặc lượt: Nó cho phép xoay bánh sau của xe.

Truyền nhân thao tác:

hoặc xoay Spreder: nó cho phép máy rải có được các thùng chứa ở những vị trí khó khăn của

Tiếp cận khi chiếc xe không được căn chỉnh hoàn toàn với container đã nói.

hoặc mở rộng máy rải: cho phép mở rộng máy rải để có thể móc cái này với nhiều thùng chứa hơn

lớn (cụ thể là 40ft container).

o Trình lứa đấu tranh: Cho phép bạn

nhỏ (cụ thể là 20ft container).

hoặc hộp chứa Hook: Một khi các phần tương ứng của container đã được ghép nối với

Các mảnh rải, thùng chứa này được nối.

Hoặc giải phóng container: Phát hành tải mà máy rải sở hữu.

Boom Manipular:

hoặc xoay vòng bùng nổ: nó cho phép tăng hoặc giảm góc của sự bùng nổ của xe, đạt được điều này

Tiếp cận đối tượng ở độ cao cao hơn.

hoặc mở rộng sự bùng nổ: cho phép mở rộng sự bùng nổ từ xe, cho phép tiếp cận các container đến

khoảng cách xa hơn.

40

hoặc thu hẹp sự bùng nổ: cho phép thu nhỏ sự bùng nổ, giảm khoảng cách cần thiết để đạt được

đối tượng nhất định.

Cabin ca: Cho phép bạn di chuyển cabin của chiếc xe về phía trước hoặc lùi, điều này cho phép bạn có

khả năng hiển thị nhiều hơn của các bộ phận xe khi máy ảnh giả lập ở đầu tiên

persona.

Hình 4.4 Sơ đồ sử dụng chức năng người dùng [ELAB.Sở hữu]

Hệ thống

Người dùng mô phỏng

Sửa đổi camera

Thay đổi camera 1

Persona

Thay đổi chế độ camera

Người xem

<< mở rộng >> << mở rộng >>

Di chuyển xe

Thay thế

Thao tác

Rotarspreader

Extenderpreader

HOOT container

Giải phóng

<< Mở rộng >>

<< Mở rộng >>

<< Mở rộng >>

Bầm tím

<< mở rộng >> << mở rộng >>

Boom Manipular

Rotarboom

Extenderboom

Brucerboom

<< mở rộng >> << mở rộng >>

<< Mở rộng >>

Nâng cao

Quay lại

<< Mở rộng >>

<< mở rộng >> << mở rộng >>

41

4.2.2 Sơ đồ lớp

Hình 4.5 Sơ đồ lớp động cơ đồ họa [ELAB.Sở hữu]

Trong Hình 4.5, bạn có thể thấy các lớp khác nhau liên quan đến hoạt động của động cơ đồ họa.

Mỗi trong số này được mô tả dưới đây theo mức độ trừu tượng của chúng, nơi đầu tiên có những người đầu tiên

có mức độ trừu tượng cao hơn:

WindowDevice: Lớp này cho phép tạo và xử lý cửa sổ, từ đó chúng được quản lý

các quản trị viên khác nhau của động cơ đồ họa, chẳng hạn như trình điều khiển sự kiện và hình ảnh

Object3d

Nút

Lưới thép

Cảnh tượng

Skybox

Lưới

Máy ảnh

Vật liệu

Vật liệu vật liệu vật liệu vật liệu

TextureCubetexture

ImageLoader

Hình học

FPSMANAGER

Meshloader

Shaderloader

Quản lý sự kiện

Hình họcfactory

WindowDevice

Người kết xuất

Shaderl Library

Shader

PhysicsManager ReachStackerrayCaster

Âm thanh âm thanh

Mycontactresultcallback

42

môi giây.Lớp này tương ứng với điểm bắt đầu chính của trình giả lập, trong đó

ví dụ của cửa sổ và các mô hình 3D khác nhau được gửi để được hiển thị.

Trình quản lý sự kiện: Nó cho phép quản lý tốt hơn các sự kiện khác nhau được bắt bởi

Quản trị viên cửa sổ, các phương thức xác định cho phép biết nếu có bất kỳ khóa nào của

Máy tính, nếu chuột đã bị dịch chuyển hoặc nhấn nút của một thiết bị bên ngoài.

FPSManager: Điều chỉnh lượng hình ảnh được hiển thị trên màn hình mỗi giây.

Kết xuất: phụ trách thực hiện quá trình kết xuất các đối tượng 3D khác nhau của môi trường,

Thiết lập các thuật toán cần thiết để xác định số liệu nào phải được ẩn, tìm kiếm

Cải thiện hiệu suất cuối cùng của ứng dụng.Trong lớp này, các tọa độ của thế giới và

camera, được gửi đến các shader khác nhau để thực hiện tính toán cuối cùng của từng

Vectơ đối tượng.

Object3D: Quản lý ma trận chuyển đổi của các đối tượng sẽ được biểu diễn trên sân khấu,

Ma trận này được nhân với từng đỉnh của mỗi đối tượng, cuối cùng xác định vị trí của nó

và xoay.Theo cách tương tự, ma trận chuyển đổi được tạo ra bởi động cơ vật lý được lưu trữ một lần

thực hiện các tính toán của các vật lý khác nhau liên quan.

Hình học: Lưu trữ thông tin định vị, tỷ lệ và xoay vòng cơ bản của từng

đối tượng môi trường.Lớp kết xuất sử dụng lớp này để tạo vị trí cuối cùng của đối tượng.

Camera: Thiết lập quan điểm mà người dùng có trong trình giả lập.Máy ảnh này có thể được thiết lập trong

Người đầu tiên hoặc 3 người.Chủ yếu quản lý chế độ xem và quan điểm của động cơ đồ họa.

Nút: Xem xét số lượng các yếu tố đã được tích hợp vào động cơ đồ họa, nó đã được thiết lập

Là đơn vị kết xuất nút.Từ điều này, bạn có thể tạo các cấu trúc được liên kết với đa dạng

Thông tin, chủ yếu được quản lý bởi cảnh tượng.

Cảnh tượng: tương ứng với cấu trúc dữ liệu cây, trong đó gốc của điều này được xác định và

Các phương pháp cần thiết để kết xuất đệ quy tất cả các nút.

Vật liệu: lớp cơ sở để tạo ra các vật liệu khác nhau có thể được áp dụng cho các đối tượng của

phong cảnh.Điều này lưu trữ thông tin tương ứng với shader mà

người mẫu.

ARGETBASIC: Vật liệu được áp dụng cho các mô hình 3D khác nhau, điều này lưu trữ thông tin hình ảnh

sẽ được áp dụng bởi các tọa độ UV AL Modelo.

Vật liệu SPITEMBOX: Tài liệu chỉ được tạo ra với mục đích được áp dụng cho SkyBox, điều này lưu trữ

Thông tin về các hình ảnh tương ứng với từng mặt của khối lập phương mà từ đó

Cielo.

Vật liệu: Tài liệu kiểm tra để tinh chế mã.

Kết cấu: Lưu trữ thông tin từ một hình ảnh sau đó được tải trong bộ nhớ.Hình ảnh này là

Được gửi đến một shader, cho phép nó áp dụng nó cho các mô hình theo tọa độ UV mà nó có.

43

TextureCube: Lưu trữ thông tin từ một hình ảnh bao gồm 6 phần, được áp dụng

Cuối cùng đến Skybox.

Shader: Lưu trữ thông tin tương ứng với chương trình Shader, trong đó đỉnh được xác định

Shader và Fragment Shader, từ đó vị trí cuối cùng của mỗi đỉnh của đối tượng 3D, được thiết lập,

cũng như các thông tin liên quan đến các pixel khác nhau tạo nên đối tượng.

ShaderLibray: Lớp tĩnh cho phép truy cập vào tập hợp các shader được tải trong trình giả lập.Đã sử dụng

Chủ yếu bởi kết xuất động cơ đồ họa.

Lưới: Lớp chính để tạo các đối tượng 3D trong môi trường, lớp này lưu trữ thông tin

tương ứng với bộ đệm mô hình khác nhau, các tham chiếu đến hình học và vật liệu của chúng.Các

Các thành phần hoặc mảnh khác nhau của bộ xếp tiếp cận sẽ được mô hình hóa từ việc tạo ra một số đối tượng

3D, sẽ có các đặc điểm vật lý của riêng họ, và sẽ được kết hợp từ các ràng buộc khác nhau

được cấp bởi động cơ vật lý đạn.

Skybox: Cho phép tạo ra thiên đường từ kết cấu khối.

Lưới: Xác định một lưới chia cho các dòng, nó phục vụ để phân biệt điểm cơ sở của động cơ vật lý khi

Ông đã thiết lập bất kỳ kịch bản.

Imagelloader: Thần lực cho phép gánh nặng hình ảnh của các định dạng khác nhau

GIF, JPG, PNG, BMP, trong số những người khác.

Hình họcfactory: thực dụng để tạo ra các hình học khác nhau, trong đó có

Grilla và hình học hình học.

Meshloader: Thuốc để tải các mô hình 3D từ các tệp, việc triển khai đã được thực hiện

của các tập tin OBJ.

Shaderlader: Tiện ích tải các tệp Shader và Fragment Shader của Vertex.

PhysicsManager: Cho phép bạn thêm các đối tượng vật lý khác nhau vào thế giới (khác với các đối tượng

ba chiều), tính toán các va chạm trên thế giới, tạo ra các ràng buộc hoặc các công đoàn giữa

Các đối tượng khác nhau, tạo ra một cách tiếp cận cơ thể va chạm từ các mô hình

ba chiều, trong số những người khác.

ReachStackerrayCaster: Do đặc điểm kỹ thuật của các va chạm tồn tại giữa các loại khác nhau của

Các cơ quan trên thế giới, một sửa đổi đã được thực hiện trong thuật toán đúc tia được thực hiện trong

Bánh xe xe.

Mycontactresultcallback: Nó cho phép phát hiện xem hai cơ thể của động cơ vật lý bị va chạm.Cái này

Lớp học chủ yếu được sử dụng để phát hiện sự va chạm giữa máy rải và các container.

Âm thanh: Lưu trữ một bản nhạc trong một kênh âm thanh nhất định.Cho phép sinh sản và dừng lại

Theo dõi.

Thư viện âm thanh: Trình quản lý các âm thanh khác nhau sẽ được sao chép trong ứng dụng, đơn giản hóa

Tải và gán các kênh âm thanh cho mỗi âm thanh.

44

Các lớp chính của động cơ đồ họa sẽ được mô tả chi tiết hơn.

4.2.2.1 WindowDevice

Hình 4.6 Lớp WindowDevice [ELAB.Sở hữu]

45

Như có thể thấy trong Hình 4.6, lớp WindowDevice quản lý các quản trị viên khác nhau của

Đồ họa, trong số đó là: vật lý, sự kiện, kết xuất và quản lý hình ảnh mỗi giây.

Lớp này cho phép bạn tạo cửa sổ nơi OpenGL Canvas hoạt động.Khi tạo cửa sổ

Chính, tập hợp các cấu hình của cả cửa sổ và API đồ họa phải được chỉ định.Bởi vì

rằng phiên bản mới nhất của đường ống OpenGL đang được sử dụng, bối cảnh của việc này phải thích nghi với nói

Đường ống, cho phép shader sử dụng.Khi lớp được khởi tạo, nó sẽ tự động tạo

Quản trị viên Đồ họa, cho phép họ sử dụng chúng ở bất cứ đâu trong ứng dụng.

Một điểm quan trọng khác của lớp này là quản lý vòng lặp chính của ứng dụng, có thể là

được gọi là bên ngoài, gọi các phương pháp tương ứng để làm sạch bộ đệm, bắt giữ các sự kiện,

và xử lý và tạo ra hình ảnh cuối cùng.Các phương pháp được đề cập ở trên tương ứng là:

Làm sạch, đánh dấu và vẽ.Phương pháp sạch có trách nhiệm làm sạch bộ đệm màu và độ sâu, sau khi điều này gọi

Tự động bắt giữ các sự kiện bằng cách gọi phương thức đánh dấu, việc bắt giữ này được gửi đến lớp

EventManager mà bạn có thể làm việc sau này.Cuối cùng, phương pháp vẽ chịu trách nhiệm thực hiện

Bộ đệm đổ trên màn hình và cập nhật của quản trị viên hình ảnh mỗi giây.

4.2.2.2 FPSManager

Hình 4.7 Lớp FPSManager [ELAB.Sở hữu]

Do tốc độ xử lý tuyệt vời mà bộ xử lý có thể thực hiện, cả hệ thống và

Đồ họa, lượng hình ảnh được tạo ra mỗi giây (FPS) vượt quá những hình ảnh cần thiết, thực hiện quá trình tái xử lý

mà cuối cùng có thể ảnh hưởng đến hoạt động của động cơ đồ họa.Cũng xem xét rằng bạn là

thực hiện một động cơ vật lý, phải thực hiện các tính toán theo các hình ảnh được trình bày bởi

Thứ hai, nó là cần thiết để thiết lập một giá trị SPF nhất định.

46

Lớp FPSManager chịu trách nhiệm điều chỉnh số lượng hình ảnh được tạo mỗi giây, thiết lập

Giá trị tối đa cho điều này, theo cách này, các cuộc gọi đến các phương thức của vòng lặp cập nhật khá thấp hơn,

Phát hành rất nhiều tải cho bộ xử lý của cả hệ thống và đồ họa.

4.2.2.3 Quản lý sự kiện

Từ việc cập nhật các sự kiện được tổ chức trong lớp WindowDevice, tập hợp

Các nút tương ứng với mã bàn phím.Mỗi khi nhấn nút, điều này sẽ cập nhật bộ

của các phím được lưu trữ trong vector keyisdown, cho phép tham khảo sau bằng khóa nói trên bất kỳ

một phần của ứng dụng.

Hình 4.8 Lớp EventManager [ELAB.Sở hữu]

4.2.2.4 Kết xuất

Trình kết xuất là lớp chịu trách nhiệm hiển thị các hình ảnh trong bộ đệm mà sau này sẽ bị lật

màn hình.Ban đầu, thực hiện các shader khác nhau được sử dụng bởi ứng dụng, cho dù là shader đỉnh hay

Shader mảnh.Bằng cách sở hữu một con trỏ tới lớp camera ứng dụng, bạn có thể gửi ma trận

về chế độ xem, mô hình và phép chiếu (MVP) cho từng shader được sử dụng bởi các mô hình ba chiều.

47

Hình 4.9 Lớp kết xuất [ELAB.Sở hữu]

4.2.2.5 Vật lý quản lý

Lớp PhysicsManager lưu trữ các thuộc tính được sử dụng bởi động cơ vật lý để khởi tạo

Bao quanh để mô phỏng.

Một số thuộc tính phải được khởi tạo trước đó trước khi thực hiện sẽ được chi tiết bên dưới

Sử dụng động cơ vật lý:

Broadphase là một giai đoạn trong động cơ mà các cặp vật thể không va chạm được loại bỏ

Trong số họ sử dụng một thuật toán đơn giản (như AABB), tất cả điều này trước khi tính toán được gọi là

"Va chạm hẹp", chậm hơn nhiều vì nó xem xét cơ thể va chạm chính xác của

nhân vật.

Cấu hình va chạm sử dụng các bộ lọc va chạm khác nhau được sử dụng bởi

Broadphase, cho phép loại trừ các va chạm sẽ không được thực hiện bởi phần còn lại của hệ thống.

DebugDrawer cho phép tạo ra các mô hình ba chiều từ một nhà máy điều trị tích hợp xuất hiện

Với viên đạn động cơ vật lý, chủ yếu tập trung vào lập trình viên, bởi vì

cơ thể va chạm của các vật thể, hình dạng và góc của các ràng buộc, trong số các khía cạnh khác của mỗi

Thực thể vật lý.

48

Hình 4.10 Lớp PhysicsManager [ELAB.Sở hữu]

Bộ giải cho phép các đối tượng tương tác với nhau một cách chính xác, có tính đến trọng lực,

Các lực lượng liên quan đến các phong trào, va chạm và ràng buộc.

Thế giới động tương ứng với thế giới vật lý nơi sự tương tác giữa tất cả

Đối tượng được chuyển đến động cơ vật lý.

Một phương pháp đã được thực hiện giúp đơn giản hóa rất nhiều việc tạo ra các cơ quan va chạm cho

Các mô hình 3D khác nhau được tải trong ứng dụng.Phương pháp tương ứng với

GeometryTrotoconveXShape, được gửi một hình học và trở lại như một sự trở lại một cách tiếp cận của cơ thể

va chạm, điều này do số lượng xử lý lớn cần thiết trong giai đoạn va chạm hẹp cho

Xác định xem nó có va chạm với một đối tượng khác không.Khi cơ thể va chạm này được tạo ra, con số có thể được thêm vào

3D đến thế giới vật lý thông qua phương pháp addrigidbody.

4.2.2.6 Object3D

Do tính chất của các đối tượng khác nhau tương tác với môi trường ba chiều, nó đã được tạo ra

Một lớp cho phép thể hiện các biến đổi mà các đối tượng này có thể bị ảnh hưởng theo thời gian.Xem xét

Ngoài ra, một động cơ vật lý đã được triển khai, cần phải cho phép sử dụng ma trận biến đổi

49

được xử lý trước bởi động cơ này, điều này có nghĩa là một khi các đối tượng đã được biến đổi vật lý,

Ma trận chuyển đổi cuối cùng của đối tượng nói trên (vị trí, tỷ lệ và xoay) có thể được lấy trực tiếp từ

động cơ vật lý và áp dụng nó cho đối tượng tương ứng.

Hình 4.11 Lớp đối tượng3D [ELAB.Sở hữu]

Nếu đối tượng không có thân cứng (như máy ảnh), các phép biến đổi của nó có thể được gán trực tiếp

.

nhau.Trong trường hợp nếu bạn có một cơ thể cứng nhắc (như hầu hết các đối tượng 3D), ma trận được chỉ định

thu được từ động cơ vật lý, mà các bản cập nhật cho biết thông tin trong thuộc tính btrigidbody tương ứng

Mô hình nói.

50

4.2.2.7 Máy ảnh

Hình 4.12 Lớp camera [ELAB.Sở hữu]

Máy ảnh tạo thành một trong những đối tượng quan trọng nhất của động cơ đồ họa, trong đó

Tạo ra ma trận chiếu, được thiết lập như một quan điểm, và các ma trận quan điểm và mô hình, mà

Cuối cùng họ tạo ra ma trận MVP, tương ứng với một ma trận lưu trữ kết quả của phép nhân

Trong số các ma trận được đề cập ở trên.Ma trận này rất cần thiết cho các đối tượng 3D được định vị

Đồ họa trong thế giới 3D một cách chính xác, một khi mô hình 3D đã được thiết lập ma trận của nó

chuyển đổi, điều này được nhân với ma trận MVP, định vị, xoay và leo lên từng đỉnh của

Mô hình trong shader đỉnh tương ứng.Nếu muốn thực hiện định vị ở vị trí thứ ba

người, bạn có thể sử dụng các phương pháp mà nó sở hữu, trong trường hợp mong muốn định vị đầu tiên

người, vị trí của điều này được xác định bằng cách định vị cabin của xe, vì vậy

Nó trực tiếp gán ma trận chuyển đổi tương ứng với mô hình camera.

51

4.2.2.8 lưới

Mỗi mô hình ba chiều được tải trong ứng dụng cuối cùng được biểu thị bằng một

Lưới, lớp này kế thừa từ một nút, cần thiết để thêm các mô hình vào cảnh, lớp

Cuối cùng, phụ trách gửi cho từng mô hình 3D.

Hình 4.13 Lớp lưới [ELAB.Sở hữu]

Khi hình học mô hình được tải từ tệp obj mặt sóng, phương thức init phải được gọi,

phụ trách gán các thuộc tính khác nhau của shader cho mô hình và tạo bộ đệm các đỉnh bình thường,

Tọa độ UV và chỉ số.Những bộ đệm này được lưu trữ trong GPU, vì vậy kết xuất của chúng nhanh hơn nhiều.

Trước khi gọi phương thức kết xuất, lớp trình kết xuất chịu trách nhiệm cập nhật các thuộc tính mô hình,

Xem hoặc chiếu được gửi đến shader tương ứng của đối tượng đã nói, sau đó là phương thức kết xuất của

người mẫu.Trong phương pháp này, một liên kết shaader được thực hiện được thực hiện, điều đó có nghĩa là kết xuất các hành động

Sau khi bideo này sẽ được thực hiện bằng cách sử dụng shader nói.

52

4.2.2.9 Skybox

Lớp học này cho phép tạo ra một khối lập phương đại diện cho bầu trời của thế giới 3D.Về cơ bản nó là một lớp học

Lưới, nhưng đã được kết hợp với khả năng chỉ định kích thước của khối lập phương được tạo ra.Các

Áp dụng kết cấu trong mô hình được lấy từ lớp texturecube, trong đó

Tập hợp các hình ảnh được lưu trữ trong bộ nhớ tương ứng với từng mặt của khối lập phương.

Hình 4.14 Lớp Skybox [ELAB.Sở hữu]

Skybox có shader riêng, cho phép nhận dưới dạng tham số một kết cấu của loại "Samplerube",

trong đó có sáu mặt của khối lập phương.Bởi vì lưới này phải luôn được định vị vào trung tâm của

ứng dụng, nghĩa là không bị ảnh hưởng bởi bất kỳ ma trận chuyển đổi nào sửa đổi bản dịch của nó, chỉ

Họ gửi ma trận chiếu và xem, điều khiển phép nhân với ma trận mô hình.

4.2.2.10 Shader

Mỗi mô hình 3D cuối cùng sẽ được hiển thị phải sử dụng shader, mỗi shader có

Các tham số riêng, phải được gửi trước cuộc gọi kết xuất.Cho việc tải một shader,

Lớp shaderl Library được sử dụng, tạo ra một thể hiện của shader, tạo ra một chương trình biên dịch và

Thực thi trong GPU.Dự án này sử dụng cả Shader đỉnh và Shaders Fragment, loại bỏ

Shader hình học hoặc shader tessellation, vì chúng không phải là nền tảng cho việc kết xuất cuối cùng của hình ảnh.

Việc gửi các đối số loại thống nhất của mỗi shader được thực hiện thông qua phương pháp truyền tải,

chấp nhận các loại tham số khác nhau, trong đó là kết cấu, kết cấu khối, toàn bộ, điểm

Nổi, vectơ, ma trận, trong số những người khác.

53

Hình 4.15 Lớp Shader [ELAB.Sở hữu]

4.2.2.11 Vật liệu

Hình 4.16 Lớp vật liệu [ELAB.Sở hữu]

Vì lớp cuối cùng, tài liệu được trình bày, chủ yếu phụ trách khái quát các loại khác nhau của

Các vật liệu có thể được áp dụng cho các mô hình 3D, cũng như làm cho shader liên kết

54

Phóng viên.Có nhiều loại vật liệu khác nhau, trong số đó là vật liệu, vật liệu

và vật chất.Vật liệu tương ứng với một vật liệu chung cho số lượng lớn nhất các mô hình 3D

Họ có kết cấu UV với bản đồ bit tương ứng

có khả năng lưu trữ kết cấu kết cấu, khác với lớp kết cấu chung trong phương pháp

Lưu trữ hình ảnh.Cuối cùng, vật liệu là một vật liệu có thể được áp dụng để thực hiện

Các thử nghiệm trên các mô hình vì nó sử dụng một shader có thể được sửa đổi mà không ảnh hưởng đến các shader khác.

4.2.3 Thông số kỹ thuật của xe

Chương này sẽ mô tả tập hợp các thông số kỹ thuật của phương tiện sắp xếp lại tiếp cận

Mô phỏng 3D.

Bộ nối tiếp cận được chọn tương ứng với MR450 TCM.Chiếc xe này có khả năng nâng

Các thùng chứa có trọng lượng tối đa 45 tấn, với kích thước thay đổi từ 20ft đến 40ft.Xe này cho phép

Xoay các thùng chứa lên đến một góc 185 ° (xem Hình 4.17).

Hình 4.17 Góc xoay Spreder [URL 2, 2014]

Để cải thiện tầm nhìn của người lái, chiếc xe này cho phép bạn di chuyển cabin điều khiển xung quanh

2150mm đến một số vị trí từ phía trước và phía sau (xem Hình 4.18), điều này cho phép tăng sự an toàn và hiệu quả của

công việc được thực hiện bởi người lái xe.

Hình 4.18 Cabin trượt [URL 2, 2014]

55

Hình 4.19 Khoảng cách liên quan đến góc quay [URL 2, 2014]

Khoảng cách tương ứng trong Hình 4.19 có thể được quan sát trong Bảng 4.1.

Bảng 4.1 Khoảng cách về góc quay [URL 2, 2014]

Mô hình Tamaño (MM)

Thùng chứa 20ft

4300

8300

13000

Thùng chứa 40ft

5400

9100

14900

56

Chương 5: Thực hiện

Trong chương này, một phân tích sẽ được thực hiện dựa trên sự tuân thủ các mục tiêu khác nhau của dự án,

đánh giá trong trường hợp đầu tiên tạo ra và tích hợp các thành phần khác nhau tạo nên động cơ

đồ thị, sau đó là sự phát triển và tích hợp của các mô hình 3D khác nhau tạo nên cả

phương tiện như thế giới, sau đó, một phân tích về hàm ý vật lý được thực hiện cho thế giới

Mô phỏng, hệ thống va chạm, ràng buộc, hệ thống lái xe và cuối cùng là sửa đổi

Họ đã làm với mục đích cải thiện ứng dụng.

5.1 Động cơ đồ họa

Sự phát triển của động cơ đồ họa đã được thực hiện dựa trên các loại động cơ đồ họa khác, chẳng hạn như

IRRICHT [URL 29, 2014], Crystalspace [URL 30, 2014] và Ogre3D [URL 31, 2014].Mỗi động cơ trong số này

Đồ họa thực hiện các kỹ thuật lập trình đồ họa khác nhau đã được sử dụng để phát triển điều này

giả lập.Một số kỹ thuật đã được thực hiện trong công cụ đồ họa sẽ được giải thích dưới đây.

5.1.1 Hệ thống tọa độ và MVP

Hệ thống tọa độ đã được triển khai xem xét một khu vực cắt tập trung vào điểm

Nguồn gốc, nghĩa là tại thời điểm này, điều này đơn giản hóa các biến đổi khác nhau có thể được thực hiện trong

mô hình ba chiều.Trong Hình 5.1, bạn có thể thấy hai vùng cắt, trong đó nó đã được chọn

Thứ hai từ trái sang phải theo hệ tọa độ 3D Cartesian.

Hình 5.1 Các vùng cắt [Wright et al., 2007]

Khi hệ tọa độ và hệ thống cắt được thiết lập, loại hình chiếu

sẽ sửa đổi các đỉnh của từng mô hình muốn được biểu diễn trên màn hình, cũng như ma trận xem

và mô hình, cuối cùng tạo thành ma trận MVP.Trong đường ống OpenGL cũ, có các ma trận được xác định trước

57

và các hệ thống pin ma trận mà từ đó người ta có thể thêm hoặc loại bỏ ma trận tùy thuộc vào

thuận lợi.Mặc dù sự đơn giản mà phương pháp này tài trợ, nhưng nó không có thể mở rộng và khó sửa đổi trong một

Môi trường phát triển động, đó là lý do tại sao trong đường ống OpenGL mới, chúng đã được thành lập như các chức năng

đã lỗi thời, do đó cho phép người dùng xác định ma trận và pin của riêng họ, có thể được gửi đến

Các shaders độc lập.

Hình 5.2 Ma trận chiếu [Wright et al., 2007]

Từ những điều trên, thông qua việc sử dụng thư viện toán học GLM, những cái mới đã được xác định

Cấu trúc dữ liệu cho phép làm việc với các vectơ và ma trận, ngoài ra thì cửa hàng sách này có ma trận

được xác định trước, chẳng hạn như ma trận chiếu trong phối cảnh hoặc trực giao, có thể được quan sát trong Hình 5.2,

trong đó chế độ xem thu được từ buồng (A) được trình bày và ma trận chiếu tương ứng của nó (B).

Ma trận này được nhân với tất cả các đỉnh mà sau này sẽ được biểu diễn trên màn hình.Các

Vista và ma trận mô hình ban đầu là ma trận nhận dạng, có nghĩa là phép nhân với

Những ma trận này sẽ không ảnh hưởng đến kết quả.Dưới đây là sự khởi tạo của ba ma trận, được thực hiện để

Từ các phương pháp được cấp bởi GLM:

.;// Đặt mô hình*Xem ma trận cho các biến đổi mô hìnhMatrix = glm :: mat4 (1.0f);ViewMatrix = GLM :: mat4 (1.0f);

58

5.1.2 Kết cấu

Mỗi kết cấu được áp dụng cho các vật liệu của từng mô hình được tải trong bộ nhớ

Thông qua hiệu sách Freeimage, hiệu sách này cho phép nhiều định dạng hình ảnh khác nhau được tải trong các định dạng khác nhau

Độ sâu, lưu trữ từng giá trị RGBA một cách riêng biệt và cho phép đạt được độ cao và chiều rộng của hình ảnh.TRONG

Trường hợp của một kết cấu phẳng với tọa độ UV thông thường, hình ảnh đơn được tải, nó thu được

Bộ bit của điều này được tải trong bộ nhớ và cuối cùng kết cấu trong OpenGL được tạo ra.Sau đó tôi biết

Trình bày mã gửi một bộ bit đến kết cấu OpenGL:

GlactiveTexture (Texid);GLGENTEXTURES (1, & Texid);glbindtexture (gl_texture_2d, texid);gltexparameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);gltexparameterf (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);gltexparameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);gltexparameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glteximage2d (gl_texture_2d, 0, gl_rgba, chiều rộng, chiều cao, 0, gl_bgra, gl_unsigned_byte, bit);

Để thiết lập loại kết cấu, mục tiêu của điều này phải được xác định, đối với kết cấu của hai tọa độ

Nó được thành lập dưới dạng g_texture_2d.Tập hợp các tham số được xác định khi tạo kết cấu

Chúng cho phép thiết lập thuật toán mở rộng và giảm pixel, cũng như thuật toán gói

trong đó áp dụng cho tọa độ UV.Cuối cùng, cuộc gọi đến hàm glteximage2d cho phép tạo kết cấu,

có thể được sử dụng sau này bằng cách làm cho sự ràng buộc của điều này theo Texid của nó.

Trong trường hợp kết cấu khối được sử dụng để tạo ra skybox, cần phải thay đổi mục tiêu thành

G_texture_cube_map, trong đó các tham số tương tự như kết cấu thông thường được gửi, với

Sự khác biệt mà các bản đồ bit của mỗi khuôn mặt phải được gửi.Bởi vì mục tiêu được gửi đến phương thức

Gteximage2d là một tập hợp các giá trị liên tiếp, không cần thiết phải khai báo riêng biệt,

Cho phép bạn sử dụng một phán đoán cho tải của nó.Sau đó, tải của một bản đồ kết cấu khối:

GlactiveTexture (Texid);GLGENTEXTURES (1, & Texid);glbindtexture (GL_TEXTURE_CUBE_MAP, TEXID);gltexparameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);gltexparameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);gltexparameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);gltexparameterf (gl_texture_cube_map, gl_texture_mag_filter, gl_linear);gltexparameterf (GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR);for (int i = 0; i <6; i ++)

glteximage2d (gl_texture_cube_map_positive_x + i, 0, gl_rgba, chiều rộng, chiều cao, 0, gl_bgra,

GL_UNSIGNED_BYTE, bit [i]);

59

5.2 Phát triển và tích hợp các mô hình 3D

Hầu hết các mô hình tạo nên thế giới ba chiều đã phát triển thông qua

Ứng dụng Blender, phần còn lại của các đối tượng đã được lấy từ cơ sở dữ liệu mô hình miễn phí.Mỗi

Các mô hình này cuối cùng đã được xuất sang định dạng OBJ, bởi vì việc tải các mô hình trong ứng dụng được thực hiện

thông qua nhà nhập khẩu riêng của nó chỉ chấp nhận định dạng này.

Mô hình stacker tiếp cận bao gồm một số phần, sau đó được tham gia

ứng dụng.Trong Hình 5.3, bạn có thể thấy mô hình xe hoàn chỉnh, nơi chúng được tìm thấy theo một cách

tách các bộ phận sáng tác nó.Mỗi phần này chỉ được thực hiện bằng cách sử dụng kỹ thuật

của mô hình đa giác, không cần phải thực hiện nurbs hoặc điêu khắc (các công cụ được tìm thấy

Có sẵn trong ứng dụng mô hình).

Hình 5.3 Mô hình máy xay sinh tố tiếp cận [ELAB.Sở hữu]

Như đã đề cập ở trên, định dạng xuất được sử dụng để tạo ra các mô hình khác nhau của

Simulator là obj mặt sóng, chủ yếu là do sự đơn giản của nó và thực tế là một hình ảnh động là không cần thiết

trong các mô hình.Định dạng này lưu trữ thông tin của từng đỉnh của mô hình, các đỉnh bình thường của

Những đỉnh này, tọa độ UV của kết cấu và các hình tam giác tạo nên từng mặt có thể nhìn thấy của mô hình.

Công cụ đồ họa cho phép tải định dạng này bằng cách lưu trữ theo vector thông tin của từng phần tử

đã đề cập ở trên và một bộ đệm lưu trữ tập hợp các chỉ mục của các đỉnh tạo nên mỗi

Tam giác.

60

Dưới đây là một ví dụ về mô hình 3D được lưu trữ ở định dạng OBJ, tương ứng với một

Bánh xe xe tiếp cận.Tập dữ liệu phải được lưu trữ trong một tập hợp các vectơ được xác định bởi

Từ đầu tiên của mỗi dòng, trong trường hợp các đỉnh được ký hiệu là "V", tọa độ UV của mỗi đỉnh

Đối với một "VT", những cái bình thường cho một "VN" và cuối cùng là khuôn mặt của mỗi tam giác cho một "f".Theo cách này, được thiết kế riêng

Tiến trình đó đang được thực hiện trong tệp, các vectơ dữ liệu khác nhau được lưu cho đến khi các mặt của

các hình tam giác, nơi chúng phải hình thành từ các vectơ dữ liệu được lưu trước đó theo

chỉ số mà khuôn mặt chỉ ra.

# Blender v2.71 (phụ 0) Tệp OBJ: 'Reachstacker.Blend' # www.blender.org O xi lanh_cylinder.004 V -0.621132 0.000000 1.558658 V -0.621132 81926VT 0,217293 0,982106 VT 0,479564 0,873766 ... VN 0,000000 -0.831500 -0.555600 VN 0,000000 /85/50 56/88/50 72/105/50 F 54/98/50 70/106/50 71/107/50 F 52/92/50 68/108/50 69/109/50 F 64/90/5063/94/50 79/110/50 ...

Trong khuôn mặt đầu tiên, bạn có thể thấy bộ dữ liệu 58/86/50 74/103/50 75/104/50, có nghĩa là điều đó

Đỉnh số một tương ứng với 58, có kết cấu 86 và bình thường 50, sau đó các đỉnh số hai tương ứng

Ở 74, nó có kết cấu 103 và bình thường 50;Và cuối cùng là đỉnh thứ ba tương ứng với 75, có kết cấu 104 và

Bình thường 50. Trong hầu hết các trường hợp, bình thường của ba đỉnh tạo nên khuôn mặt là như nhau, nhưng

Điều này có thể thay đổi khi mô hình 3D được hoạt động trong công cụ mô hình hóa được sử dụng.

5.3 Tích hợp động cơ vật lý

Khi một hệ thống định vị, xoay và tỷ lệ cho các mô hình 3D khác nhau đã được thiết lập,

Sự kết hợp của một động cơ vật lý tái sử dụng các giá trị này và sửa đổi chúng theo các sự kiện hoặc hành động khác nhau

Chúng được thực hiện trong thế giới vật chất.Thế giới vật lý tương ứng với một hệ thống độc lập với môi trường đồ họa

mà liên tục thực hiện các tính toán dựa trên các cơ thể vật lý được tìm thấy trong điều này, và một lần

thực hiện các tính toán tương ứng, thông tin từ các ma trận chuyển đổi của

cơ thểMỗi cơ thể này tương ứng với các phương pháp hình học với các mô hình 3D khác nhau

Chúng đã được tải trong động cơ đồ họa.

61

Vật lý đạn cấp một bộ các cơ thể va chạm có thể được điều chỉnh cho một số mô hình 3D nhất định như

Phương pháp tiếp cận hình học của những điều này.Một số cơ thể va chạm này tương ứng với hình khối, hình cầu, ống,

trong số những người khác.Mặc dù ở trên, nó đã được chọn để thực hiện một phương pháp cho phép xấp xỉ

thực tế hơn về cơ thể va chạm của hầu hết các mô hình mô phỏng, chủ yếu dựa trên

Hình học mô hình gốc.

Trong thuật toán sau, bạn có thể thấy việc tạo ra một btconvexshape, tương ứng với một

Cơ thể va chạm được hình thành từ hình học của mô hình 3D.Kết quả của thế hệ cơ thể nói trên

va chạm được xử lý một lần nữa để đơn giản hóa nó (cho phép tính toán được nhiều hơn

Nhanh chóng), cuối cùng sẽ trả lại cơ thể va chạm gần đúng cho mô hình đó.

btconvexshape *PhysicsManager :: PoMetryToconveXShape (Hình học *Hình học) {// Tạo lưới tam giác Bttrianglemesh *trimesh = new bttrianglemesh ();for (int i = 0; i <(int) hình học-> chỉ số.size (); i += 3) {glm :: vec3 vertexa = hình học-> đỉnh [hình học-> chỉ số [i]];GLM :: VEC3 vertexb = hình học-> đỉnh [hình học-> Chỉ số [i + 1]];GLM :: VEC3 vertexc = hình học-> đỉnh [hình học-> Chỉ số [i + 2]];btVector3 btvertexa (vertexa.x, vertexa.y, vertexa.z);btVector3 btvertexb (vertexb.x, vertexb.y, vertexb.z);btVector3 btvertexc (vertexc.x, vertexc.y, vertexc.z);Trimesh-> Addtriangle (btvertexa, btvertexb, btvertexc);} // chuyển đổi lưới tam giác thành hình dạng lồi btconvexshape *tmpshape = new btconvextrianglemeshshape (trimesh);// Tạo một xấp xỉ thân btshapehull *Hull = new Btshapehull (tmpshape);BTSCalar Margin = tmpShape-> getMargin ();Hull-> buildhull (lề);tmpshape-> setuserpulum (Hull);trả lại tmpshape;}

Một khi cơ thể va chạm cho mô hình 3D được sở hữu, nó phải được kết hợp vào thế giới vật lý, để

Điều này sẽ tạo ra một btrigidbody, xác định khối lượng của cơ thể, quán tính, xoay, định vị và ma sát của nó.Anh ta

Trung tâm khối cơ thể thích hợp hơn để xác định nó trong công cụ mô hình hóa, tương ứng với điểm

Nguồn gốc của hệ tọa độ Cartesian, nghĩa là điểm (0, 0, 0).

Nếu mô hình 3D đã được khởi tạo bằng cách tạo btrigidbody và sau đó được thêm vào thế giới

Vật lý, ma trận chuyển đổi cuối cùng được gửi đến shader tương ứng có thể được lấy từ

của phương pháp GetOpenglMatrix được cấp bởi Vật lý Bullet.Phương thức này trả về một ma trận chuyển đổi đã

được xử lý, nghĩa là, một ma trận có xoay, dịch và tỷ lệ cuối cùng phải được áp dụng cho mô hình.

62

Dưới đây là cách để có được ma trận này:

biến đổi Bttransform;RigidBody-> getMotionState ()-> getWorldTransform (Transform);biến đổi.getOpEnglMatrix (GLM :: value_ptr (ma trận));

5.3.1 Mặt nạ va chạm

Bởi vì một số cơ thể nhất định là không thể va chạm với nhau, đặc biệt là các bộ phận tạo nên

Người tiếp cận, cần phải xác định một số mặt nạ va chạm nhất định loại bỏ các xác nhận va chạm giữa

cơ thể trong giai đoạn đầu của đường ống động cơ vật lý.Mặt nạ va chạm được khai báo bởi một

Cấu trúc dữ liệu đơn giản, trong thuật toán được trình bày dưới đây, việc khai báo một

tập hợp các mặt nạ cho phép nhóm các loại cơ thể khác nhau bằng một cái tên, trong đó

Sau đó, chúng được sử dụng để tuyên bố hành vi được thực hiện bởi một cơ quan va chạm với

phần còn lại.

#Define bit (x) (1 << (x)) enum collisionTypes {

Col_nothing = 0, // va chạm với không có gì col_ground = bit (0), // va chạm với col_reachstacker = bit (1), // va chạm với ReachStacker col_container = bit (2), // va chạm với container col_box = bit (3), // va chạm với hộp

};// Xác định các loại va chạm int groundCollideswith = col_ReachStacker |Col_container;int ReachStackerCollideswith = col_ground |Col_container;int containerCollidesWith = col_ground |Col_ReachStacker |Col_container;int collisionboxcollideswith = col_box;

Khi các loại mặt nạ đã được xác định, tại thời điểm kết hợp các mô hình vào thế giới vật lý, nó phải

Chỉ định cơ thể cứng nhắc của bạn, loại mặt nạ của nó và các mặt nạ mà va chạm này, nghĩa là gửi

Btrigidbody, loại của nó từ các collisiontypes có thể sử dụng (hoặc còn được gọi là nhóm lọc) và mặt nạ

với sự va chạm này tương ứng.

5.3.2 Thực hiện ràng buộc

Bởi vì các bộ phận khác nhau tạo nên chiếc xe yêu cầu kết nối vật lý cho phép

Áp dụng các lực khác nhau để sửa đổi góc của những điều này, sử dụng ràng buộc, về cơ bản

cho phép thiết lập kết nối giữa hai cơ thể vật lý giữ nguyên các thuộc tính khác của chúng, cũng như

Ngoài ra con số va chạm của bạn.

63

Đối với phương tiện sắp xếp lại, ràng buộc của loại thanh trượt và loại bản lề được thực hiện.Các ràng buộc

Thanh trượt chủ yếu được đặc trưng bằng cách cho phép một loại trượt giữa hai cơ thể, một trong số đó

Nó vẫn cứng nhắc và các di chuyển khác qua các lực lượng.Ngoài việc áp dụng các lực lượng cho

Chuyển vị, cả giới hạn dịch thuật và tuyến tính có thể được xác định.

Như có thể thấy trong Hình 5.4, phần bùng nổ của xe được kết nối bởi loại này

ràng buộc, trong đó phần màu xanh của sự bùng nổ là phần vẫn cứng nhắc, trong khi phần màu đỏ là

di chuyển thông qua ứng dụng của các lực lượng.

Hình 5.4 Loại thanh trượt ràng buộc trong bộ nối tiếp cận Boom [ELAB.Sở hữu]

Thuật toán được trình bày dưới đây, theo đó ràng buộc thanh trượt được tạo:

// Kết nối boom_1 với boom_2 locala.setidentity ();LocalB.SetIdentity ();locala.setrotation (btquaternion ((float) m_pi_2, 0,0f, 0,0f));locala.setorigin (BTVector3 (0,0F, 0,0F, 0,0F));localb.setrotation (btquaternion ((float) m_pi_2, 0,0f, 0,0f));localb.setorigin (BTVector3 (0,0F, 0,0F, 0,0F));btsliderconstraint *sliderboom2ct = new BtsLiderConstraint ( *Rigidboom_1, *Rigidboom_2, locala,

Localb, đúng);

Hình 5.5 Loại bản lề ràng buộc trong thiết bị phân phối bộ phận tiếp cận [ELAB.Sở hữu]

64

Ràng buộc bản lề được đặc trưng bằng cách cho phép xoay qua một trục giữa hai cơ thể,

Trong trường hợp giống như ràng buộc trước đó, một trong những điều này vẫn còn cứng nhắc.Trong ràng buộc này, bạn cũng có thể

Xác định giới hạn xoay.Trong Hình 5.5, bạn có thể thấy kết nối được thực hiện giữa hai phần của máy rải của

Người tiếp cận, trong đó phần màu xanh vẫn còn cứng và phần màu đỏ thực hiện một vòng quay dựa trên

trục nhất định.

Thuật toán được trình bày dưới đây từ đó bản lề ràng buộc được tạo:

// Kết nối Spreader_1 với Truyền_2 Locala.SetIdentity ();LocalB.SetIdentity ();locala.setrotation (btquaternion ((float) m_pi_2, (float) m_pi_2, 0,0f));locala.setorigin (BTVector3 (0,0F, -0,5f, 0,0F));localb.setrotation (btquaternion ((float) m_pi_2, (float) m_pi_2, 0,0f));localb.setorigin (BTVector3 (0,0F, 0,5F, 0,0F));bthingeconstraint *hingespreader2ct = new

Địa phương, địa phương, đúng);

Chiếc xe cuối cùng bao gồm bảy ràng buộc, là sự kết hợp giữa các ràng buộc

của loại thanh trượt và loại ràng buộc của loại bản lề.

5.3.3 Hệ thống lái xe

Hệ thống lái xe ban đầu có thể được nghĩ đến bằng cách sử dụng ràng buộc của loại bản lề

Cho phép quay bánh trước của xe, vấn đề của phương pháp này là khả năng hạn chế

Nó cung cấp một khi bạn muốn cải thiện chủ nghĩa hiện thực này, bằng cách áp dụng giảm xóc trong

Bánh xe, hệ thống phanh, thao tác xe, trong số những người khác.Vật lý đạn cấp một hệ thống lái xe

Bằng thuật toán đúc tia, chủ yếu được sử dụng để phát hiện các bề mặt có thể nhìn thấy.Trong này

Hệ thống lái xe được cấp bởi Bullet có thể để thiết lập lượng bánh xe được coi là thuận tiện,

Nén hệ thống treo, ma sát của bánh xe, ảnh hưởng của xoay, thư giãn của các bánh xe, trong số những người khác.

Cũng xem xét loại lái xe cụ thể mà các phương tiện tiếp cận sở hữu, nơi các bánh xe

phía trước tác dụng lực chuyển động và phía sau cho phép hướng của xe, hệ thống

Dây dẫn động cơ vật lý cho phép bạn xác định những bánh xe nào chịu trách nhiệm hoàn thành từng chức năng,

Thiết lập giới hạn tốc độ, lực phanh, góc quay tối đa, trong số các lực khác.

Bởi vì hệ thống mặt nạ va chạm không áp dụng cho các bánh xe từ cơ thể cứng nhắc nơi

Chúng được tham gia, cần phải xác định lại phương pháp Raycasting được sử dụng, nếu không, chiếc xe không

Anh ta sẽ va chạm với bất kỳ cơ thể nào, giảm dần về kịch bản vô hạn.Vì vậy, mặt nạ va chạm

Chúng hoạt động đúng trên các bánh xe tại thời điểm Raycasting, cần phải xác định lại một lớp mới

mà kế thừa các lớp vật lý đạn được xác định trước phụ trách thực hiện raycasting.

65

Việc triển khai này được thực hiện trong lớp ReachStackerRayCaster, kế thừa lớp

Btvehicleraycaster.

5.4 Hệ thống quá giang

Do các loại container mà bộ đặt tiếp cận có thể hoạt động,

Việc thực hiện một hệ thống chuỗi được gắn vào từng lịch trình của máy rải, cũng như các điểm

của quá giang mỗi container.Điều này cho phép bạn điều chỉnh sự lây lan theo kích thước tương ứng với mỗi

Container và phát hiện khi các hệ thống chuỗi này va chạm với nhau.Trong Hình 5.6 bạn có thể

Quan sát hệ thống chuỗi liên kết với cả bộ nối tiếp cận và container.

Hình 5.6 Hệ thống chuỗi [ELAB.Sở hữu]

Xem xét rằng một phát hiện va chạm phải được thực hiện cho mỗi điểm va chạm, nó đã được

Kết hợp lớp mycontactresultcallback, trong đó xác định lại phương pháp bổ sung của một lớp phát hiện

của các va chạm cơ sở cơ bản.Định nghĩa lại này cho phép chỉ định theo giá trị boolean nếu hai cơ thể

Họ đang ở trong tình trạng va chạm.Khi điều này được thực hiện, va chạm có thể được xác minh một cách độc lập

Giữa mỗi chuỗi, cho dù từ xe tập hợp lại như của các container.Trong trường hợp tồn tại

Một sự va chạm của từng điểm này, người dùng có khả năng tạo móc của container tại spred,

Điều đó bên trong thực hiện một liên kết container với xe thông qua các ràng buộc.Sự giải phóng của

Container được thực hiện bằng cách loại bỏ các ràng buộc liên quan đến kết nối nói trên.

66

Thuật toán để tạo ra chuỗi va chạm cho bốn container được trình bày dưới đây:

Container *newContainer = new Container (hàng hóa);for (int j = 0; j <4; j ++) {

Lưới *collisionboxcargo = temp_collisionbox-> clone ();collisionboxcargo-> init ();cảnh-> addChild (collisionboxcargo);PhysicsManager-> addrigidbody (CollisionBoxCargo, 0,001F, GLM :: VEC3 (0), 1.0F, GLM :: VEC3 (0), GLM :: VEC3 (0,0F), Shapecollisionbox, Col_box, CollisionboxCollideswith);newContainer-> addCollisionBox (true, collisionboxcargo-> getrigidbody (), j, PhysicsManager);} container.push_back (newContainer);

Bởi vì các thùng chứa có thể thay đổi cả về số lượng và loại, một sự sắp xếp của

Các container nơi mỗi trong số này giữ thông tin của các cơ thể cứng nhắc của container và bốn cái của nó

chuỗi.Điều này cho phép một mặt phát hiện sự va chạm giữa các chuỗi ngăn xếp tiếp cận với mỗi chuỗi

một trong những chuỗi của các container, và trong trường hợp bốn điểm đang va chạm, xây dựng

Ràng buộc giữa cơ thể cứng nhắc của spreder và cơ thể cứng nhắc của container.

5.5 Tích hợp âm thanh

Việc tích hợp âm thanh cho ứng dụng cung cấp trải nghiệm người dùng lớn hơn khi sử dụng

điều này, cũng cho phép dễ dàng hiểu hơn những hành động đang được thực hiện theo một cách

đồng thời.Thư viện SDL_Mixer cho phép bạn tải các âm thanh khác nhau trong bộ nhớ, có thể được sao chép

trong các kênh cấu hình khác nhau trong thời gian thực hiện.Ngoài việc tải và tái tạo các âm thanh này, nó là

cần thiết điều chỉnh thời gian sinh sản của những điều này theo các điều kiện đang được thực hiện trong mỗi

thời điểm, nghĩa là có thể xác định liệu một âm thanh nhất định phải được sao chép vô hạn thành một

thời điểm nhất định, hoặc nếu điều này sẽ được sao chép chỉ một lần.

Một số điều kiện cho phép xác định thời lượng của âm thanh là giới hạn của

Xoay hoặc dịch của ràng buộc, nếu chiếc xe đang chuyển động, nếu nó ngược lại, nếu nó kết thúc

Để móc một container, trong số những người khác.

Xem xét những điều trên, lớp âm thanh đã được triển khai, lưu trữ thông tin của một bản nhạc

âm thanh và kênh mà nó sẽ được sao chép, cho phép tải âm thanh, sao chép nó, dừng lại và loại bỏ nó khỏi

Bộ nhớ khi ứng dụng kết thúc.Xem xét rằng mỗi âm thanh phải được lưu trữ trong một kênh khác nhau,

Lớp âm thanh đã được triển khai, quản lý tập hợp tổng số âm thanh được tải trong ứng dụng,

Điều chỉnh động lượng kênh cần thiết cho việc tái tạo từng âm thanh theo một cách nào đó

67

độc lập.Sau khi ứng dụng kết thúc, lớp này cũng cho phép phát hành bộ nhớ của

Tất cả các âm thanh được tải.

Phương pháp tĩnh của lớp âm thanh được trình bày bên dưới để tải âm thanh trong

bộ nhớ và sau đó là một ví dụ về việc sử dụng nó:

Âm thanh *Soundl Library :: Thêm (const char *name, const char *soundfile) {mix_allocatechannels (LastChannel + 1);Âm thanh *tin tức = âm thanh mới (tên);tin tức-> tải (SoundFile, LastChannel ++);SoundHash [Tên] = Tin tức;trả lại tin tức;} // Các hiệu ứng âm thanh sẽ được sử dụng âm thanh *SND_TRuck_IDLE = Soundl Library :: Thêm ("Truck_idle", "Media/Truck_idle.wav");

5.6 Phụ lục

Để cải thiện hình dung của môi trường ba chiều, khả năng nhìn thế giới ở

Chế độ khung dây, nghĩa là chỉ xem các dòng tạo nên từng mô hình trong

Kịch bản ba chiều.Trong Hình 5.7, bạn có thể thấy chế độ khung được kích hoạt, cho phép xem qua

của các đối tượng dễ dàng.

Hình 5.7 Trình mô phỏng chế độ khung dây [ELAB.Sở hữu]

68

Chương 6: Kết luận

Từ sự phát triển của dự án này, các biến khác nhau

tham gia vào việc phát triển một ứng dụng đồ họa, ngoài tầm quan trọng của việc sử dụng một phương pháp

Công việc cho phép bạn chỉ định các cột mốc nhanh chóng, xem xét một thiết kế đơn giản và hiệu quả.Bởi vì

Đường cong học tập phức tạp, cũng cần phải thích nghi với các thay đổi khác nhau được trình bày cho những gì

chiều dài của dự án, chủ yếu là do sự kết hợp của các thư viện mới cho sự phát triển của

Dự án và ứng dụng các thuật toán đang cải thiện hoạt động cơ sở động cơ.

Tập hợp các thư viện được sử dụng đã được chọn dựa trên phân tích khả năng tương thích giữa chúng,

dựa trên sự đơn giản và tiềm năng mà họ cung cấp, cũng xem xét rằng những điều này được hỗ trợ bởi một

tài liệu rộng rãi và một cộng đồng tích cực, do đó cho phép quá trình học tập và đi

Thích nghi với những thay đổi khác nhau mà động cơ phải chịu đựng theo thời gian.Do bản chất của

Dự án, các thư viện đa nền tảng cũng đã được chọn, do đó cho phép dự án dễ dàng

cho các nền tảng khác nhau.Mặc dù nhiều phương thức và hàm được cấp bởi bộ API

Họ đơn giản hóa rất nhiều công việc sẽ được phát triển, sự tích hợp của các phần khác nhau tạo nên kiến ​​trúc

của động cơ đồ họa không phải là một quá trình tầm thường, do nhiều cách khác nhau trong đó có thể

theo lịch trình, tùy thuộc chủ yếu vào mức độ trừu tượng cuối cùng sẽ được cấp cho nhà phát triển của

giả lập.

Mặc dù có rất nhiều động cơ đồ họa, nhưng hiện tại rất khó tìm thông tin

liên quan đến việc tạo ra một, mặc dù nhiều kỹ thuật được sử dụng được công nhận rộng rãi,

Tích hợp thường thay đổi tùy thuộc vào nhu cầu cụ thể của nhà phát triển, phải

thực hiện các thuật toán yêu cầu kiến ​​thức toán học sâu rộng được định hướng

Đô họa may tinh.Trong trường hợp động cơ đồ họa được sử dụng làm điểm tham chiếu, nhiều kỹ thuật

rằng những điều này được thực hiện trong các API khác nhau, cho dù chúng là Trình điều khiển cửa sổ, API

Các biểu đồ như OpenGL hoặc Direct3D, các nhà sách vật lý khác nhau, thư viện quản lý hình ảnh, trong số những người khác;

cản trở quá trình phân tích và trừu tượng hóa việc thực hiện của nó.

Việc thực hiện một động cơ vật lý đã cho phép trừu tượng từ các tính toán toán học phức tạp

tham gia vào hầu hết các hành động được thực hiện trong mô phỏng, cho phép tạo ra một

Xấp xỉ khá gần với thực tế.Việc sử dụng các ràng buộc theo cùng một cách đã cho phép xác định

Các kết nối cơ bản được đặt ra bởi các bộ phận tạo nên chiếc xe tập hợp lại, mà không bỏ bê

Các tính chất vật lý, chẳng hạn như ma sát, quán tính, khối lượng, trong số những người khác.Thế hệ của các cơ thể va chạm

Gần đúng với hình học ban đầu của các mô hình 3D, nó cũng có nghĩa là một sự cải thiện đáng kể

Trong mô phỏng, thiết lập các va chạm thực tế hơn nhiều và cuối cùng cải thiện trải nghiệm người dùng

Tại thời điểm sử dụng trình giả lập.

69

Ý tưởng chính của dự án này là cấp một hệ thống kết xuất đơn giản, cho phép

Kết hợp các mô hình ba chiều khác nhau vào cảnh mà không gặp khó khăn lớn, cho phép chúng cung cấp cho mỗi

Một trong những mô hình đặc điểm vật lý này mô phỏng thực tế hơn sự tương tác của chúng với nhau.Bởi vì

Cấu trúc động cơ đồ họa, sự phát triển của các ứng dụng có thể được tạo ra từ điều này không bị giới hạn

Chỉ đến khu vực cổng, nhưng với bất kỳ loại mô phỏng nào được cho là.

Về công việc trong tương lai, các cải tiến có thể được thực hiện trong phần đồ họa động cơ, chẳng hạn như

Kết hợp một hệ thống bóng năng động thông qua các bản đồ bóng tối, hệ thống ánh sáng, kết hợp của

Một hệ thống GUI tương thích với các shader sử dụng ma trận chiếu trực giao, tích hợp

Phản xạ, bản đồ kết cấu mới, v.v.Cũng như những cải tiến trong hệ thống kết xuất, chẳng hạn như

Hệ thống loại bỏ frustum được sử dụng để che giấu các mô hình không được tìm thấy trong phổ xem

của máy ảnh, việc lưu trữ các mô hình bằng các cây phân vùng nhị phân của không gian,

Tinh chế đồ họa bằng cách sử dụng shader hình học, trong số những người khác.

Xem xét rằng thế giới ba chiều có thể năng động, vị trí và loại khác nhau

Các thùng chứa có thể được đưa ra từ một trình soạn thảo đồ họa của các kịch bản tương thích với trình giả lập, đơn giản hóa

Đáng chú ý là việc tạo ra các môi trường động thích ứng với nhu cầu của mỗi người dùng.Bởi vì

rằng các phương pháp tải các mô hình ba chiều và tạo ra các cơ thể động va chạm

Tương ứng với các mô hình chung, ba chiều phù hợp với loại môi trường có thể được tích hợp

Rằng bạn muốn mô phỏng, có thể là một hiên của các container, tàu, xe lửa, cần cẩu tải, trong số những người khác.

70

Người giới thiệu

[Shalini, ౨౦౦౪] Shalini Govil-on, "Nguyên tắc của đồ họa máy tính", Lisbon: ౦ -౩౮౭-౯౫౫౦౪, ౨౦౦౪, kế hoạch.

[Bohhudas, 2008]

Haryana, Giải pháp hội nghị thuần túy Pvt Ltd., 2008, trang 2-3.

[Canós et al., 2003] Jose H. Canós, Patricio Letelier, Mª Carmen, Phương pháp Agile trong sự phát triển của

Phần mềm, Đại học Bách khoa Valencia, Hội thảo VIII phần mềm và ngày kỹ thuật cơ sở dữ liệu

(Jisbd), nước ngoài, Alicante, 2003, trang 59.

[Gregory, 2009] Jason Gregory, Kiến trúc động cơ trò chơi, ISBN: 978-1-4398-6526-2, 2009, trang 28-49.

[Reddy, 2011] Martin Reddy, Thiết kế API cho C ++, Nhà xuất bản Morgan Kaufmann, ISBN 978-0123850034, 2011,

Trang 10-50.

[Hearn và Baker, 2005] Donald Hearn, M. Pauline Baker, "Đồ họa máy tính với OpenGL", Pearson

Hội trường Prentice, ISBN 980-84-205-3980-5, 2005, trang 81-82.

[Shreiner, 2010] Dave Shreiner, Hướng dẫn lập trình OpenGL Phiên bản thứ bảy, Addison-Wesley Professional,

ISBN 978-0-321-55262-4, 2010, trang 10-14.

[Smed, 2008] Jouni Smed, Mạng cho các trò chơi máy tính, Tạp chí trò chơi máy tính quốc tế

Công nghệ, Tập 2008, ID bài viết 928712, 1 trang, 2008.

[Maroto, 2005] Joaquín Maroto Ibáñez, Phương pháp cho thế hệ môi trường ảo phân tán và

Ứng dụng để lái xe mô phỏng trực tuyến, Đại học Bách khoa Madrid, Luận án tiến sĩ về kỹ thuật

Cơ học, 2005.

[Wright y Lipchak, 2004]

và tham khảo, Addison-Wesley Publishers Inc., ISBN 978-0321712615, 2004, trang 5-30.

[Wright và cộng sự, 2007]

Đồ họa máy tính, ISBN 0-321-49882-8, 2007, trang 1-23.

[Wright và cộng sự, 2014] Richard S. Wright, Jr., Nicholas Haemel, Hướng dẫn toàn diện và tham khảo SIÊU TUYỆT VỜI TUYỆT VỜI, Graham Sellers Pearson Education, ISBN: 978-0-321-90294-7, trang 1-150, 2014.

[Thomson, 2006] Richard Thomson, Hồi Đường ống đồ họa Direct3D, Hướng dẫn tìm hiểu Direct3D, 2006, trang 43-58.

[Engel y Geva, 2000] Wolfgang Engel, Amir Geva, "Bắt đầu lập trình trò chơi Direct3D"

7615-3191-2, 2000, trang 3-6.

71

[Lengyel, 2012] Eric Lengyel, Toán học cho lập trình trò chơi 3D và đồ họa máy tính, 2012, trang 1-30.

[Gómez et al., 1999] Pedro Gómez, Marco Gómez, Enrique Alonzo, "Hoạt động của cây BSP",

Eresmas, 1999, trang 5.

[Vallejo và Martín, 2013] David Vallejo Fernández, Cleto Martín Angelina, Phát triển trò chơi video,

Video Game Motor Architecture Phiên bản thứ 2, ISBN: 978-84-686-4028-0, 2013, trang 117-159.

[Keller, 2011] Erick Keller, Giới thiệu Zbrush 4, Sybex, ISBN 04705276412011, trang 15-30.

[Valient, 2001] Michal Valient, Động cơ 3D trong trò chơi - Giới thiệu, bài viết và hướng dẫn của HTML, 2001, trang 1-6.

[Glassner, 1989] Andrew Glassner, Giới thiệu về Ray Tray, San Francisco, Morgan Kaufmann

Nhà xuất bản, ISBN 979-0122861604, 1989, trang 4-1

[Christiansen và cộng sự, 2008] Allen Christiansen, Damian Johnson và Lawrence Holder, mô phỏng dựa trên trò chơi cho

Việc đánh giá phát hiện mối đe dọa trong môi trường cảng biển, Trường Kỹ thuật Điện và Máy tính

Khoa học, Đại học bang Washington, Pullman, WA 99164, ICEC 2008, LNCS 5309, trang.221 …224,

[Hess, 2010] Roland Hess, nền tảng máy xay sinh tố: Hướng dẫn cần thiết để học tập 2,6,, Focal Press, ISBN

9780240814308, 2010, trang 1-15.

[Johnson, 2009] Damian Johnson, mô hình hóa địa phương và đánh giá kịch bản trong môi trường ảo 3D,

Thạc sĩ Khoa học Khoa học Máy tính, Đại học bang Washington, 2009.

[URL 1, 1969] ACM SIGSIM, Nhóm lợi ích đặc biệt (SIG) về mô phỏng và mô hình hóa (SIM), http: //www.acm-

Sigsim-mskr.org/, lần trước được truy cập: 06/09/2016, 1969.

[URL 2, 2014] TCM Corporation, http://tcmforktrucks.net/index.php, lần trước được truy cập: 06/09/2016, 2014.

.

2005.

.

2011.

[URL 5, 2009] Các thuật toán LOD cổ điển, http://habib.wikidot.com/techniques, lần trước được truy cập: 06/09/2016,

2009.

[URL 6, 2014] Vật lý Bullet, http://bulletphysics.org/, lần trước được truy cập: 06/09/2016, 2014.

[URL 7, 2014] Lập trình trò chơi Patters, http://gameprogrammingpotypes.com/fly weight.html, lần trước

Đã ghé thăm: 09/06/2016, 2014.

72

.

2006.

.

09/06/2016, 2004.

[URL 10, 2011] Hồ sơ splines, http://www.etereaestudios.com/training_img/subd_tips/introducion.htm, cuối cùng

Đã truy cập: 06/09/2016, 2011.

[URL 11, 2011] Điêu khắc, http://estab1986.com/blog/tag/hard-surface-sculpting, lần trước được truy cập: 06/09/2016,

2011.

[URL 12, 2008] Kết cấu, http://ptex.us/ptexaper.html, truy cập lần cuối: 09/06/2016, 2008.

[URL 13, 2009] Kết cấu thủ tục, http://www.oocities.org/valcoey/texturas_procedural.html, lần trước

Đã ghé thăm: 06/09/2016, 2009.

.

Đã truy cập: 06/09/2016, 2012.

[URL 15, 2009] Vertex Paint,

http://wiki.blender.org/index.php/doc:2.6/manual/m vật liệu

09/06/2016, 2009.

.

2006.

[URL 17, 2014] 3D Studio Max, http://usa.autodesk.com/3ds-max/, lần trước được truy cập: 09/06/2016, 2014.

[URL 18, 2014] Maya, http://usa.autodesk.com/maya/, lần trước được truy cập: 06/09/2016, 2014.

[URL 19, 2014] Google Sketchup, http://sketchup.google.com/intl/es/, lần trước được truy cập: 06/09/2016, 2014.

.

09/06/2016, 2014.

[URL 21, 2014] Zbrush, http://www.pixologic.com/home.php, truy cập lần cuối: 06/09/2016, 2014.

[URL 22, 2014] Blender, http://www.blender.org/, lần trước được truy cập: 06/09/2016.

[URL 23, 2014] Thư viện DirectMedia đơn giản, http://www.libsdl.org/, lần trước được truy cập: 06/09/2016, 2014.

[URL 24, 2014] Freeimage, http://freeimage.sourceforge.net/, lần trước được truy cập: 06/09/2016, 2014.

73

.

.

.

09/06/2016, 2014.

.

Lần trước được truy cập: 06/09/2016, 2014.

[URL 29, 2014] Irrlicht Engine, http://irllicht.sourceforge.net/, lần trước được truy cập: 06/09/2016, 2014.

.

09/06/2016, 2014.

[URL 31, 2014] Ogre3d, http://www.ogre3d.org/, lần trước được truy cập: 06/09/2016, 2014.

Trình hiển thị ba chiều để mô phỏng ... opac.pucv.cl/pucv_txt/txt-6500/ucd6584_01.pdf · Điều này chủ yếu đạt được bằng mô hình toán học và vật lý của mỗi - (2024)
Top Articles
Total Eye Care Franklin Nj
Pinoymovieshubs
Skyward Houston County
Regal Amc Near Me
Trabestis En Beaumont
Archived Obituaries
Jeremy Corbell Twitter
Blairsville Online Yard Sale
True Statement About A Crown Dependency Crossword
Tokioof
6th gen chevy camaro forumCamaro ZL1 Z28 SS LT Camaro forums, news, blog, reviews, wallpapers, pricing – Camaro5.com
The Shoppes At Zion Directory
Nebraska Furniture Tables
735 Reeds Avenue 737 & 739 Reeds Ave., Red Bluff, CA 96080 - MLS# 20240686 | CENTURY 21
Walmart End Table Lamps
Busted Barren County Ky
24 Best Things To Do in Great Yarmouth Norfolk
Best Uf Sororities
Illinois VIN Check and Lookup
Where to Find Scavs in Customs in Escape from Tarkov
Keurig Refillable Pods Walmart
Unforeseen Drama: The Tower of Terror’s Mysterious Closure at Walt Disney World
Wsop Hunters Club
Quest: Broken Home | Sal's Realm of RuneScape
Rapv Springfield Ma
Weldmotor Vehicle.com
Macu Heloc Rate
Lovindabooty
WRMJ.COM
Santa Barbara Craigs List
Log in to your MyChart account
How to Use Craigslist (with Pictures) - wikiHow
Pnc Bank Routing Number Cincinnati
Back to the Future Part III | Rotten Tomatoes
Cross-Border Share Swaps Made Easier Through Amendments to India’s Foreign Exchange Regulations - Transatlantic Law International
Hotels Near New Life Plastic Surgery
The Vélodrome d'Hiver (Vél d'Hiv) Roundup
Jewish Federation Of Greater Rochester
Stanford Medicine scientists pinpoint COVID-19 virus’s entry and exit ports inside our noses
Invalleerkracht [Gratis] voorbeelden van sollicitatiebrieven & expert tips
Citizens Bank Park - Clio
Mychart University Of Iowa Hospital
Wgu Admissions Login
Port Huron Newspaper
Air Sculpt Houston
Ratchet And Clank Tools Of Destruction Rpcs3 Freeze
The Pretty Kitty Tanglewood
Aurora Southeast Recreation Center And Fieldhouse Reviews
Bf273-11K-Cl
Marion City Wide Garage Sale 2023
Scholar Dollar Nmsu
Códigos SWIFT/BIC para bancos de USA
Latest Posts
Article information

Author: Clemencia Bogisich Ret

Last Updated:

Views: 6235

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Clemencia Bogisich Ret

Birthday: 2001-07-17

Address: Suite 794 53887 Geri Spring, West Cristentown, KY 54855

Phone: +5934435460663

Job: Central Hospitality Director

Hobby: Yoga, Electronics, Rafting, Lockpicking, Inline skating, Puzzles, scrapbook

Introduction: My name is Clemencia Bogisich Ret, I am a super, outstanding, graceful, friendly, vast, comfortable, agreeable person who loves writing and wants to share my knowledge and understanding with you.