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

11 2.8K 18
Ngôn ngữ mô hình hóa thực tại VRML

Đ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

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

Ngôn ngữ mô hình hóa thực ảo VRML VRML ? Lịch sử VRML ngôn ngữ văn dùng để mô tả môi trờng tơng tác vật thể 3-D Các file text VRML có đuôi wrl VRML 1.0 dựa ngôn ngữ mô tả Silicon Graphics 3D gäi lµ “Open Inventor” VRML 1.0 cho phép mô tả cảnh tỉnh không tơng tác VRML 2.0 ngôn ngữ mô tả dựa Silicon Graphics đợc goi Moving Worlds VRML1 (1994) & VRML2 (1997) có mở rộng thêm chủ đề liªn quan (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 CÊu tróc file VRML Tính chất Bạn xem 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 trình duyệt HTML Bạn xem file VRML từ đĩa cứng , hay qua mạng Internet Toàn trang Web Nhóng vµo trang Web Toµn bé khung cđa trang Web Nhúng vào khung trang Web Nhúng vào ứng dụng đa thời gian Bạn tạo file VRML nhờ : Một trình soạn thảo văn đơn giản Một chơng trình ứng dụng Một trình dịch định dạng mô hình hóa 3D Một ngôn ngữ tạo vật thể (nh ngôn ngữ kịch Perl ) (c) SE/FIT/HUT 2002 Comments-chú thích Lời thích bắt đầu víi ký tù # Ký tù # nh¸y kép bắt đầu thích Chú ý dòng đầu VRML 2.0 : #VRML 2.0 utf8 bắt buộc ! Từ khóa utf dùng để nói đến ký tự quốc tế UTF-8 đợc dùng file Lời thích khoảng trắng không đợc bảo toàn VRML document server (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Trong file VRML gồm có : Đầu đề file Comments – chó thÝch cđa b¹n Nodes – nót chøa thông tin quan trọng cảnh vật Fields thuộch tính nút mà bạn thay đổi Values 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 Phần tử VRML: Nút Mét file VRML gåm cã mét danh s¸ch c¸c nót, nút chứa phần thông tin mô tả toàn cảnh Một nút định nghĩa hình dạng vật thể, hay thuộc tính của đối tợng , nh màu màu sắc hệ tọa độ Mỗi nút có tên, theo sau cặp dấu { } không chứa trờng nhiều trờng Một câu lệnh trờng gồm có tên trờng sau có hay nhiều giá trị.Các trờng đợc viết theo trật tự khác Tên nút bắt đầu ký tự hoa, tên trờng bắt đầu ký tự thờng (case sensitive) Ví dụ nót Shape, Box, Appearance, Material,lights, sounds, (c) SE/FIT/HUT 2002 Page CÊu tróc ph©n líp CÊu tróc cảnh Nút Shape chứa hai trờng, geometry appearance, trờng lại chứa nút khác đợc coi nh giá trÞ cđa chóng Shape { appearance NULL exposedField SFNode geometry NULL exposedField SFNode } Đôi nút Shape có tr−êng Appearance nh−ng kh«ng cã tr−êng geometry (vÝ dơ nh− vật thể không nhìn thấy!) Trờng geometry chứa nút Box trờng appearance coi nút Appearance nh giá trị có Nút Appearance lại chứa nút khác Material Câu trúc nút mà nút lại đợc chứa nút khác gọi scene graph (c) SE/FIT/HUT 2002 • • • • • Box Cone Cylinder Sphere Text Các trờng nút Geometry điều khiển kích thớc Kích thớc thờng có đơn vị m, nhng đơn vị Box {size 12 10 d) } Xem code Cone { bottomRadius units wide height side bottom Xem code } geometry Box appearance Appearance material Material diffuseColor VRML gióp b¹n chia mét líp thành khoanh quản lý đợc Mỗi nút riêng lẻ đơn giản, kết nối nút cho phép tạo lớp phức tạp Nút shape đợc tạo nên trung tâm giíi VRML Mét file VRML cã thĨ chøa nhiỊu nút shape Các nút shape trùng lên chúng đợc tạo nên vị trí Bạn nên xem sử dụng trờng geometries sau (c) SE/FIT/HUT 2002 Cơ nút shape Nút Shape viên gạch tạo nên giới VRML Các nút Shape gốc khối chuẩn : Shape Cơ nút shape # x, y, z (=w, h, Ch¹y vÝ dơ # so 10 12 TRUE TRUE Ch¹y vÝ dơ (c) SE/FIT/HUT 2002 Nót text Cylinder { radius # chiỊu réng lµ height bottom TRUE # cup có cạnh đáy side TRUE top FALSE # nhng đỉnh } Chạy ví dụ Xem code Sphere # đơn giản nút shape { radius # nhng phøc t¹p Ch¹y vÝ dơ } Xem code (c) SE/FIT/HUT 2002 Cấu trúc ảnh bitmap Tránh tạo đặc t¶ kü thuËt Web-based 3D/VR Text hữu Ých ë hệ chuyên gia,ví dụ nh khoa học trùc quan Text { string “Hi!” # multi-field length # stretch to this width (0=natural width) fontStyle FontStyle { family“SERIF” # or SANS or TYPEWRITER style “PLAIN” # or BOLD ITALIC size } Chaỵ ví dụ } Xem code (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Sư dơng ¶nh bitmap thay cho mét mô hình 3D thật 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ó bất lợi sau: Cấu trúc ảnh đợc gủi cho trình duyệt ,có thể phải qua trình thông tin chậm Thiết kế ảnh bitmap đa lên hình công đoạn xử lý lµ kü l−ìng (c) SE/FIT/HUT 2002 Page CÊu tróc VRML Appearance { texture ImageTexture { url “skin.gif” # GIF, JPG or PNG repeatSTRUE # repeat or stretch? repeatT TRUE } } Xem code Chạy ví dụ Các Texture URL đầy đủ URLtơng đối đơn giản nh sử dụng Cã ba kiĨu nót texture lµ : ImageTexture, MovieTexture and PixelTexture Xem code Chạy ví dụ Hệ tọa độ Một file VRML xây dựng nên thành phần giới VRML Một file thành đợc xây dựng giới hệ toạ độ Theo mặc định , tất vật thể đợc xây dựng từ gốc hệ toạ độ VRML sử dụng hệ toạ độ thuận hệ toạ độ Đề Các Đơn vị chuẩn đo chều dài khoảng cách VRML m Góc radian Một vòng quay radian 360 radian, khoảng 6.28 radian, 90 /2 radian, khoảng 1.57 radian (c) SE/FIT/HUT 2002 Chuyển đổi hệ toạ độ Một nút transform tạo hệ toạ độ có: Positioned :gèc Rotated :gãc quay Scaled :tû lƯ Liªn hƯ víi hệ toạ độ cha Các vật thể đợc xây dựng hệ toạ độ đợc định vị ,quay tỷ lệ với Nhóm nút Transform tạo nhóm với toạ độ chÝnh nã • rotation – h−íng • scale – kÝch cỡ ã translation vị trí ã children 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 { } Shape { } Transform { } ] } (c) SE/FIT/HUT 2002 Nót transform (c) SE/FIT/HUT 2002 Nót transform Trờng Translation định vị hệ toạ độ X,Y Z Transform { # X Y Z translation 2.0 0.0 0.0 children [ ]} Trờng Scale để co hay giản hệ toạ độ dựa vàu hệ số tỷ lệ trục X, Y, Z Transform { # X Y Z scale 0.5 0.5 0.5 children [ ] } Trờng Rotation định hớng hệ toạ độ quay quoanh cạnh góc quay ã Góc thờng đợc đu đơn vị radian ã radian = ®é/ 180.0 * 3.141 Transform { # X Y Z Angle rotation 0.0 0.0 1.0 0.52 children [ ] } (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Co gi·n , xoay dịch hệ toạ độ, sau 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 từ dới lên bottom-up: Trờng children đợc co giÃn ,xoay sau dịch Thứ tự trờng đợc ấn định, độc lập với trật tự trờng Ch¹y vÝ dơ Xem code (c) SE/FIT/HUT 2002 Page nút Appearance nút Material Các vật thể gốc có màu phát từ bề màu trắng Bạn điều khiển màu vật thể: ã ã ã ã ã Màu bóng Màu phát Tính suốt Tính không chiếu sáng Cờng độ ánh sáng bao quanh Một nút Appearance miêu tả toàn hình dạng vật thể ã Trờng material gồm thuộc tính nh− color, transparency, etc Shape { appearance Appearance { material } geometry } Mét nút Material điều khiển thuộc tính chất liệu vật thể ã diffuseColor màu bóng ã emissiveColor màu phát ã transparency Trong suốt hay kh«ng Shape { appearance Appearance { material Material { diffuseColor 0.8 0.8 0.8 emissiveColor 0.0 0.0 0.0 transparency 0.0 } } geometry } (c) SE/FIT/HUT 2002 Nút material (c) SE/FIT/HUT 2002 Bảng màu thờng dùng Nút Material điều khiển tính chiếu sáng vật thể ã specularColor điểm có màu bật ã shininess kích cở chỗ bật ã ambientIntensity hiêu ứng ánh sáng xung quanh ambient Intensity Mô tả diffuse Color specular Color shininess appearance Appearance { material Material { specularColor 0.71 0.70 0.56 shininess 0.16 ambientIntensity 0.4 } } geometry } Xem code Group Inline Collision Switch 0.26 0.30 0.11 0.00 0.75 0.33 0.00 0.08 0.40 0.22 0.15 0.00 0.71 0.70 0.56 0.16 0.17 0.10 0.03 0.22 0.64 0.00 0.98 0.20 0.15 0.27 0.00 0.00 0.61 0.13 0.18 0.20 Plastic Blue 0.10 0.20 0.20 0.71 0.83 0.83 0.83 0.12 (c) SE/FIT/HUT 2002 Kết nối tới vị trí khác Thông thờng cẩn nhóm đối tợng lại với VRML dùng nút Group để thực điều Nút Group cã thĨ cã c¸c nót Cã thĨ chÝnh nút nút group Có kiĨu nót group sau: Anchor 0.10 Metalic Red nót Group Transform 0.70 0.70 0.80 Metalic Purple (c) SE/FIT/HUT 2002 0.30 0.30 0.50 Gold Ch¹y vÝ dơ 0.30 Copper Shape { Aluminum LOD Billboard Bạn nhóm vật thể lại với để tạo thành vật thể phức t¹p VRML cã nhiỊu nót group bao gåm Group { } Switch { } Transform { } Billboard { } Anchor { } Inline { } Chaỵ ví dụ Xem code (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Cịng nh− trang Web , siªu liªn kÕt cịng s½n cã VRML Cã thĨ kÕt nèi tới kiểu liệu hợp lệ , bao gồm trang VRML khác, trang HTML ứng dơng CGI VÞ trÝ (x, y, z) cđa trỏ đợc truyền tới URL, thực cã Ých víi c¸c øng dơng CGI (c) SE/FIT/HUT 2002 Page Các nút Group-Switch-Transform Nút Anchor Inline Nút Group tạo nút khác Mỗi nút child group đợc hiển thị Group { children [ ] } Nót nhãm Switch t¹o mét nhãm cã thÓ chuyÓn cho ChØ cã nút child group is nhóm đợc hiển thị Bạn chọn nút child ã Nút đợc đánh số tờng minh từ ã A -1 không chän nót nµo Switch { whichChoice choice [ ] } Xem code Chaỵ ví dụ Nút Transform tạo nhóm dựa hệ toạ độ Mỗi nút child đợc hiển thÞ Transform { translation 0.0 0.0 0.0 rotation 0.0 1.0 0.0 0.0 scale 1.0 1.0 1.0 children [ ] } Nót nhãm Billboard t¹o mét nhãm với hệ toạđộ đặc biệt ã Mỗi nút child đợc hiển thị displayed ã Hệ toạ độ trở lại mặt xem Billboard { axisOfRotation 0.0 1.0 0.0 children [ ] } Nót Anchor t¹o mét nhãm mà hoạt Nút Inline tạo nhóm đặc biệt từ động nh kiểu kích chuột đợc nội dung file VRML khác Chỉ nút child đợc hiển thị Nút đọc từ file đợc chọn bëi URL KÝch cht vµo nót child theo sau bëi URL Mỗi nút child đợc hiển thị Trờng description đặt tên cho nút Inline { url "table.wrl" } anchor Inline { url "table.wrl" } Anchor { Transform { url "stairwy.wrl" translation -0.95 0.0 0.0 description "Twisty Stairs" rotation 0.0 1.0 0.0 3.14 children [ ] } children [ Inline { url "chair.wrl" } ] } Xem code Ch¹y vÝ dơ Ch¹y vÝ dụ Xem code (c) SE/FIT/HUT 2002 Đặt tên (c) SE/FIT/HUT 2002 Tõ khãa use NÕu nhiỊu vËt thĨ gièng yếu tố hình học hay hình dạng , bạn phải dùng nhiều nút giống hệt Thay vào , định nghĩa tên cho nút tìm thấy Sau đó, sử dụng tên để chia sẻ cho nút tơng tự ngữ cảnh Cú pháp DEF tạo tên cho nút Shape { appearance Appearance { material DEF RedColor Material { diffuseColor 1.0 0.0 0.0 } } geometry } DEF bắt buộc phải ký tự hoa Có thể đặt tên cho nút Tên hầu hết chuỗi ký tự số Trong file tên phải (c) SE/FIT/HUT 2002 Từ khoá USE cho phép sử dụng 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 chử hoa Sử dụng lại nút đà đợc đặt tên gọi biến hay thể Một nút đà đợc đặt tên có vài thể Mỗi thể chia sẻ miêu tả nút Chỉ có thể hiên mà tên nút đà đợc định nghĩa file (c) SE/FIT/HUT 2002 Giới thiệu hoạt cảnh u điểm Đặt tên sử dụng nút: Lu đà đánh vào Giảm kích thớc file Cho phép thay đổi nhanh chóng vật thể có thuộc tính Tăng tốc độ cho trình xử lý trình duyệt Tên cần thiết cho cảnh động (c) SE/FIT/HUT 2002 Lờ Tn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn C¸c nót nh− Billboard Anchor có hành động xây dựng sẵn Bạn tạo hành động riêng bạn nh làm cho vật thể di chuyển,xoay, co giÃn Chúng ta cần phơng thức để kích , thời gian hoá, đáp ứng chuỗi kiện theo trật tự để tơng tác tốt ngời dùng giới bên Hầu hết nút thành phần dòng hoạt cảnh Nút hoạt động nh phần điện tử ảo Nút gửi nhận kiện Các đờng dây nối nút lại với Một kiện thông báo đợc gửi nút Một giá trị liệu (giống nh dịch chuyển) Thời gian hoàn thành (Khi kiện đợc chứng nhận đà đợc gửi) (c) SE/FIT/HUT 2002 Page Thêm kiện Cài đặt hoạt cảnh Để quay vật thể: ã Nối nút mà gửi kiện rotation với trờng rotation nút Transform Để làm vật thể nhấp nháy: ã Nối nút gửi kiện color vớii trờng diffuseColor nút Material Để cài đặt dòng hoạt cảnh , bạn cần ba thứ : Một nút gửi kiện Nút phải đợc đặt tên với câu lệnh DEF Một nút nhận kiện Nút phải đợc đặt tên với câu lệnh DEF Một đờng dây kết nốichúng lại Mỗi nút có trờng , thông tin vào thông tin cần có: field: Một giá trị liệu đợc lu trử eventIn: đầu vào eventOut: đầu Một trờng exposedField viết gọn cho giá trị liệu, đầu vào đầu (c) SE/FIT/HUT 2002 Các ví dụ Vào- Nút OrientationInterpolator có kiện : value_changed đa giá trị góc xoay Nót PositionInterpolator cã sù kiƯn : value_changed ®−a vị trí Nút TimeSensor có kiện ra: time đa thêi gian (c) SE/FIT/HUT 2002 Tõ khãa route Nót Transform có kiện vào: set_translation set_rotation set_scale Nút Material có kiện vàu: set_diffuseColor set_emissiveColor set_transparency (c) SE/FIT/HUT 2002 Hoạt cảnh Câu lệnh ROUTE cho phép kết nối hai nút lại với : Tên nút gửi kiện Tên nút nhận s kiện vàu ROUTE MySender.rotation_changed TO MyReceiver.set_rotation ROUTE TO bắt buộc phải ký tự hoa Các quy ớc đặt tên Hầu hết nút có exposedFields Nếu trờng exposed tên xxx, thì: ã set_xxx kiện vào đợc gán cho trờng ã xxx_changed kiện đợc gửi trờng thay đổi ã Các tiếp ngữ set_ _changed tuỳ chọn nhng nên có để phân biệt Nút Transform có: Trờng rotation ã Sự kiện vào set_rotation ã Sự kiện rotation_changed (c) SE/FIT/HUT 2002 điều khiển thời gian Hoạt cảnh cho phép thay đổi qua thời gian: ã Vị trí ô tô ã Hớng - máy bay lợn ã Màu sắc đổi mùa Hoạt cảnh bắt buộc điều khiển qua thời gian: ã Khi bắt đầu dừng ã Mức độ nhanh chËm (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK H ni Email: hunglt@it-hut.edu.vn Nút TimeSensor cho phép bạn điều khiển thời gian bắt đầu kết thúc Nút cảm ứng tạo kiện thời gian chạy Để kích hoạt , dẫn kiện thời gian tới nút khác Nút TimeSensor tạo hai kiƯn thêi gian lµ absolute and fractional Sù kiƯn thêi gian Absolute tạo thời gian thực ã Thời gian tuyệt đối đợc đu giây từ 12:00h mồng tháng năm 1970! ã Rất có ích cho việc triƯu gäi mét sù kiƯn ë thêi gian thĨ (c) SE/FIT/HUT 2002 Page sư dơng thêi gian ph©n đoạn Sự kiện thời gian phân đoạn nhận giá trị số từ 0.0 tới 1.0 Khi nút cảm ứng thời gian bắt đầu , đầu 0.0 Kết thúc chu kỳ_ cycle, đầu 1.0 Số giây 0.0 1.0 đợc xác định xung tuần hoàn_ cycle interval Cảm biến thời gian chạy mÃi , chạy qua mét vßng råi dõng (c) SE/FIT/HUT 2002 Tr−êng liệu Nút TimeSensor tạo kiện dựa vào thời gian Thời gian bắt đầu_ startTime thời gian kết thúc_ stopTime chạy Thời gian tuần hoàn_cycleInterval thời gian cho chu kỳ Lặp_loop có lặp lại hay không TimeSensor { cycleInterval 1.0 loop FALSE startTime 0.0 stopTime 0.0 } Để tạo thời gian chạy liên tục: loop TRUE stopTime blue -> red) DEF NewColour ColorInterpolator { key [0.0, 0.33, 0.66, 1.0 ] keyValue [1.0 0.2 0.2, 0.2 1.0 0.2, 0.2 0.2 1.0, 1.0 0.2 0.2 ] } (Above is Grouped with the object we’re changing) # use clock to run a ColorInterpolator, generating smoothly varying colour ROUTE Clock.fraction_changed TO NewColour.set_fraction # use varying colour value to feed material's diffuseColor field ROUTE NewColour.value_changed TO SphereColour.set_diffuseColor (c) SE/FIT/HUT 2002 (c) SE/FIT/HUT 2002 nút Script ngôn ngữ kịch Nhiều hành động phức tạp nút hoạt cảnh ã Tính toán đờng (ví dụ lực hấp dẫn) ã Giải thuật vật thể (eg fractals) ã Các môi trờng cần công tác (ví dụ game) Bạn tạo nút sensors, interpolators, vân vân , cánh sử dụng chơng trình kịch viết ngôn ngử ã Java ngôn ngử lập trình mạnh ã JavaScript ngôn ngử kịch dễ học ã VRMLscript giống JavaScript Ngôn ngữ VRML không bắt buộc phải hỗ trợ ngôn ngữ kịch ã Hầu hết trình duyêt hõ trợ JavaScript ã Nhiều trình duyêt hỗ trợ Java VRMLScript = JavaScript = ECMAScript ã JavaScript không giống Java ã VRMLScript phần mềm Cosmo Software hỗ trợ JavaScript ã Các đặc tả kỹ thuật ISO VRML gọi ECMAScript, phiên có hỗ trơ JavaScript Nút Script chọn chơng trình kịch để chạy: url chọn chơng trình kịch DEF Bouncer Script { url "bouncer.class" or url "bouncer.js" or url "javascript: " or url "vrmlscript: " } Xem code (c) SE/FIT/HUT 2002 Java Chạy ví dụ Định nghĩa giao tiếp chơng trình kịch ứng dụng Nút Script khai báo giao tiếp chơng trình kịch ã field, eventIn, eventOut thao tác xuất nhập ã Mỗi có tên kiểu liệu ã Các trờng có giá trị khởi ®Çu DEF Bouncer Script { field SFFloat bounceHeight 3.0 eventIn SFFloat set_fraction eventOut SFVec3f value_changed } (c) SE/FIT/HUT 2002 Java class So với ngôn ngữ nh JavaScript/VRMLscript, Java có khả năng: ã Mô đun chơng trình tốt ã Cấu trúc liệu tốt ã Khả thực nhanh ã Truy cập mạng Với công việc đơn giản sử dụng JavaScript/VRMLscript Những chơng trình phức tạp dùng Java Khai báo giao tiếp chơng trình kịch Với chơng trình kịch viết ngôn ngữ Java tạo file class trờng url củanút Script ã file class đợc biên dịch chơng trình kịch Java DEF Bouncer Script { field SFFloat bounceHeight 3.0 eventIn SFFloat set_fraction eventOut SFVec3f value_changed url "bounce2.class" } (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn NhËp c¸c package cho líp Java File chơng trình kịch bảnphải import package VRML : ã Đợc cung cấp công ty phân phèi tr×nh dut VRML import vrml.*; import vrml.field.*; import vrml.node.*; Tạo file Java class Các chơng trình kịch phải định nghĩa lớp có tính public kế thõa tõ líp Script public class bounce2 extends Script { } ã Phơng thức tuỳ chọn initialize đợc gọi script đợc tải ã public void initialize ( ) { } ã Quá trình khởi tạo xẩy khi: ã Nút Script đợc tạo (thờng trình duyệt nạp giới vật thể) ã Phơng thức shutdown đợc gọi đến script nạp ã public void shutdown ( ) { } • Shutdown xÈy : • Nót Script bị xoá ã Trình duyệt nạp giới (c) SE/FIT/HUT 2002 Page 10 Sù kiÖn -event Tr−êng eventout tõ java Đáp ứng kiện ã Phơng thức processEvent đợc gọi kiện nhận đợc , chuyển đối tợng kiện chứa ã Giá trị cđa sù kiƯn • Thêi gian public void processEvent( Event event ) { } Xem code vrml Truy nhập trờng từ Java Mỗi trờng giao tiếp đợc đọc viết ã Gọi getField để ®äc tr−êng cđa ®èi t−ỵng obj = (SFFloat) getField( "bounceHeight" ); ã Gọi getValue để lấy giá trị trờng lastval = obj.getValue( ); ã Gọi setValue đặt giá trị cho mét tr−êng obj.setValue( newval ); Xem code java (c) SE/FIT/HUT 2002 Lê Tấn Hùng CNTT- ĐHBK Hà nội Email: hunglt@it-hut.edu.vn Truy nhập trờng eventOuts từ Java Mỗi giao tiếp eventOut đọc ghi ã gọi getEventOut để ®äc tr−êng eventOut cđa ®èi t−ỵng obj = (SFVec3f) getEventOut( "value_changed" ); ã Gọi getValue đọc giá trị cuối đợc gửi lastval = obj.getValue( ); ã Gọi setValue để gưi mét sù kiƯn obj.setValue( newval ); VÝ dơ Java script Tạo nút interpolator vớiquả bóng nẩy tính trọng lực nh chuyển động nẩy ngang từ liệu đầu vào thời gian phân đoạn Nút cần: DEF Ball Transform { } DEF Clock TimeSensor { } DEF Bouncer Script { } (c) SE/FIT/HUT 2002 Page 11 ... chơng trình kịch viết ngôn ngử ã Java ngôn ngử lập trình mạnh ã JavaScript ngôn ngử kịch dễ học ã VRMLscript giống JavaScript Ngôn ngữ VRML không bắt buộc phải hỗ trợ ngôn ngữ kịch ã Hầu hết... So víi c¸c ngôn ngữ nh JavaScript/VRMLscript, Java có khả năng: ã Mô đun chơng trình tốt ã Cấu trúc liệu tốt ã Khả thực nhanh ã Truy cập mạng Với công việc đơn giản sử dụng JavaScript/VRMLscript... File chơng trình kịch bảnphải import package VRML : ã Đợc cung cấp công ty phân phối trình duyệt VRML import vrml. *; import vrml. field.*; import vrml. node.*; Tạo file Java class Các chơng trình

Ngày đăng: 27/08/2012, 13:55

Hình ảnh liên quan

Ngôn ngữ mô hình hóa thực tại ảo VRMLVRML - Ngôn ngữ mô hình hóa thực tại VRML

g.

ôn ngữ mô hình hóa thực tại ảo VRMLVRML Xem tại trang 1 của tài liệu.
„ Một nút có thể định nghĩa hình dạng vật thể, hay thuộc tính của của một đối t−ợng , nh−màu màu sắc và hệ tọa độ của nó. - Ngôn ngữ mô hình hóa thực tại VRML

t.

nút có thể định nghĩa hình dạng vật thể, hay thuộc tính của của một đối t−ợng , nh−màu màu sắc và hệ tọa độ của nó Xem tại trang 1 của tài liệu.
„ Một trình dịch định dạng và mô hình hóa 3D - Ngôn ngữ mô hình hóa thực tại VRML

t.

trình dịch định dạng và mô hình hóa 3D Xem tại trang 1 của tài liệu.
Ngôn ngữ mô hình hóa thực tại ảo VRMLVRML - Ngôn ngữ mô hình hóa thực tại VRML

g.

ôn ngữ mô hình hóa thực tại ảo VRMLVRML Xem tại trang 1 của tài liệu.
Cấu trúc cảnh - Ngôn ngữ mô hình hóa thực tại VRML

u.

trúc cảnh Xem tại trang 2 của tài liệu.
Cấu trúc phân lớp - Ngôn ngữ mô hình hóa thực tại VRML

u.

trúc phân lớp Xem tại trang 2 của tài liệu.
„ 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ý... - Ngôn ngữ mô hình hóa thực tại VRML

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ý Xem tại trang 2 của tài liệu.
„ 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. - Ngôn ngữ mô hình hóa thực tại VRML

hi.

ế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 Xem tại trang 2 của tài liệu.
Bảng màu th−ờng dùng - Ngôn ngữ mô hình hóa thực tại VRML

Bảng m.

àu th−ờng dùng Xem tại trang 4 của tài liệu.
Nút material - Ngôn ngữ mô hình hóa thực tại VRML

t.

material Xem tại trang 4 của tài liệu.
nút Material - Ngôn ngữ mô hình hóa thực tại VRML

n.

út Material Xem tại trang 4 của tài liệu.
nút Appearance „ Các vật thể gốc có màu phát ra từ bề  - Ngôn ngữ mô hình hóa thực tại VRML

n.

út Appearance „ Các vật thể gốc có màu phát ra từ bề Xem tại trang 4 của tài liệu.
hình - Ngôn ngữ mô hình hóa thực tại VRML

h.

ình Xem tại trang 8 của tài liệu.
„ Bạn có thể liên kết các sự kiện này tới các nút khác để tạo ra chu kỳ đơn gồm có nguyên nhân_kết quả. - Ngôn ngữ mô hình hóa thực tại VRML

n.

có thể liên kết các sự kiện này tới các nút khác để tạo ra chu kỳ đơn gồm có nguyên nhân_kết quả Xem tại trang 8 của tài liệu.
• Sự kiện enterTime –gửi thời gian vào vùng vào hay lúc hữu hình •Sự kiệnexitTime– gửi thời gian vào vùng ra hay lúc không hữu  - Ngôn ngữ mô hình hóa thực tại VRML

ki.

ện enterTime –gửi thời gian vào vùng vào hay lúc hữu hình •Sự kiệnexitTime– gửi thời gian vào vùng ra hay lúc không hữu Xem tại trang 8 của tài liệu.
Colorinterpolator-scalarinterpotator - Ngôn ngữ mô hình hóa thực tại VRML

olorinterpolator.

scalarinterpotator Xem tại trang 8 của tài liệu.
nút Sensor „ Có 7 kiểu nút sensor . - Ngôn ngữ mô hình hóa thực tại VRML

n.

út Sensor „ Có 7 kiểu nút sensor Xem tại trang 8 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan