Báo cáo Tham luận hội thảo “ Ứng dụng công nghệ Multimedia trong giáo dục đào tạo”

Một trong những trọng tâm của đề tài là mô phỏng các thí nghiệm hoá học trong sách giáo khoa của trung học cơ sở. Các thí nghiệm này được mô phỏng như trong một phòng thí nghiệm ảo, với các dụng cụ thí nghiệm được mô phỏng như trong thực tế. Các dụng cụ thí nghiệm có rất nhiều loại, nhưng chiếm một phần không nhỏ là các dụng cụ có chất liệu thuỷ tinh. Phần dưới đây chúng tôi xin trình bày qui trình tạo các dụng cụ này và phương pháp tạo chất liệu thuỷ tinh để áp lên các dụng cụ đó.

pdf74 trang | Chia sẻ: lylyngoc | Lượt xem: 2667 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Báo cáo Tham luận hội thảo “ Ứng dụng công nghệ Multimedia trong giáo dục đào tạo”, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c như nguồn sáng trong thế giới thực. Hiệu ứng chiếu sáng toàn cảnh phụ thuộc vào chất liệu và các thuộc tính bề mặt, do đó các đối tượng trong khung cảnh cần phải được mô hình hóa một cách chính xác và xác định giới hạn không gian đường biên trước khi tạo ánh sáng toàn cảnh. Hình 12. Sử dụng nguồn sáng tạo hiệu ứng sáng chói Ánh sáng toàn cảnh (Radiosity) là nguồn sáng đã được phản chiếu lên các đối tượng khác. Khi sử dụng sự ánh sáng toàn cảnh, số lượng nguồn sáng bao quanh trong cảnh tăng lên, màu sắc của một đối tượng có thể ảnh hưởng tới các đối tượng khác. Ánh sáng 40 toàn cảnh cung cấp một mô hình các hiệu ứng ánh sáng như trong thế giới thực. Có ba cách tạo ánh sáng toàn cảnh [3]: - Sử dụng chất liệu Advanced Lighting Override nhằm tăng tính hiện thực của của các chất liệu tự chiếu sáng. - Sử dụng ánh sáng trắc quang trong hiệu ứng ánh sáng toàn cục cho một cảnh ở ngoài trời hoặc áp dụng Skylight và light tracing để xuất một cảnh ngoài trời. - Kết hợp hiệu ứng Daylight và radiosity để xuất một cảnh ngoài trời với các mức độ ánh sáng tự nhiên khác nhau. Kết luận Nhóm cán bộ Viện Công nghệ thông tin, Đại học Quốc gia Hà nội đã áp dụng các phương pháp tạo ánh sáng trên trong việc xây dựng phần mềm mô phỏng thí nghiệm ảo cho ba môn học cấp trung học cơ sở, thuộc các môn vật lý, hóa học và sinh học. Các thí nghiệm cho thấy (i) màu sắc toàn cảnh thí nghiệm tự nhiên, chân thực; (ii) các đối tượng hoặc hiện tượng cần nhấn mạnh trong thí nghiệm được thể hiện một cách sinh động, trực quan; (iii) đảm bảo tính chính xác, tính sư phạm và nội dung khoa học trong các bài thí nghiệm. Các phương pháp tạo ánh sáng trên chưa thể coi như chuẩn. Trong quá trình xây dựng thí nghiệm ảo, chúng tôi cần kết hợp bước tạo ánh sáng với các qui trình tạo hiệu ứng 3 chiều khác nhằm tạo ra sản phẩm thí nghiệm ảo hoàn thiện hơn. Tài liệu tham khảo [4]. Huỳnh Văn Đức, Nguyễn Quốc Cường, Hoàng Đức Hải, Đồ học vi tính, Nhà XB Giáo dục, 1999, tr 232-244. [5]. Lưu Triều Nguyên, Nguyễn Việt Dũng, Thiết kế 3 chiều với 3D Studio MAX, Nhà XB Giáo dục, 2000, tr 298-325. Hình 13. To ánh sáng cho toàn cnh 41 [6]. 3ds max user reference volume 3, Singapore, 12807-010000-5530A, 2001, pp. 415-478. [7]. Erick Vera, Todd Bogdan, Brian Wagner, Ales Holecek, John Terrell, Josh Bates, Ken Musgrave, Sam Coroniti, Ian Gilman, Paul Cattrone, Michael Herf, Maria Giannakouros and Moe Doucet - MetaCreations Bryce 4, 6303 Carpinteria Avenue Carpinteria, CA 93013 [8]. Erick Vera- Bryce 3D User Guide - MataCreations Corporation, P.O.Box 66959, Scotts Valley, CA 95067-6959, (408) 430-4000. [9]. R. Shamms Mortier - The Bryce 3D Handbook - United States of America [10]. [11]. [12]. [13]. [14]. [15]. 42 MỘT SỐ MODULE ĐIỀU KHIỂN TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG BẰNG LINGO. Phạm Thị Huế Phòng Đa phương tiên, Viện Công nghệ thông tin – Đại học Quốc gia Hà Nội 1. Giới thiệu: Ngày nay, việc áp dụng tin học vào các lĩnh vực đời sống ngày càng trở lên phổ biến, đặc biệt việc áp dụng công nghệ multimedia nhằm nâng cao chất lượng giáo dục đào tạo. Sự ra đời của sách điện tử, của những chương trình mô phỏng với hình ảnh và âm thanh trực quan, hấp dẫn đã làm thay đổi hẳn phương thức học tập, tiếp cận cái mới của người học. Một trong những công cụ chuẩn để tạo ra những sản phẩm multimedia được sử dụng nhiều trên thế giới hiện nay là công cụ Macromedia Director. Ngoài việc tích hợp âm thanh, hình ảnh, tạo ảnh động và các hiệu ứng chuyển cảnh, Director còn cho phép tạo ra các sản phẩm tương tác(interactive multimedia) cực kỳ linh hoạt, đáp ứng sự kiện chủ động của người dùng. Trong đề tài “Mô phỏng thí nghiêm ảo”, chúng tôi đã sử dụng Director với mục đích tạo ra các phầna mềm tương tác như đã nói trên. Sau đây xin được nêu ra một số module chủ yếu. Các module này đều nhằm giải quyết các bài toán cụ thể của đề tài: Bài toán xác định điện trở của bóng đèn. Bài toán tìm ảnh của vật qua thấu kình hội tụ. 2. Xây dựng module điều khiển tương tác bằng Lingo trong Director: 2.1 Tổng quan chung về lập trình Lingo Lingo, ngôn ngữ lập trình script , dùng để tạo các tương tác cho các sản phẩm media trong Director. Với Lingo, ta có thể hoàn toàn có thể điều khiển các đối tượng hình ảnh, âm thanh tạo nên những hiệu quả bất ngờ. Cái hữu ích nhất mà Lingo mang lại là làm cho sản phẩm media trở nên mềm dẻo, đáp ứng được các sự kiện cụ thể do người dùng chủ động đặt ra. Chẳng hạn: việc tạo ra các hiệu ứng hoạt hình, các định dạng văn bản, trả lời các sự kiện chuột hoặc bàn phím trở nên dễ dàng hơn. Với Lingo, sự xuất hiện của các đối tượng trên khung hình gần như độc lập về thời gian và thứ tự lớp, người dùng sẽ quyết định cái gì sẽ xuất hiện và xuất hiện tại thời điểm nào. 43 Director sử dụng 4 loại script khác nhau: behavior, movie script, parent script và script gắn với cast member. Ba loại script đầu đều xuất hiện như là các đối tượng trên cửa sổ cast member. Behaviors là một số hàm mà Director đã cung cấp sẵn, ta có thể sử dụng đơn giản bằng cách kéo thả nó vào đối tượng hoặc khung hình muốn điều khiển. Ta cũng có thể sửa đổi các behavior có sẵn này thành hàm của riêng mình. Sau đây ta sẽ liệt kê một số hàm sẽ được dùng trong các module. Một số lệnh liên quan đến xử lý ảnh: • Image Object ( Đối tượng Image): Là một dữ liệu bitmap cơ bản mà ta có thể khởi tạo và chứa nó trong một biến nhớ: i = image(width, height, depth) • Draw ( thủ tục vẽ): Draw là một phương thức được dùng để vẽ một đường thẳng hoặc một hình chữ nhật lên đối tượng ảnh imageObject. Màu sắc của hình vẽ được xác định bởi colorObject. imageObject.draw(x1, y1, x2, y2, colorObject) imageObject.draw(point(x, y), point(x, y), colorObject) imageObject.draw(rect, colorObjectt) • Fill: Dùng để đổ màu cho hình chữ nhật trên đối tượng ảnh imageObject imageObject.fill(left, top, right, bottom, colorObjectOrParameterList) imageObject.fill(point(x, y), point(x, y), colorObjectOrParameterList) imageObject.fill(rect, colorObjectOrParameterList) Một số lệnh liên quan đến mảng: • Khai báo một mảng với số phần tử không biết trước: Mảng tuyến tính: NameOfList=[] Mảng thuộc tính: NameOfList=[:] Chú ý: các phần tử của mảng tuyến tính không nhất thiết phải cùng kiểu. • DeleteOne (xoá một phần tử khỏi mảng) list.deleteOne(value) deleteOne list, value 44 • Add: thêm một phần tử vào mảng linearList.add(value) add linearList, value 2.2 Bài toán xác định điện trở của bóng đèn. Bài toán 1: cho trước các linh kiện mạch điện: bóng đèn, vôn kế, ampekế, nguồn điện, khoá đóng mở mạch điện, dây dẫn điện. Tiến hành mắc mạch điện và đo điện trở bóng đèn. Giải quyết bài toán bằng Director: Phân tích: Việc thực hiện bài toán trong phòng thí nghiệm thực không có gì khó khăn, tuy nhiên, trong một thí nghiệm ảo, ta cần biết nên sử dụng những đối tượng nào làm linh kiện để việc lắp mạch và đo điện trở hiệu quả nhất. Các linh kiện mà hình dạng không thay đổi như: nguồn điện, ăm pe kế, vôn kế, bóng đèn được xem như những đối tượng ảnh (ImageObject) được chèn vào như các castmember. Riêng dây dẫn: do đặc tính của dây dẫn là có đường đi, độ dài ngắn do người sử dụng quy định lúc mắc mạch nên thay vì dùng một hình ảnh có sẵn, ta sẽ sinh ra dây dẫn ngay lúc người dùng nối dây bằng chuột. Như vậy để lưu lại được đường đi của dây dẫn, ta cần một mảng để lưu toạ độ chuột đi qua. Xây dựng: Nhập (Import) ảnh các linh kiện vào castmember rồi đặt chúng lên cửa sổ Score như sau: Giao diện như hình dưới: 45 Module khởi tạo các giá trị khi movie bắt đầu chạy: global nguon, ampe, volt , N_am, N_duong, A_am,A_duong,V_am, V_duong, den, khoa, den1, dotlist, mylist, nut global E, R, rt, ra, rv global I, U, ss global dotlist, canvasImg, dsListID on startmovie dotlist=[] canvasImg=member("test").image dsListID=[] repeat with i=1 to 16 sprite(i).visible=false end repeat dau=7 cuoi=16 nut=[] j=1 repeat with i=dau to cuoi temp=[:] addProp temp, #sp, sprite(i) addProp temp,#listnut, [] addProp temp,#id, i-6 addProp temp,#listID,[] addProp temp,#listdot,[[],[],[],[],[],[],[],[],[],[]] nut[j]= temp j=j+1 end repeat den= sprite(4) khoa= sprite(5) N_duong= sprite(7) N_am= sprite(8) V_duong= sprite(9) V_am= sprite(10) A_duong= sprite(11) A_am= sprite(12) khoa1= sprite(13) t1=0 E=0 ra=0.01 rv=10000 rt=0.02 R=3 I=0 U=0 end Các biến dùng chung được khai báo sau từ khoá Global: Tên biến Mục đích sử dụng Dotlist Là một danh sách tuyến tính, lưu trữ các điểm trên đường vẽ khi người dùng tiến hành nối dây giữa các cực linh kiện. 46 Nut Là danh sách thuộc tính, trong đó mỗi phần tử lưu trữ các thông số về một nút (cực) của linh kiện. Chú ý rằng khi mắc mạch điện, tình trạng hiện thời của mạch hoàn toàn phụ thuộc vào trạng thái của các nút (cực điện). Sp: layer chứa nút. Listnut: danh sách các nút được nối với nút hiện tại. Listdot:Là một danh sách tuyến tính, lưu trữ các điểm trên đường vẽ khi người dùng tiến hành nối dây giữa các cực linh kiện. canvasImg Dùng để lưu trữ đối tượng ảnh mà trên đó ta sẽ vẽ đường dây nối. Module hiển thị một linh kiện: property mysprite, dau1, dau2, kim property bt1, bt2, dc on mouseup me if not(cam) then if mysprite.visible then mysprite.visible= 0 dau1.visible=0 dau2.visible=0 sprite(me.spritenum).member=bt1 if kim 0 then sprite(kim).visible=0 end if else mysprite.visible= 1 dau1.visible=1 dau2.visible=1 sprite(me.spritenum).member=bt2 mysprite.member=dc if kim 0 then sprite(kim).visible=true end if end if end on getPropertyDescriptionList me return \ [ \ #mysprite: \ [ \ #comment: "dc hien thi:", \ #format: #sprite, \ #default: sprite(1) \ ],\ #dau1:\ [ \ #comment: "dau1 hien thi:", \ #format: #sprite, \ #default: sprite(7) \ ],\ #dau2:\ [ \ #comment: "dau2 hien thi:", \ #format: #sprite, \ #default: sprite(8) \ ],\ #kim:\ [ \ #comment: "kim hien thi:", \ #format: #integer, \ #default: 25 \ ],\ #dc:\ [ \ #comment: "member dc:", \ #format: #member, \ #default: member("nguonthat1") \ ],\ #bt1:\ [ \ #comment: "member bt cua nut dc1:", \ 47 #format: #member, \ #default: member("nguon1") \ ],\ #bt2:\ [ \ #comment: "member bt cua nut dc2:", \ #format: #member, \ #default: member("nguon1-2") \ ]] end Module này gồm 2 script: mouseup và getPropertyDescriptionList. Để script mouseup có thể sử dụng với nhiều linh kiện khác nhau, thay vì khai báo các biến, ta sử dụng thuộc tính (property) để khai báo thông số về đối tượng ngay khi ta kéo thả module vào đối tượng. Script mouseup đáp ứng lại thao tác nhả chuột của người dùng. Khi người dùng nhả chuột, thì một linh kiện, chẳng hạn vôn kế (mysprite) sẽ hiển thị trên màn hình, cùng với vôn kế là 2 cực âm – dương mà ta dùng 2 biến dau1, dau2 để lưu cũng hiển thị. Tiếp đó, nếu linh kiện này có kim đo (kim) thì ta hiển thị kim đo. Lệnh hiển thị rất đơn giản: Mysprite.visible=1 Script getPropertyDescriptionList: định dạng giá trị khởi tạo, kiểu giá trị cho các thuộc tính đã khai báo ở trên. Module nối dây: …….. Đây là module được xây dựng theo phương pháp hướng đối tượng. Đầu tiên ta tạo ra một đối tượng đoạn thẳng, gán thuộc tính (me, mate, myID) và phương thức (Draw, Draw1) cho nó: Phương thức Draw() vẽ một đoạn thẳng màu đỏ nối giữa hai điểm do đối tượng me và mate lưu trữ. Phương thức Draw1() vẽ một đoạn thẳng trùng màu với màu nền nối giữa hai điểm do đối tượng me va mate lưu trữ, đây là một thủ thuật để gỡ bỏ dây nối khi điều kiện nối không hợp lệ. Trên đây chỉ là một số những đoạn mã cơ bản, để nắm được ý nghĩa của các biến và chức năng của các module ta cần tham khảo thêm toàn bộ chương trình “Xác định điện trở” của đề tài. 2.3 Bài toán tìm ảnh của vật qua thấu kình hội tụ. Bài toán 2: Cho một vật AB đặt trước một thấu kính hội tụ. Xác định vị trí và kích thước của ảnh tạo bởi thấu kính khi người dùng thay đổi vị trí của vật AB. 48 Phân tích: Tương tự như bài toán 1, ở đây ta sử dụng các đối tượng ảnh sau: vật AB, ảnh A’B’, thấu kính. Đường đi của tia sáng và tia khúc xạ của nó sinh ra khi cùng thao tác di chuyển vật AB của người dùng. Chú ý: có thể biểu diễn mỗi tia sáng bằng một đối tượng ảnh, xong việc này có thể tạo ra hiệu quả hình ảnh không như mong muốn: khi vị trí vật thay đổi, kéo theo góc lệch của tia sáng cũng như độ dài của chúng thay đổi theo, việc một đối tượng ảnh bị co dãn hoặc bóp méo sẽ làm vỡ hình. Như vậy, ta qui bài toán ban đầu về bài toán: vẽ các đoạn thẳng mà các điểm đầu mút của chúng được cho như hình vẽ. Giá trị tọa độ của các đầu mút này được xác định qua các thông số và công thức về thấu kính. Xây dựng: Sau đây là toàn bộ mã nguồn của module giải quyết bài toán: i. - 49 - global f, d, d1, h, thaukinhH, diem, diem1, diem2 property obj, img, tiass, tiatam, tiaF, thaukinh, gh, x, nen property pmove on beginsprite me gh=sprite(25) obj=sprite(23) nen= sprite(20).member.image obj.constraint=gh img= sprite(24) thaukinh=sprite(22) obj.moveablesprite=true end on mousedown me pmove=1 end on mouseup me pmove=0 end on mouseupoutside me pmove=0 end on exitframe if the mousedown then if pmove then t= the mouseh if t< gh.left then t=gh.left if t> gh.right then t=gh.right obj.loch=t objh= obj.loch d=thaukinhH-objh if d f then d1= integer((d*f).float/(d-f)) x=integer((h*f)/abs(d-f)) --lay khoang cach tu right, left thau kinh den tam a= thaukinh.right-thaukinhH b=thaukinhH-thaukinh.left x1=h*a/d x2=(h*(a-f)).float/f diem[3]= sprite(22).loc +point(0, x) diem1[2]= sprite(22).loc + point(a, x1) diem1[3]= sprite(22).loc +point(a,x) if d1>0 then img.member=member("image") ve1() else img.member=member("image1") ve2() end if end if end if end if end on ve1 t=obj.loc-point(0,obj.height/2) nen.fill( nen.rect, rgb(255,255,255)) repeat with i=1 to 2 member("nenve").image.draw(t, diem[i],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) member("nenve").image.draw( diem[i], diem1[i],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) end repeat if diem[3][2]<= thaukinh.bottom-7 then member("nenve").image.draw(t, diem[3],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) member("nenve").image.draw( diem[3], diem1[3],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) end if sprite(24).loch= sprite(22).loch+d1 sprite(24).locv= thaukinh.locv+x/2 sprite(24).height = x sprite(24). width = sprite(23).width*d1/d i. - 50 - end on ve2 sprite(24).loch= sprite(22).loch+d1 sprite(24).locv= thaukinh.locv-x/2 sprite(24).height = abs(x) sprite(24). width = sprite(23).width*abs((d1).float/d) t=obj.loc-point(0,h/2) --point(0,h) t1=sprite(22).loc t2=t1+ point(f, 0) nen.fill( nen.rect, rgb(255,255,255)) repeat with i=1 to 2 member("nenve").image.draw(t, diem[i],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) member("nenve").image.draw( diem[i], diem1[i],[#shapeType:#line, #lineSize:1, #color: rgb(255,255,0)]) end repeat t= thaukinh.loc+point((d1).integer, - (x).integer) member("nenve").image.draw( diem[1], t,[#shapeType:#line, #lineSize:1, #color: rgb(0,0,255)]) member("nenve").image.draw( obj.loc- point(0,h/2), t,[#shapeType:#line, #lineSize:1, #color: rgb(0,0,255)]) end Việc chủ yếu phải làm ở đây là xác định tọa độ của các đầu mút đoạn thẳng và lưu chúng vào 2 mảng tuyến tính diem() và diem1(). Việc vẽ đường đi của tia sáng không có gì khó khăn sau khi chúng ta đã xác định được các tọa độ trên. Một điều cần lưu ý ở đây là: do sự thay đổi các thông số vừa phụ thuộc liên tục vào thời gian, vừa liên quan đến sự kiện người dùng nhấn chuột nên nhất thiết các lệnh tính tọa độ phải đặt trong hàm sự kiện ExitFrame, và điều kiện kiểm tra là the mousedown. KẾT LUẬN Trong báo cáo này chúng ta đã tìm hiểu một số lệnh, hàm chủ yếu của ngôn ngữ lập trình Lingo nhằm tạo các tương tác với các đối tượng đồ họa. Những module này đã được cài đặt và kiểm thử, kết quả là hiệu ứng được tạo ra rất tốt. Ngày nay, việc ứng dụng công nghệ multimedia để xây dựng các bài giảng điện tử ngày càng trở nên phổ biến, việc thêm các tương tác vào bài giảng là rất cần thiết để đảm bảo chất lượng cho các bài giảng . Lingo là một ngôn ngữ đủ mạnh và không quá khó để tạo những tương tác như thế. Bên cạnh Lingo và Director còn có rất nhiều công cụ có hỗ trợ chức năng tạo script nhằm nâng cao hiệu quả của chương trình và giảm thiểu các thao tác thủ công như Flash, 3DMax, Authorware, …Tùy theo yêu cầu cụ thể của bài toán đặt ra mà ta lựa chọn công cụ tạo tương tác phù hợp, tuy nhiên chúng ta vẫn nên sử dụng Director để tích hợp các dữ liệu tạo nên sản phẩm cuối cùng. i. - 51 - QUY TRÌNH TẠO CÁC ĐỐI TƯỢNG 3 CHIỀU BẰNG PHẦN MỀM 3DSMAX Phạm Thanh Nam Viện Công nghệ thông tin – Đại học Quốc gia Hà Nội 1. Giới thiệu chung về phương pháp tạo đối tượng (tạo mô hình) Kỹ thuật tạo mô hình là một trong các kỹ thuật cơ bản và quan trọng nhất của đồ hoạ 3 chiều, nếu chúng ta tạo được một mô hình tốt là chúng ta đã hoàn thành một nửa công việc. Trong công việc tạo đồ hoạ 3 chiều thì kỹ thuật tạo mô hình chiếm nhiều thời gian nhất và thường thì rất khó tạo được một mô hình hoàn hảo, do đó công việc tạo mô hình thường kéo dài cho đến các giai đoạn sau. Ta có thể hình dung dễ dàng hơn công việc này bằng cách tham khảo biểu đồ công việc trong quá trình tạo đồ hoạ 3 chiều sau: • Tạo đối tượng (create object) • Sửa đổi đối tượng (edit object) • Thêm bề mặt và chất liệu (add serface) • Thêm ánh sáng (add lighting) • Đặt vị trí camera (place camera) • Tạo chuyển động (animate) • Thể hiện (render the scene) Vậy thế nào là kỹ thuật tạo mô hình? Kỹ thuật tạo mô hình (Modeling) là kỹ thuật tạo ra các khung dựng của các đối tượng, ta có thể tưởng tượng giai đoạn này là quá trình tạo ra khung xương cho cơ thể một con người, sau đó nhờ các kỹ thuật thể hiện (Rendering) để thêm da thịt cho con người đó, và tiếp theo là nhờ kỹ thuật tạo hoạt hoạ (animation) để tạo hoạt động cho người. Ta có thể hiểu rõ công việc của từng giai đoạn bằng các hình ảnh minh hoạ sau: Khung dùng cña mét qu¶ bãng, ®−îc t¹o ra sau b−íc t¹o m« h×nh Qu¶ bãng sau khi ®· qua b−íc thÓ hiÖn H×nh 1: so s¸nh 2 qu¸ tr×nh t¹o m« h×nh vµ thÓ hiÖn i. - 52 - 2. Các kỹ thuật tạo đối tượng Trong đồ hoạ 3 chiều có các kỹ thuật tạo đối tượng sau: • Primitive và Boolean operation • Extrution • Lathe • Polygon mesh • Parametric serface • Meta ball • Particle system • Fractal modal • Physical model Cho đến nay người ta vẫn đang tiếp tục nghiên cứu và phát triển để có thể tạo ra các phương pháp đơn giản hơn và hiệu quả hơn trong việc xây dựng mô hình các đối tượng trong không gian 3 chiều. Nhất là trong các lĩnh vực Multimedia, điện ảnh, phim nổi... 3. Áp dụng các phương pháp tạo đối tượng trong 3ds Max cho đề tài Phần mềm 3ds Max là một phần mềm 3 chiều chuyên nghiệp có sức mạnh lớn, nó cung cấp cho chúng ta hầu hết các phương pháp tạo đối tượng cũng như thể hiện đối tượng. Chính vì vậy chúng tôi chọn 3ds Max làm công cụ để tạo các đoạn phim mô phỏng trong đề tài. Mỗi phương pháp tạo đối tượng trong 3ds Max đều có các ưu nhược điểm riêng và phù hợp với từng loại đối tượng, với từng trường hợp khác nhau. Điều quan trọng nhất là chúng ta chọn đúng được phương pháp thì sẽ giúp chúng ta tiết kiệm được nhiều thời gian và đạt được hiệu quả cao hơn. Ngoại trừ một số các đối tượng rất đơn giản thì chúng ta có thể sử dụng một phương pháp để tạo, còn đa số các đối tượng thường được tạo ra bằng cách kết hợp một số phương pháp nhất định. Trong phần Các thí nghiệm hoá học chúng ta cần phải xây dựng một phòng thí nghiệm ảo để người sử dụng có thể thực hiện các thí nghiệm hoá học. Do đó chúng ta cần phải tạo ra rất nhiều các đối tượng vừa đơn giản vừa phức tạp Các đối tượng đơn giản: các dụng cụ thí nghiệm: thường là cốc, chai, lọ, ống nghiệm, đèn cồn (hình 2)… đều là các đối tượng đơn giản nên có thể dùng các đối tượng cơ bản được 3ds max cung cấp sẵn, sau đó sử dụng phương pháp chuyển đối tượng sang dạng lưới (edit mesh) để sửa đổi cho phù hợp. i. - 53 - Hình 2: Các dụng cụ thí nghiệm hóa học Các đối tượng phức tạp: các chất hoá học, các hiện tượng tác dụng… thường là các bọt khí, khói, nổ, cháy… các đối tượng này bao gồm rất nhiều các phần tử rất nhỏ, do đó cần sử dụng các đối tượng dạng hệ thống hạt (particle system) để tạo, sau đó điều chỉnh các thông số cho phù hợp với yêu cầu. Hình 3: Các đối tượng phức tạp 3.1 Phương pháp tạo đối tượng đơn giản Các đối tượng đơn giản thường có hình dáng tương tự như các đối tượng gốc được cung cấp trong 3ds Max, vì vậy chúng ta có thể sử dụng 3 loại đối tượng cơ bản của 3d là đối tượng hình cầu (sphere), hình trụ (Cilynder) và hình hộp (box) để tạo Cilynder: sử dụng để tạo các đối tượng có chu vi là hình tròn và có chiều cao như cốc thuỷ tinh, ống nghiệm, lọ đựng dung dịch... Box: sử dụng để tạo các đối tượng có góc cạnh như bàn thí nghiệm, cân, các thanh gỗ… Sphere: sử dụng để tạo các đối tượng có các bộ phận hình cầu, tròn như đèn cồn… Cách tạo: i. - 54 - Để tạo các dụng cụ thí nghiệm là ống nghiệm, lọ đựng hoá chất, cốc thuỷ tinh…chúng ta chỉ cần sử dụng một đối tượng Cylinder. Sau khi đưa đối tượng vào khung nhìn Top view, chúng ta chuyển sang tab modify để thiết lập một số thông số cơ bản cho Cylinder. Các thông số đó là: Radius: xác định bán kính hình trụ Height: xác định chiều cao hình trụ Sides: xác định số phần chia theo chu vi hình trụ Cap segment: xác định số vòng Height segment: xác đinh số phần chia theo chiều dài Trong đó bán kính và chiều cao chúng ta thiết lập tuỳ theo yêu cầu về kích thước của đối tượng, giá trị này có thể sửa đổi bất cứ lúc nào. Cần chú ý đến giá trị xác định số phần chia theo chu vi và chiều cao, các giá trị này sẽ tỷ lệ với số lượng các điểm chia đối tượng thành các mặt lưới khi chúng ta áp dụng phương pháp edit mesh cho đối tượng. Chúng ta có thể dễ dàng hình dung quá trình thực hiện như sau: Các thông số thiết lập cho hình trụ Hình trụ được tạo ra Áp dụng Edit mesh để chuyển hình trụ sang dạng lưới Hình trụ thu được sau khi chuyển sang dạng lưới i. - 55 - Hình trụ thu được sau khi chuyển sang dạng lưới Thay đổi vị trí các điểm trên lưới kết quả thu được sau khi thay đổi vị trí các điểm Áp chất liệu thuỷ tinh cho đối tượng Kết quả thu được Hình trụ thu được sau khi chuyển sang dạng lưới Thay đổi vị trí các điểm trên lưới kết quả thu được sau khi thay đổi vị trí các điểm Áp chất liệu thuỷ tinh cho đối tượng Kết quả thu được Hình 4: Sơ đồ tạo đối tượng đơn giản Khi chúng ta thiết lập height segment = 17 và sides = 20 thì chiều cao của hình trụ được chia ra thành 17 đoạn đều nhau và chu vi được chia thành 20 đoạn đều nhau. Khi áp dụng edit mesh cho hình trụ thì 3ds max sẽ chuyển hình trụ thành 17x20 mặt tứ diện đều nhau. Các mặt tứ diện này được chia cắt bằng các đường cắt nhau bởi các điểm giao nhau (màu xanh). Chúng ta có thể thay đổi vị trí các điểm này trong không gian 3 chiều để làm thay đổi các mặt tứ diện và tạo thành bề mặt của đối tượng. Thực hiện tương tự đối tượng dạng hình cầu (sphere) và hình hộp (box) để tạo các đối tượng như đèn cồn, bàn thực hiện thí nghiệm… Như vậy chúng ta có thể dễ dàng hình dung ra các bước để tạo ra một đối tượng có hình trụ. Hầu hết các đối tượng đơn giản trong đề tài đều được sử dụng phương pháp này để tạo ra. Chỉ cần thay đổi các thông số cơ bản là chúng ta có thể dễ dàng tạo ra một loạt các loại ống nghiệm, chai, lọ, cốc có kích thước, và hình dạng khác nhau. i. - 56 - Sau khi đã tạo được đối tượng dạng khung dựng chúng ta phải thực hiện một phần quan trọng tiếp theo là tạo chất liệu cho đối tượng. Nếu khung dựng là bộ xương của đối tượng thì chất liệu chính là da thịt, là bộ mặt của đối tượng. Việc tạo chất liệu đóng góp một phần quan trọng trong việc tạo ra một đối tượng. Mỗi một loại chất liệu lại có một số các đặc điểm riêng để phân biệt với các loại khác, ví dụ chất liệu thuỷ tinh thì đặc trưng bởi độ trong suốt hay mờ đục (Opacity)... 3ds max cung cấp cho chúng ta đầy đủ các thuộc tính đặc trưng để có thể tạo ra hầu hết các loại chất liệu trong thực tế. Các đối tượng cần sử dụng trong phần mềm mô phỏng hầu hết được làm bằng chất liệu thuỷ tinh, do đó chúng ta sẽ cùng tìm hiểu cách tạo chất liệu thuỷ tinh, sau đó sử dụng cho các đối tượng mà chúng ta đã tạo ra ở phần trên.... Cách tạo chất liệu thuỷ tinh Việc tạo chất liệu trong 3ds max là một công việc phức tạp. Mỗi chất liệu được tạo ra từ rất nhiều các thông số khác nhau kết hợp lại, ví dụ: màu sắc (color), màu xung quanh (ambient color), màu khuyếch tán (diffuse color) độ phản chiếu (reflection), độ khúc xạ (refraction), tính mờ đục hay tính chắn sáng (opacity)...tùy theo từng chất liệu khác nhau mà chúng ta sử dụng các thông số phù hợp để tạo. Do tính chất vật lý của chất liệu thủy tinh là trong suốt và có thể để ánh sáng khác xạ qua nên khi tạo chúng ta chỉ cần đặc biệt quan tâm đến hai thông số đặc trưng là độ khúc xạ (refraction) và tính chắn sáng/tính mờ đục (opacity). Độ khúc xạ được biểu diễn bằng chỉ số khúc xạ IOR (Index Of Refraction). IOR điều khiển chặt chẽ tính khúc xạ ánh sáng của chất liệu. Các chất liệu khác nhau có các giá trị IOR khác nhau. Độ khúc xạ của chân không có giá trị IOR chính xác bằng 1, còn của không khí thì bằng 1,0003 (có thể coi là bằng 1). Khi một đối tượng được làm bằng chất liệu có giá trị IOR bằng 1 thì khi nhìn xuyên qua nó ta sẽ thấy đối tượng đằng sau sẽ không bị bóp méo. Giá trị IOR càng lớn thì các đối tượng đằng sau sẽ càng bị biến dạng nhiều hơn. Các giá trị IOR của một số chất liệu cụ thể như sau: Tên chất liệu/môi trường Giá trị IOR Chân không 1 Không khí 1,0003 Nước 1.333 Thủy tinh 1,5 đến 1,7 i. - 57 - Kim cương 2,419 Tính chắn sáng có giá trị được xác định nằm trong khoảng từ 0% đến 100%. Khi chất liệu có thông số opacity bằng 100% nghĩa là chất liệu đó chắn sáng hoàn toàn và ánh sáng không thể xuyên qua được. Một chất liệu sẽ hoàn toàn trong suốt và cho ánh sáng xuyên qua hoàn toàn khi giá trị opacity bằng 0. Như vậy giá trị opacity càng nhỏ thì độ trong suốt càng lớn. Do đó tùy theo yêu cầu về độ trong suốt của chất liệu mà chúng ta chọn giá trị opacity cho phù hợp. Để tạo chất liệu thủy tinh cho các dụng cụ thí nghiệm hóa học chúng tôi lấy giá trị IOR bằng 1,5 và opacity bằng 60%. Và kết quả chất liệu thu được có độ trong suốt, khúc xạ và độ bóng cao, biểu diễn được chính xác chất liệu thủy tinh như trong thực tế. 3.2 Tạo các đối tượng phức tạp Do các hiệu ứng cháy, nổ, khói, bọt khí bay ra… là các hiệu ứng phức tạp, thường là bao gồm rất nhiều các thành phần nhỏ hợp lại nên phải dùng đối tượng dạng hệ thống hạt (Particle system) để tạo, sau đó kết hợp với một số hiệu ứng đặc biệt khác như Video Post, Rendering Effect... để tạo được hiệu quả thuyết phục. Particle system là các đối tượng mô phỏng sự sắp xếp và chuyển động phức tạp của một tập các phần tử nhỏ bằng cách đinh nghĩa việc sinh ra và chuyển động của các phần tử đó theo một thủ tục miêu tả cho cả hệ thống. Theo cách này chúng ta không cần phải tạo riêng rẽ từng phần tử và cho chúng chuyển động riêng lẻ, mà có thể đơn giản tạo ra cả một hệ thống gồm rất nhiều các phần tử và cho chúng chuyển động theo ý muốn bằng cách tạo một thủ tục đơn giản cho một đối tượng, mà đối tượng đó bao gồm tất cả các phần tử con, đối tượng đó được gọi là đối tượng Particle system. Đối tượng Particle system trong 3ds max thường được sử dụng để mô phỏng các hiện tượng tự nhiên như mưa, sương, khói, lửa cháy, pháo hoa hay các đám côn trùng…và cũng được dùng để tạo mô hình cho các đối tượng dạng lưới tĩnh 3ds max cung cấp cho chúng ta 6 đối tượng dạng Particle system cơ bản, ngoài ra chúng ta có thể sử dụng các plug-in của các hãng khác nhau để lấy thêm các đối tượng Particle system khác khi muốn tạo ra các hiệu quả phức tạp Spray: thường được sử dụng để tạo các tia dạng đơn giản. Chúng ta có thể sử dụng để mô phỏng các hiện tượng như vòi nước phun hay mưa… i. - 58 - Snow: được sử dụng để tạo các hiệu quả tuyết. đối tượng dạng này có rất nhiều các tham số cho phép chúng ta có thể sửa đổi hình dạng cũng như kích thước của các hạt một cách linh hoạt và tạo nên sự chuyển động hỗn độn của các hạt trong hệ thống, để làm cho hệ thống trông sinh động và thật hơn. Pcloud: thường được sử dụng để tạo các đám mây gồm các hạt tĩnh hay các đám bọt khí, bong bóng. Phạm vi hoạt động của các hạt trong hệ thống có thể được hạn chế theo hình dáng của các đối tượng khác nhau do chúng ta lựa chọn Parray: dùng để tạo ra các hạt phun toả ra từ các loại vật thể, hoặc có thể sử dụng để tạo các hiệu quả nổ SupperSpray: là một đối tượng nâng cao của Spray, có nhiều thông số và tính năng, giúp chúng ta có thể sử dụng để tạo ra hầu hết các hiệu quả cần thiết. Blizzard: là đối tượng nâng cao của Snow, cũng có nhiều thông số cho phép chúng ta có thể sử dụng để tạo các hệ thông hạt tuyết phức tạp. Particle system có các tham số cho phép chúng ta có thể điều chỉnh để có thể tạo ra hoạt động theo thời gian. Thông qua việc điều chỉnh và sử dụng linh hoạt các tham số này chúng ta có thể tạo ra được rất nhiều các hiệu quả khác nhau. Trong đề tài chúng ta cần phải mô phỏng một số hiện tượng hoá học như: các chất hoá học tác dụng với nhau sinh ra bọt khí, sinh ra các chất kết tủa, sinh ra oxi tạo ra lửa cháy sáng... sau đây chúng ta sẽ cùng tìm hiểu cụ thể cách thiết lập các thông số để tạo ra các hiện tượng đó. Các thông số này chúng tôi thu được sau khi đã thử và so sánh rất nhiều các giá trị khác nhau để rút ra được các thông số phù hợp nhất. 3.2.1 Cách tạo lửa cháy sáng chói như pháo hoa Yêu cầu của đề tài: (minh hoạ hiện tượng muối bị phân huỷ) Muối KMnO4 khi bị đun nóng sẽ phân huỷ và tạo ra K2MnO4, MnO2 và khí oxi. Khi đưa que đóm có than hồng vào ống nghiệm, than hồng gặp oxi sẽ cháy sáng chói giống như pháo hoa. Như vậy chúng ta cần phải tạo ra hiện tượng các tia lửa phun ra từ đầu que đóm và cháy sáng chói. Để tạo ra các tia lửa chúng ta cần sử dụng đối tượng Spray, để tạo ra sự cháy sáng chói chúng ta sử dụng kết hợp với chức năng Video post của 3ds max. Cách thực hiện như sau: Tạo một đối tượng Spray trên cửa sổ Front view, sau đó đặt vị trí của đối tượng Spray vào vị trí của đầu que đóm, thiết lập các thông số sau đây cho đối tượng Spray vừa tạo. i. - 59 - View port count = 100: số lượng các hạt được hiển thị trên khung nhìn Render port count = 400: số lượng các hạt thực sự được sinh ra khi render Thông thường thì người ta thường chọn số lượng các hạt hiển thị trên khung nhìn ít hơn để tốc độ dựng hình được nhanh Drop size = 20.0: kích thước của một hạt, được tính theo đơn vị của 3d max Speed = 1.0: là tốc độ của các hạt được phân tán ra từ bộ sinh Variation = 10.0: cho phép thay đổi phương hướng của các hạt sau khi sinh ra từ bộ sinh Start=240: xác đinh thời điểm bắt đầu sinh của một hạt = khung đầu tiên của một hạt được sinh ra Life =10: xác nhận thời gian tồn tại của một hạt từ khi sinh ra đến khi mất đi, giá trị này được tính bằng số lượng frame (Birth rate: được kích hoạt khi tuỳ chọn Constant bị tắt. Nút này định số lượng các hạt được phân tán cho mỗi khung, và các hạt sẽ được phân tán liên tục cho đến khi đạt giới hạn = render port count) Sau khi thiết lập được các thông số như trên chúng ta đã có được các tia lửa bắn ra từ than hồng như hình vẽ sau: Tiếp theo chúng ta sử dụng Video post để tạo độ chói sáng cho các tia lửa Vào menu Rendering chọn Video post, cửa sổ Video post mở ra, nhấn nút Add image filter event trong cửa số Video post để mở ra cửa sổ Add image filter event, chọn Lens effects grow Chọn OK để đóng cửa sổ Add image filter event và trở về cửa sổ Video post Nhấn đúp chuột vào Lens effect glow trong cửa sổ Video post để mở cửa sổ Edit filter event và thiết lập các thông số cho nó. Vấn đề quan trọng nhất là thiết lập màu sắc i. - 60 - cho ánh sáng phát ra. Trong ô color chúng ta có thể chọn 1 trong 3 kiểu là Gradient (màu chuyển dần), Pixel hay User (do người sử dụng quy định) Nhấn OK để quay trở lại cửa sổ Video post, nhấn nút Add image output event để chọn tên file la thu5.avi và vị trí đặt file movie sẽ hiển thị, nhấn OK để quay lại cửa sổ Video post. Sau khi render chúng ta sẽ được kết quả là các tia lửa bắn ra từ que đóm sẽ phát ra ánh sáng chói. So sánh hai hình ảnh trên ta thấy rõ ràng sau khi thêm hiệu ứng Video post vào thì que đóm cháy sáng chói thoả mãn được yêu cầu cuả đề tài. Như vậy là chúng ta đã hoàn thành được việc mô tả hiện tượng 3.2.2 Cách tạo bọt khí Yêu cầu của đề tài: (minh hoạ hiện tượng kim loại tác dụng với axit) Cho đinh sắt vào ống nghiệm đựng dung dich axit sunfuric loãng xảy ra hiện tượng đinh sắt tan dần, bọt khí bay ra. Như vậy vấn đề khó khăn là phải tạo ra các bọt khí sinh ra từ đinh sắt và bay ra khỏi ống nghiệm. Để thực hiện được việc này chúng ta sử dụng một đối tượng kiểu PCloud, cách thực hiện như sau: Tạo một đối tượng PCloud trên cửa sổ Top view, thiết lập các thông số sau đây cho đối tượng PCloud vừa tạo. Do các bọt khí sẽ được sinh ra từ bề mặt của đinh sắt nên trong phần Basic Parameter chúng ta nhấn vào nút Pick Object rồi chọn dinhsat (là tên của đối tượng đinh sắt). Thao tác này sẽ chỉ cho 3ds max biết rằng các bọt khí phải được sinh ra từ đối tượng đinh sắt. Trong phần Particle Formation chúng ta chọn Object-based Emitter, thao tác này chỉ cho 3ds max biết rằng hình dáng và kích thước của bộ sinh đối tượng được dựa theo hình dáng và kích thước của đinh sắt. Tiếp theo chúng ta thiết lập các thông số quy định việc sinh ra các bọt khí i. - 61 - Chọn Use Rate và đặt giá trị = 10, đặt Speed = 0.35 (tốc độ chuyển động của các hạt sau khi sinh ra), Variation = 25 (độ biến thiên của tốc độ, tính theo phần trăm). Do các bọt khí sinh ra sẽ chuyển động lên trên mặt dung dich axit nên chúng ta chọn hướng chuyển động của các hạt bằng cách chọn Direction Vector và thiết lập giá trị cho ô Y = 0.5 (Y là hướng từ đáy ống nghiệm lên miệng ống nghiệm) Tuỳ theo tình huống mà chúng ta thiết lập các thông số về thời gian cho các hạt, cụ thể với trường hợp này chúng tôi chọn các giá trị như sau Emit Start = 65 (các bọt khí bắt đầu sinh ra từ frame thứ 65) Emit Stop = 600 (các bọt khí dừng sinh từ frame thứ 600) Display Until = 700 (các bọt khí sẽ biến mất hoàn toàn từ frame 700, cho dù giá trị Life của nó vẫn còn giá trị) Life = 90 (số frame tồn tại của các bọt khí tính từ khi sinh ra đến khi mất đi) Variation = 0 (các giá trị thiết lập sẽ không biến thiên) Size = 0.8 (kích thước của bọt khí) Variation = 0 (kích thước của bọt khí không thay đổi) Tiếp theo chúng ta chọn hình dạng cho bọt khí, các bọt khí tất nhiên là hình cầu, do đó trong phần Particle Type chúng ta chọn Standard Particles, và chọn Sphere Tiếp theo chúng ta chọn chất liệu thuỷ tinh màu trắng cho các bọt khí, và khi render chúng ta sẽ thu được kết quả như sau: i. - 62 - 4. Kết luận Việc chọn phần mềm 3ds max làm công cụ xây dựng các thí nghiệm mô phỏng các hiện tượng hóa học đã thỏa mãn được yêu cầu của đề tài. Sau một thời gian ngắn tìm hiểu và thử nghiệm chúng tôi đã rút ra được các quy trình tạo đối tượng nhanh nhất và hiệu quả nhất. Bằng các quy trình này chúng tôi đã nhanh chóng xây dựng được một thư viện các dụng cụ thí nghiệm hóa học. Do các dụng cụ này được xây dựng lên từ một qui trình thống nhất nên khi có yêu cầu thay đổi hay làm mới chúng ta chỉ cần điều chỉnh một vài thông số là đã có được một đối tượng thỏa mãn yêu cầu. Tuy việc tạo ra các đối tượng trên là các thao tác rất cơ bản và không quá phức tạp nhưng nếu chúng ta không xây dựng một qui trình làm việc khoa học thì khi làm việc sẽ rất tốn thời gian và không hiệu quả. Việc xây dựng nên qui trình thống nhất và thư viện dữ liệu sẽ giúp chúng ta tiết kiệm được thời gian và có thể chia sẻ cho người khác cùng sử dụng. i. - 63 - PHƯƠNG PHÁP TẠO CHẤT LIỆU THUỶ TINH CHO CÁC DỤNG CỤ TRONG THÍ NGHIỆM HOÁ HỌC Nguyễn Thị Ngọc Hân Viện Công nghệ thông tin, Đại học Quốc gia Hà nội Tóm tắt: Các dụng cụ thí nghiệm bằng thủy tinh được sử dụng rất nhiều trong các thí nghiệm hóa học ở trường trung học cơ sở, tuy nhiên việc tạo ra một dụng cụ thí nghiệm đúng kích thước và đúng chất liệu trong 3ds max vẫn là một vấn đề mà người thiết kế không dễ thấy hài lòng. Sau quá trình nghiên cứu, chúng tôi đã đưa ra một qui trình tạo các dụng cụ thí nghiệm hóa học sử dụng chất liệu thủy tinh và ứng dụng trong tất cả các thí nghiệm sau này. Từ Khoá: Dụng cụ thí nghiệm, chất liệu thủy tinh. GIỚI THIỆU Chương trình 3DS MAX là một chương trình phần mềm 3 chiều chuyên nghiệp, nó cung cấp hầu hết các phương pháp tạo và thể hiện đối tượng với nhiều ưu điểm nổi trội, công cụ, giao diện và khả năng Render đa dạng. Chính vì thế chúng tôi đã chọn chương trình 3DS MAX làm công cụ để xây dựng các đoạn mô phỏng dùng trong đề tài. Một trong những trọng tâm của đề tài là mô phỏng các thí nghiệm hoá học trong sách giáo khoa của trung học cơ sở. Các thí nghiệm này được mô phỏng như trong một phòng thí nghiệm ảo, với các dụng cụ thí nghiệm được mô phỏng như trong thực tế. Các dụng cụ thí nghiệm có rất nhiều loại, nhưng chiếm một phần không nhỏ là các dụng cụ có chất liệu thuỷ tinh. Phần dưới đây chúng tôi xin trình bày qui trình tạo các dụng cụ này và phương pháp tạo chất liệu thuỷ tinh để áp lên các dụng cụ đó. PHƯƠNG PHÁP TẠO CHẤT LIỆU THỦY TINH Để tạo một dụng cụ thí nghiệm dùng chất liệu thủy tinh, chúng ta cần phải trải qua các bước như sau: Tạo đối tượng và sửa đổi đối tượng Áp chất liệu thuỷ tinh cho đối tượng Đặt chế độ chiếu sáng cho đối tượng Tạo đối tượng và sửa đổi đối tượng Trong 3DS MAX, các đối tượng cơ bản được cung cấp rất đa dạng. i. - 64 - Với các đối tượng này, để tạo các đối tượng có hình dạng đơn giản là một vấn đề không khó. Chúng ta cần đi qua các bước thao tác như sau: Chọn đối tượng cơ bản có hình khối tương tự giống với đối tượng mà ta định tạo ra. Ví dụ: Chúng ta nên chọn đối tượng Cylinder (hình trụ) hoặc Tube (hình ống) để tạo các dụng cụ có miệng tròn và thân dài như ống nghiệm, ống thuỷ tinh, ống đong, bình đựng dung dịch, cốc thuỷ tinh, …. Với các đối tượng có khung là hình cầu như bình cầu, đèn cồn thì ta nên chọn đối tượng Sphere (hình cầu) hay GeoSphere. Sau khi đưa đối tượng vào khung nhìn bất kỳ, ta chuyển sang Tab Modify để thiết lập các thông số cơ bản cho đối tượng. Ví dụ như với đối tượng cơ bản Tube ta có các thông số cơ bản sau: Radius 1, radius 2: xác định bán kính trong và bán kính ngoài của hình trụ Height: xác định chiều cao hình trụ Height segment: xác đinh số phần chia theo chiều dài Cap segment: xác định số phần chia tâm của khối trụ i. - 65 - Sides: xác định số mặt trên chu vi hình trụ. Số mặt này càng lớn thì độ cong của đối tượng sẽ càng mịn hơn. Giá trị của bán kính và chiều cao chúng ta thiết lập tuỳ theo yêu cầu về kích thước của đối tượng. Cần chú ý đến giá trị xác định số phần chia theo chu vi và chiều cao, các giá trị này sẽ tỷ lệ với số lượng các điểm chia đối tượng thành các mặt lưới khi chúng ta áp dụng phương pháp editable mesh cho đối tượng. Khi đã chuyển đổi đối tượng thành các mặt lưới, chúng ta có thể thay đổi khung của đối tượng bằng cách thay đổi các đối tượng con của vật thể (lúc này là các đối tượng: Vertex (điểm), Edge (cạnh), Face (mặt), Polygon (đa giác), Element(thành phần)). Quá trình thực hiện có thể mô tả như sau: Bước 1: Tạo đối tượng Tube Bước 2: Thay đổi các thông số của đối tượng trên Tab Modify Bước 3: Chuyển đối tượng sang dạng mặt lưới bằng lệnh Editable Mesh Bước 4: Tạo khuôn dạng cho đối tượng bằng cách thay đổi các đối tượng con của vật thể i. - 66 - Mộ t số kết quả sau khi thực hiện Áp chất liệu thuỷ tinh cho đối tượng Sau khi đã tạo được hình dạng của đối tượng, chúng ta phải thực hiện một phần quan trọng nữa là tạo chất liệu cho đối tượng. Tất cả các vật thể trong thực tế đều được tạo ra từ một loại chất liệu nào đó, như gỗ, đá, sắt,….Loại chất liệu khác nhau khi áp dụng cho một vật thể sẽ tạo ra cho người xem những cảm nhận khác nhau. Chương trình 3DS MAX cung cấp khá đầy củ các thuộc tính đặc trưng để có thể tạo ra hầu hết các loại chất liệu trong thực tế. Các đối tượng sử dụng trong các thí nghiệm hoá học trong phần mềm mô phỏng hầu hết được làm bằng chất liệu thuỷ tinh, do đó chúng ta sẽ cùng tìm hiểu cách tạo chất liệu thuỷ tinh, sau đó sử dụng cho các đối tượng mà chúng ta đã tạo ra ở phần trên.... Thành phần chủ yếu để làm việc với các chất liệu trong 3ds max là Material Editor. Có 2 cách để truy nhập tới Material Editor: bằng cách chọn từ menu kéo xuống Rendering/Material Editor hoặc bằng cách nhấn phím tắt M. i. - 67 - Trong hộp thoại Material Editor, để tạo chất liệu thuỷ tinh ta thực hiện các bước như sau: Đầu tiên ta phải chọn chế độ tô bóng cho chất liệu mà ta sẽ áp vào đối tượng. Ở đây 3dmax cho ta rất nhiều lựa chọn về tô bóng. Nhưng có lẽ ở vật thể thuỷ tinh này chúng ta chỉ có thể chọn hai chế độ tô bóng là Blind và Phong. Trong hộp văn bản tên chất liệu, nhập vào tên “thuy tinh trong”. Tại phần bảng cuộn Shader Basic Parameters, chọn kiểm tuỳ chọn 2_Sided. Điều này cho phép chất liệu được áp lên cả hai phía của vật thể, bất chấp phương hướng của pháp tuyến mặt Face Normal. Trong bảng cuộn Blinn Basic Parameters, click vào ô chọn màu Diffuse và trong bộ chọn màu Color Selector, nhập vào các giá trị như sau: Red = 205, Green = 235, Blue = 235 để có được một màu xanh dương. Kích vào ô chọn màu Specular, sử dụng bộ chọn màu Color Selector để đổi màu nó sang màu thuần trắng có giá trị: Red = 255, Green = 255, Blue = 255. Nhập 100 vào ô giá trị Specular Level, 40 vào ô Glossiness và 30 vào ô Opacity để làm cho chất liệu có độ trong suốt 70 phần trăm. Giá trị Specular Level cho biết độ phản quang của chất liệu được áp vào đối tượng, và giá trị Glossiness cho biết độ bóng của chất liệu. Tuỳ từng loại chất liệu thuỷ tinh mà chúng ta có thể lựa chọn cho thích hợp trị số của hai giá trị này. “Ở đây chúng ta cần thuỷ tinh có độ bóng khá cao chính vì thế mà chúng ta chọn giá trị là 100 và 40 “. Quan trọng nhất trong phần áp chất liệu này có lẽ là giá trị Opacity. Vì đây là giá trị quyết định độ mờ đục hay trong suốt của chất liệu. Giá trị Opacity càng cao thì vật thể được áp càng mờ đục. Trong phần Advanced Transparency của bảng cuộn Extended Parameters, vẫn chọn kiểm ở mục In và nhập 100 vào ô Amount để đặt chế độ trong suốt cực độ từ trong ra. Ở phần Advanced Transparency, tại mục Type có 3 tuỳ chọn Filter, Subtractive, Additive. Tại đây ta chọn mục Filter cho biết chất liệu thuỷ tinh mà được áp có ánh sáng i. - 68 - phía trong cân bằng với ánh sáng môi trường “ Có nghĩa là vật thể ở trong chất liệu thuỷ tinh có độ chiếu sáng bằng với độ chiếu sáng môi trường “. Tuỳ chọn Subtractive cho ta ánh sáng trong thuỷ tinh ít hơn ánh sáng môi trường và tuỳ chọn Additive cho ta kết quả ngược lại. Trong hộp thoại Material Editor, kích nút Background có biểu tượng hình kẻ ô như hình dưới đây. Nút này sẽ chuyển ảnh nền của cửa sổ mẫu đang được kích hoạt sang dạng kẻ ô, giúp hình dung tính chất trong suốt rõ hơn. Chất liệu đã tạo ra có vẻ khá giống với thuỷ tinh, nhưng nếu cần chúng ta vẫn có thể làm tinh hơn với chất liệu này. Như ta đã biết, ánh sáng nhìn qua chất liệu thuỷ tinh bao giờ cũng phản quang lại những vật thể xung quanh nó. Chính vì thế mà ta sẽ nhìn thấy ảnh của các vật thể hiện lên đối tượng được áp chất liệu thuỷ tinh đó. Tuy là rất nhỏ nhưng nếu ta quan tâm đến nó thì chất lượng render ảnh sẽ cao hơn. Để áp dụng với thuỷ tinh hoặc những chất phản quang thì 3dmax đã áp dụng một thủ tục áp ảnh map rất thích hợp. Đó là thủ tục Reflection. Đây là thủ tục dành cho độ phản quang của chất liệu. Tại đây có 3 map thủ tục mà ta hay dùng với Reflection đó là Flat Mirror, Reflect/Refract, Raytrace. Trong đó Flat Mirror là thủ tục hay dùng với phản quang kiểu gương phẳng “ các tấm plane chẳng hạn “. Reflect/Refract là thủ tục hay dùng với phản quang kiểu gương cầu “ các hình có bán kính cong như Sphere, Cylinder… “. Raytrace là thủ tục phản quang chính xác nhất kiểu dò tia, chính vì thế mà ta nên dùng thủ tục này để đạt độ tối ưu với chất liệu thuỷ tinh “ Nhưng thời gian render sẽ lâu hơn so với bình thường lên khá cao “. i. - 69 - Tại slot chất liệu thuỷ tinh trong, ta chuyển xuống bảng cuộn map của hộp thoại Material Editor. Click chuột vào thanh cuộn Reflection để chấp nhận áp thủ tục phản quang cho chất liệu. Tại phần chọn thủ tục áp trong bảng động Material/Map Browse ta chọn thủ tục Raytrace. Tại phần giá trị của thanh cuộn Reflection ta chọn giá trị 20 để cho độ phản quang của thuỷ tinh chỉ là 20% mà thôi. Vậy là ta đã có một chất liệu thuỷ tinh tương đối hoàn hảo. Sau khi tạo xong chất liệu, chọn nút lệnh Assign Material to Selection nằm ngay bên trên nút có biểu tượng ống nhỏ mắt để áp chất liệu Thuy tinh trong cho các đối tượng đang được chọn. Ngoài ra ta có thể nhấn vào nút lệnh Put to Library để lưu chất liệu đã tạo vào trong thư viện và sử dụng cho các đối tượng sau này. Đặt chế độ chiếu sáng cho đối tượng Ở một đoạn movie mô tả thí nghiệm hoá học, bài toán đặt ra cho ánh sáng là việc đặt ra một ánh sáng vừa đủ và không quá nhiều hiệu ứng để đảm bảo cho người xem được các thao tác và các biến đổi của thí nghiệm hoá học này. Chính vì thế mà ánh sáng trong những thí nghiệm này không nên quá phức tạp, chúng ta chỉ nên dùng một loại nguồn sáng thuần nhất cho thí nghiệm với ánh sáng vừa đủ để người xem có thể theo dõi được chính xác các thí nghiệm hoá học. Tại phần Lights của bảng Create, ta có thể chọn ba loại nguồn sáng cơ bản là Omni, Spot hoặc Direct Light. Ở đây ta chọn nguồn sáng Omni là nguồn sáng điểm để đảm bảo chiếu sáng hầu hết các vật thể trong khung nhìn của thí nghiệm. Với Omni chúng ta có thể thay đổi những hiệu quả sau. i. - 70 - Ánh sáng yếu đi hay mạnh lên được thay đổi bằng các thông số tại phần Multiplier tại bảng cuộn Intensity/Color/Attenuation. Có đổ bóng các vật thể hay không và các kiểu đổ bóng được thay đổi bằng cách click chuột vào lựa chọn Shadow tại bảng cuộn General Parameters. Mầu sắc của ánh sáng được chọn bằng ô chọn Color tại bảng cuộn Intensity/Color/Attenuation. Với các chế độ tô bóng ta có thể chọn 3 loại chế độ. Đó là Shadow Map, Ray Traced Shadow và Area Shadow. Về cơ bản thì chế độ tô bóng Ray Traced và Area là khá giống nhau vì đều là chế độ tô bóng dò tia, tuy nhiên chế độ tô bóng Area thì có độ chân thực cao hơn vì nó làm mềm các cạnh biên của bóng đổ. Ngoài ra nếu cần tăng tốc độ render thì bóng đổ Shadow Map cũng là một giải pháp chấp nhận được. Ở đây ta chỉ đề cập đến bóng đổ Area vì đó là bóng đổ tốt nhất mà ta nên dùng. Với chế độ tô bóng này ta chỉ cần quan tâm đến phần bảng cuộn Area Shadow mà thôi.Trong đó thì thông số quan trọng nhất là Bias “độ chính xác “ và Sample Spread “độ nhoè của cạnh biên bóng đổ “.Ở đây ta chọn Bias là 0,5 và Sample Spread là 5. Các chế độ khác như mặc định. Áp dụng thực tế trong đề tài Cùng với chất liệu thuỷ tinh được tạo ra ở trên, chúng tôi đã tạo ra một bộ các dụng cụ thí nghiệm được áp dụng trong các thí nghiệm hoá học trong đề tài. Bộ dụng cụ này có thể sử dụng lại nhiều lần trong các thí nghiệm mô phỏng về sau. i. - 71 - Kết luận Chất liệu thuỷ tinh là chất liệu chủ yếu của các dụng cụ thí nghiệm hoá học. Việc tạo ra và sử dụng chung một mẫu chất liệu sẽ tạo sự thống nhất trong cả bộ dụng cụ sử dụng trong các thí nghiệm hoá học trong chương trình. Điều này còn làm tăng hiệu quả mô phỏng trong đề tài, đảm bảo tính chính xác, hiện thực và hấp dẫn người học. Chính vì thế mà trong bài viết này chúng tôi đưa ra một mẫu vật liệu đặc trưng của chất liệu thủy tinh để làm vật liệu chính cho những thí nghiệm hóa học mà chúng tôi đã mô phỏng. Đây không phải là phương pháp làm duy nhất để làm nên chất liệu thủy tinh nhưng cũng là một phương pháp hiệu quả và dễ sử dụng nhất là đối với những người mới biết cách sử dụng chương trình 3dsmax. Việc mô phỏng các thí nghiệm hóa học là một việc đòi hỏi độ xác thực cao, chính vì thế mà việc thể hiện các dụng cụ thí nghiệm sao cho chính xác với ngoài thực tế cũng là i. - 72 - một việc rất khó. Chất liệu thủy tinh mà chúng tôi nghiên cứu phần nào đã đáp ứng được việc thể hiện các thí nghiệm được xác thực và rõ ràng hơn. Chúng tôi đang, đã và sẽ cố gắng nghiên cứu các phương pháp để nâng cao việc thể hiện một cách xác thực nhất, chi tiết nhất các thí nghiệm hóa học cần mô phỏng. Và chúng tôi sẵn sàng tiếp nhận những lời góp ý của các bạn để càng ngày càng nâng cao những bài thí nghiệm. Đó cũng là một cách làm tốt nhất để phục vụ việc học tập của các học sinh thân yêu của chúng ta.

Các file đính kèm theo tài liệu này:

  • pdfBáo cáo tham luận hội thảo Ứng dụng công nghệ Multimedia trong giáo dục đào tạo.pdf
Luận văn liên quan