bài tập lớn môn thực tại ảo: đề tài mô phỏng nút giao thông cầu vượt mai dịch

15 555 0
bài tập lớn môn thực tại ảo: đề tài mô phỏng nút giao thông cầu vượt mai dịch

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

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

Thông tin tài liệu

cầu vượt mai dịch_báo cáo bài tập lớn, Nút giao Mai Dịch kết nối đường Xuân Thủy với đường Hồ Tùng Mậu, Phạm Hùng và Phạm Văn Đồng, cửa ngõ phía Tây của thành phố. Tại nút giao này, sẽ có 3 tầng xe chạy. Đây là nút giao thông khá phức tạp  Tầng trên cùng sẽ là dự án đường sắt đô thị Nhổn ga Hà Nội. Tại đây nút giao 3 tầng đang được gấp rút thi công, khoan cọc nhồi và chuẩn bị đến giai đoạn đổ trụ bê tông.  Tầng thứ hai là cầu vượt Mai Dịch (khánh thành năm 2003), phục vụ các loại phương tiện, xe cơ giới lưu thông.

CHƯƠNG I KHẢO SÁT Khảo sát Nút giao Mai Dịch kết nối đường Xuân Thủy với đường Hồ Tùng Mậu, Phạm Hùng Phạm Văn Đồng, cửa ngõ phía Tây thành phố Tại nút giao này, có tầng xe chạy Đây nút giao thông phức tạp + Tầng dự án đường sắt đô thị Nhổn - ga Hà Nội Tại nút giao tầng gấp rút thi công, khoan cọc nhồi chuẩn bị đến giai đoạn đổ trụ bê tông + Tầng thứ hai cầu vượt Mai Dịch (khánh thành năm 2003), phục vụ loại phương tiện, xe giới lưu thông + Tầng đường Hiện công trường thi công, lô cốt, rào chắn khiến nút giao vào cao điểm thường xuyên ùn tắc kéo dài theo hướng Xuân Thủy - Cầu Giấy Mai Dịch - Phạm Văn Đồng - Toàn cảnh nút giao thông Mai Dịch Hình 1: Toàn cảnh nút giao thông - Hướng Phạm Văn Đồng – Hồ Tùng Mậu Hình 2: Hướng Phạm Văn Đồng – Hồ Tùng Mậu - Hướng Hồ Tùng Mậu –Cầu Giấy - Phạm Hùng - Hình 3: Hướng Hồ Tùng Mậu –Cầu Giấy - Phạm Hùng CHƯƠNG II CÁC THÀNH PHẦN NGÔN NGỮ VRML SỬ DỤNG TRONG ĐỀ TÀI Các đối tượng hình học  Box: để tạo khối hộp Ví dụ: Shape { geometry Box{ size 2.0 2.0 2.0 } } Tham số: Ø size X Y Z: kích thước hình hộp (chiều rộng, chiều cao, chiều sâu)  Sphere: để tạo hình cầu Ví dụ: Shape { geometry Sphere { radius 1.0 } } Tham số: Ø Radius  X: bán kính mặt cầu Cylinder: để tạo hình trụ Ví dụ: Shape { geometry Cylinder{ height 2.0 radius 1.0 bottom TRUE top TRUE side TRUE } } Tham số: Ø height X: chiều cao Ø radius Y: bán kính mặt đáy Ø bottom Ø top TRUE / FALSE: / ẩn mặt đáy TRUE / FALSE: / ẩn mặt đáy Ø side TRUE / FALSE: / ẩn mặt bên 2 Các phép biến đổi  Trasfom +  Nút Transform quản lý phép biến đổi VRML như: dịch chuyển, co dãn, quay Nút Transform gồm có trường con: translation (dịch chuyển), rotation (quay), scale (co giãn), children Trong trường children dùng để chứa đối tượng (vật thể, hình ảnh, ) Traslation: để dịch chuyển vật đến vị tri không gian Cú pháp: Transform { translation X Y Z children [] } Tham số: Ø translation X Y Z: dịch chuyển gốc tọa độ đến điểm X Y Z  Rotation: để quay vật theo hướng không gian Cú pháp: Transform { rotation X Y Z G children [] } Tham số: Ø rotation X Y Z G: quay trục tọa độ theo trục X, Y, Z góc G Ø G tính theo radians  Scale: Phép co dãn dùng để thu, phóng to vật không gian Cú pháp: Transform { scale x y z children [] } Tham số: Ø scale X Y Z: co giãn đối tượng theo trục X, Y, Z với tỉ lệ x, y, z  Children: Các đối tượng vẽ trường chịu ảnh hưởng phép biến đổi nút Transform Ví dụ: Transform { translation 2.0 1.0 0.0 scale 2.0 1.0 3.0 rotation 0.0 0.0 1.0 0.79 children [ Shape { … } geometry … { … } } ] } Shape { appearance Appearance { material Material { } } geometry Box { size 1.0 1.0 1.0} }  Như ví dụ hệ tọa độ hình trụ dịch chuyển đến điểm (2, 1, 0) so với hệ tọa độ gốc, sau kích thước hình trụ tăng lần theo chiều trục X, tăng lần theo chiều trục Z, quay 0.79 radians theo trục Z Còn hình hộp nằm tọa độ gốc Viewpoint : có chức xác định vị trí người dùng giới thông số góc nhìn  fieldOfview: xác định góc “radians” Giá trị trường số thực nằm khoảng từ đến 3,142 có giá trị mặc định 0,785398 Góc tương đương với ống kính máy quay (camera) có giá trị nhỏ tương đương với ống kính góc rộng có     giá trị lớn (chẳng hạn có giá trị 3,14), nhiên lúc góc nhìn bị méo position: xác định vị trí người dùng giới ảo Có giá trị điểm không gian orientation: Xác định biên độ quay góc quan sát, trường có giá trị kiểu SFRotation (xem phần kiểu liệu trình bày trên) description: cung cấp đoạn mô tả cho góc quan sát jump: cho phép chuyển góc nhìn giới, có giá trị TRUE cho phép người di chuyển theo góc nhìn, có giá trị FALSE đơn chuyển đổi góc nhìn mà không ảnh hưởng đến vị trí người dùng Phong cảnh  Backgroud Background { skyColor [ ] skyAngle [ ] groundColor [ ] groundAngle [ ] backUrl [ ] bottomUrl [ ] leftUrl [ ] rightUrl [ ] frontUrl [ ] topUrl [ ] } Các thuộc tính:  skyColor skyAngle: xác định màu sắc bầu trời, muốn bầu trời có màu sắc đơn lẻ cần thiết lập giá trị cho trường skyColor bỏ trường skyAngle (hình a), muốn bầu trời có hiệu ứng màu gradient (hình b) ta cần phải thiết lập giá trị cho hai trường nói Ví dụ ta thiết lập sau: Trong hình a: skyColor [1 0, 9 5, 7 9, 0.4 1, 0.7 1, 1 1] Trong hình b: - skyAngle [ 0.075, 0.1, 0.2, 1.309, 1.5708 ] skyColor [ 1 0, 9 5, 7 9, 0.4 1, 0.7 1, 111] Màu sắc hình ảnh  Material Nút Material có chức tạo màu cho đối tượng VRML Màu sắc VRML thể qua tham số R G B (Red-Green-Blue) với giá trị nằm khoảng từ 0.0 đến 1.0 Nút Material có thuộc tính sau:  diffuseColor: xác định màu sắc đối tượng  emissiveColor: xác định màu ánh sáng phát từ đối tượng  transparency: xác định độ suốt đối tượng (0: hiển thị rõ, 1: suốt)  ambientIntensity: xác định lượng phản chiếu ánh sáng đối tượng  specularColor: xác định màu sắc điểm sáng bóng bề mặt đối tượng  shininess: điều chỉnh cường độ sáng cho điểm sáng bóng Ví dụ: Shape { appearance Appearance { material Material { diffuseColor 1.0 0.5 0.0 emissiveColor 0.0 0.0 0.0 transparency 0.5 specularColor 0.5 0.5 0.5 shininess 0.3 ambientIntensity 0.4 } } geometry Box { size 1.0 1.0 1.0} }  Image Texture: dán ảnh lên đối tượng Ví dụ: Shape { appearance Appearance { material Material {} texture ImageTexture { url “hinha.jpg” repeatS TRUE repeatT TRUE } } geometry Box { size 5} } Nhóm đối tượng  Transfom: tạo nhóm đối tượng đặt chúng hệ trục tọa độ Nút trình bày  Inline : tạo nhóm đối tượng đặc biệt lấy từ tập tin VRML khác (được sau url) Tất đối tượng tập tin hiển thị Nút thường sử dụng để gọi trực tiếp đối tượng bên vào giới Ví dụ: Inline { url [“cuaso.wrl”] bboxCenter 0 bboxSize -1 -1 -1 } Các thuộc tính: Ø url: chứa tập đường dẫn tập tin VRML giới Extrusion: vẽ hình phức tạp Ví dụ: Shape { appearance Appearance { material Material { diffuseColor 0 } } geometry Extrusion { crossSection [ … ] spine [ … ] scale [ … ] beginCap TRUE creaseAngle endCap TRUE ccw TRUE convex TRUE } } Các thuộc tính:   crossSection: mặt cắt spine: trục hình muốn dựng Sự kiện cảm biến a) Sự kiện  ROUTE(Tuyến nối): kênh giao tiếp nôi thành phần lại với nhau, kiện tạo nút nối với thành phần nhận kiện nút Cú pháp: ROUTE Node.eventOut TO Node.eventIn Ví dụ : Tên nút gửi kiện : Sender( tên nút tạo từ khóa DEF) kiện xuất : rotation_changed có nghĩa trường rotation nút thay đổi tạo kiện Tên nút nhận kiện là: Recipients( tên nút tạo từ khóa DEF) kiện nhận vào là: set_rotation có nghĩa nhận kiện trường rotation nút thay đổi Khi để nối hai nút ta gọi lện sau: ROUTE Sender.rotation_changed set_rotation b) TO Recipients Cảm biến(sensor)  Timesensor : cảm biến cho phép điều khiển thời gian bắt đầu kết thúc Nút giống đồng hồ tạo kiện, kích hoạt tạo chuỗi kiện liên tục theo thời gian, đồng hồ chạy dừng thời điểm xác định Ví dụ: TimeSensor { cycleInterval 1.0 enabled TRUE loop FALSE startTime stopTime } Các thuộc tính:  cycleInterval: xác định số giây tạo kiện, ví dụ     có giá trị 1.0 tạo kiện liên tiếp giây enabled: xác định trạng thái hoạt động cảm biến loop: xác định có lặp hay không startTime: thời gian bắt đầu chạy stopTime: thời gian kết thúc chạy Các kiện đầu vào:  set_startTime: thiết lập lại thời gian bắt đầu chạy  set_stopTime: thiết lập lại thời gian kết thúc chạy  set_enabled: thiết lập lại trạng thái hoạt động Ánh sáng  Point light: Nút xác định nguồn sáng vị trí xác định, tia sáng nguồn sáng theo hướng, không hướng phương cụ thể nào, nguồn sáng giống ánh sáng bóng đèn điện giới thực Và giống ánh sáng bóng đèn điện, nguồn sáng bị giới hạn khoảng cách chiếu sáng Ví dụ: PointLight { on TRUE intensity ambientIntensity color 1 location 0 attenuation 0 radius 100 } Các thuộc tính: Các thuộc tính on, intensity, ambientIntensity, color tương tự thuộc tính nút DirectionLight  location: vị trí nguồn sáng, có giá trị điểm không gian  attenuation: có giá trị vectơ 3D xác định việc tăng giảm cường độ khoảng cách chiếu sáng nguồn sáng Giá trị trường phải khác (0, 0, 0)  radius: phạm vi chiếu sáng nguồn sáng, giá trị phải lớn 10 Các nút nôi suy  ColorInterpolator  OrientationInterpolator  PositionInterpolator Mỗi nút có cú pháp sau: …Interpolator { key […] keyValue […] } Trong key tập giá trị đầu vào keyValue tập giá trị đầu Trong nút Interpolators có kiện đầu vào set_fraction kiện đầu value_changed, hai kiện nối với tức nút nhận kiện tạo kiện Sự kiện set_fraction xác định giá trị key kiện đầu xác định keyValue tương ứng với giá trị key Ví dụ: OrientationInterpolator { key [ 0.0, 0.50, 1.0 ] keyValue [ 0.0 1.0 0.0 0.0, 0.0 1.0 0.0 3.14, 0.0 1.0 0.0 6.28 ] } Trong ví dụ nút nhận giá trị 0.0 gửi trả giá trị (0.0 1.0 0.0 0.0) nhận giá trị từ khoảng 0.0 đến 0.5 tính toán gửi giá trị nằm khoảng 0.0 đến 3.14 (chính xác nhận giá trị 0,3 trả giá trị 1,88), tương tự với giá trị khác 11 Script Cú pháp: Script { url [] directOutput FALSE mustEvaluate FALSE eventIn Datatype EventName eventOut Datatype EventName field Datatype FieldName InitialValue } CHƯƠNG III SẢN PHẨM ĐẠT ĐƯỢC Nhìn tổng thể Ô tô Đèn giao thông Đền chiếu sáng Cầu Rào chắn đường sắt cao

Ngày đăng: 16/01/2017, 15:01

Từ khóa liên quan

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

Tài liệu liên quan