Ngôn ngữ mô hình hóa thực tại VRML - Pdf 75

Page 1
Lờ Tn Hựng CNTT- HBK H ni
Email:
(c) SE/FIT/HUT 2002
Ngôn ngữ mô hình hóa thực tại ảo
VRML
(c) SE/FIT/HUT 2002
VRML ? Lịch sử

VRML là một ngôn ngữ văn bản dùng để mô tả các môi trờng tơng tác
và các vật thể 3-D

Các file text VRML có đuôi là .wrl

VRML 1.0 dựa trên ngôn ngữ mô tả Silicon Graphics 3D gọi là Open Inventor. VRML
1.0 cho phép mô tả các cảnh tỉnh và không tơng tác.

VRML 2.0 là một ngôn ngữ mô tả dựa trên Silicon Graphics và đợc goi là Moving
Worlds.

VRML1 (1994) & VRML2 (1997) có mở rộng thêm các chủ đề liên quan
(c) SE/FIT/HUT 2002
Tính chất

Bạn có thể xem các file VRML nhờ trình duyệt VRML :

Một ứng dụng hỗ trợ VRML

Một ứng dụng VRML nhúng vào một trình duyệt HTML

Bạn có thể xem các file VRML từ đĩa cứng , hay qua mạng Internet

Nodes nút chứa các
thông tin quan trọng của
cảnh vật

Fields các thuộch tính
của nút mà bạn có thể
thay đổi

Values các thuộc tính
giá trị

Và . . .
#VRML V2.0 utf8
# example1.wrl - a yellow box
Shape
{ geometry Box{ } # default box
appearance Appearance # override
appearance
{material Material # with a new
material
{diffuseColor 1.0 1.0 0.0 #
yellow
}
}
}
(c) SE/FIT/HUT 2002
Comments-chú thích

Lời chú thích bắt đầu với ký tự # .



Shape, Box, Appearance, Material,lights, sounds, .
Page 2
Lờ Tn Hựng CNTT- HBK H ni
Email:
(c) SE/FIT/HUT 2002
Cấu trúc phân lớp

Nút Shape chứa hai trờng, geometry và appearance, mỗi trờng lại
chứa các nút khác đợc coi nh giá trị của chúng
.

Shape
{ appearance NULL exposedField SFNode
geometry NULL exposedField SFNode
}

Đôi khi nút Shape có một trờng Appearance nhng không có trờng
geometry (ví dụ nh các vật thể không nhìn thấy!)

Trờng geometry chứa nút Box và trờng appearance coi nút
Appearance nh là giá trị của có.

Nút Appearance lại chứa một nút khác là Material.

Câu trúc cây của nút mà nút lại đợc chứa trong nút khác gọi là scene
graph.
(c) SE/FIT/HUT 2002
Cấu trúc cảnh



Cone
{ bottomRadius 5 # so 10
units wide
height 12
side TRUE
bottom TRUE
Xem code
Chạy ví dụ
}

Nút Shape là những viên gạch
tạo nên thế giới VRML Các nút
Shape gốc là các khối chuẩn :
Box
Cone
Cylinder
Sphere
Text

Các trờng của nút Geometry
điều khiển kích thớc

Kích thớc thờng có đơn vị là m,
nhng có thể bất cứ đơn vị gì
(c) SE/FIT/HUT 2002
Cơ bản về nút shape

Cylinder
{ radius 4 # chiều rộng là 8

Cấu trúc ảnh bitmap

Sử dụng ảnh bitmap thay cho một mô hình 3D thật cụ thể có thể tiết kiệm
đợc nhiều thời gian xử lý...

Tuy vậy việc sử dụng rộng rãi ảnh bitmap có thể có những bất lợi sau:

Cấu trúc của ảnh sẽ đợc gủi cho trình duyệt ,có thể phải qua một
quá trình thông tin chậm.

Thiết kế một ảnh bitmap và đa nó lên màn hình là công đoạn xử lý
khálàkỹlỡng.
Page 3
Lờ Tn Hựng CNTT- HBK H ni
Email:
(c) SE/FIT/HUT 2002
Cấu trúc trong VRML

Appearance
{ texture ImageTexture
{ url skin.gif # GIF, JPG or PNG
repeatSTRUE # repeat or stretch?
repeatTTRUE
}
} Xem code
Chạy ví dụ

Các Texturecó thểlàmột URL đầy đủhoặc chỉlàmột URLtơng đối đơn
giản nh sử dụng ở trên.


Rotated :góc quay

Scaled :tỷ lệ

Liên hệ với hệ toạ độ cha của nó

Các vật thể đợc xây dựng trong hệ
toạđộmới đợc định vị ,quay và tỷ lệ
cùng với nó.

Nhóm các nút Transform tạo ra
một nhóm với hê toạ độ của chính

rotation hớng
scale kích cỡ
translation vị trí
children các vật thậ tạo
Transform {
translation . . .
rotation . . .
scale . . .
children [ . . . ] }
(c) SE/FIT/HUT 2002
Trờng children

Trờng children bao gồm một danh sách một hay nhiều nút

Transform { . . .
children [
Shape { . . . }

Nút transform

Co giãn , xoay và dịch một hệ toạ độ, cái này sau cái kia
Transform {
translation 2.0 0.0 0.0
rotation 0.0 0.0 1.0 0.52
scale 0.5 0.5 0.5
children [ . . . ]
}

Các thao tác đợc thực hiện từ dới lên bottom-up:

Trờng children đợc co giãn ,xoay rồi sau đó mới dịch

Thứ tự giữa các trờng đợc ấn định, độc lập với trật tự của các trờng
Xem code
Chạy ví dụ
Page 4
Lờ Tn Hựng CNTT- HBK H ni
Email:
(c) SE/FIT/HUT 2002
nút Appearance

Các vật thể gốc có màu phát ra từ bề
ngoài là màu trắng

Bạn có thể điều khiển màu của một
vật thể:
Màu bóng
Màu phát ra

geometry . . . }
(c) SE/FIT/HUT 2002
Nút material

Nút Material cũng có thể điều khiển tính chiếu sáng của một vật thể
specularColor điểm có màu nổi bật nhất
shininess kích cở chỗ nổi bật nhất
ambientIntensity hiêu ứng ánh sáng xung quanh

Shape {
appearance Appearance {
material Material {
specularColor 0.71 0.70 0.56
shininess 0.16
ambientIntensity 0.4 } }
geometry . . . } Xem code
Chạy ví dụ
(c) SE/FIT/HUT 2002
Bảng màu thờng dùng
0.120.83 0.83 0.830.20 0.20 0.710.10Plastic Blue
0.200.61 0.13 0.180.27 0.00 0.000.15Metalic Red
0.200.64 0.00 0.980.10 0.03 0.220.17Metalic Purple
0.160.71 0.70 0.560.22 0.15 0.000.40Gold
0.080.75 0.33 0.000.30 0.11 0.000.26Copper
0.100.70 0.70 0.800.30 0.30 0.500.30Aluminum
shininess
specular
Color
diffuse
Color

BillboardSwitchCollision
InlineAnchor
LODGroupTransform
(c) SE/FIT/HUT 2002
Kết nối tới một vị trí khác

Cũng nh trong trang Web , siêu liên kết cũng sẵn có trong VRML.

Có thể kết nối tới các kiểu dữ liệu hợp lệ , bao gồm các trang VRML
khác, các trang HTML và các ứng dụng CGI .

Vị trí (x, y, z) của con trỏ có thể đợc truyền tới URL, chỉ thực sự có ích với
các ứng dụng CGI.
Page 5
Lờ Tn Hựng CNTT- HBK H ni
Email:
(c) SE/FIT/HUT 2002
Các nút Group-Switch-Transform

Nút Group tạo ra các nút cơ bản
khác

Mỗi nút child trong group là đợc
hiển thị

Group { children [ . . . ] }

Nút nhóm Switch tạo ra một nhóm có
thể chuyển cho nhau.


(c) SE/FIT/HUT 2002
Nút Anchor và Inline

Nút Anchor tạo ra một nhóm mà hoạt
động nh kiểu có thể kích chuột đợc

Chỉ nút child là đợc hiển thị

Kích chuột vào nút child theo sau
bởi một URL

Trờng description đặt tên cho nút
anchor
Anchor {
url "stairwy.wrl"
description "Twisty Stairs"
children [ . . . ] }

Xem code Chạy ví dụ
Nút Inline tạo ra một nhóm đặc biệt từ
nội dung của một file VRML khác

Nút con đọc từ file đợc chọn bởi
URL

Mỗi nút child là đợc hiển thị

Inline { url "table.wrl" }

Inline {


DEF bắt buộc phải ký tự hoa

Có thể đặt tên cho một nút nào đấy

Tên có thể là hầu hết các chuỗi ký
tự và số

Trong một file tên phải là duy
nhất
(c) SE/FIT/HUT 2002
Từ khóa use

Từ khoá USE cho phép sử dụng
một nút đã đợc đặt tên trớc

Shape {
appearance Appearance {
material
USE RedColor }
geometry . . . }
Xem code
Chạy ví dụ

USE bắt buộc phải là chử hoa

Sử dụng lại nút đã đợc đặt tên
gọi là một biến hay một thể hiện

Một nút đã đợc đặt tên có thể có


Chúng ta cần một phơng thức để kích , thời gian hoá, và đáp ứng một
chuỗi các sự kiện theo một trật tự để một sự tơng tác tốt hơn giữa ngời
dùng và thế giới bên ngoài

Hầu hết các nút đều có thể là thành phần trong một dòng hoạt cảnh

Nút hoạt động nh các phần điện tử ảo

Nút có thể gửi và nhận các sự kiện

Các đờng dây nối các nút lại với nhau

Một sự kiện là một thông báo đợc gửi giữa các nút

Một giá trị dữ liệu (giống nh sự dịch chuyển)

Thời gian hoàn thành (Khi sự kiện đợc chứng nhận là đã đợc gửi)


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status