Các câu lệnh sử dụng trong Violet Script.

23 1.2K 12
Các câu lệnh sử dụng trong Violet Script.

Đ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Ữ LẬP TRÌNH VIOLET SCRIPT VIOLET Group Ngơn ngữ lập trình Violet Script HÀ NỘI, 5/2004 -2- VIOLET Group Ngơn ngữ lập trình Violet Script MỤC LỤC Tổng quan 1.1 Giới thiệu sơ lược .4 1.2 Các đặc điểm ngơn ngữ 1.2.1 Ngôn ngữ mô 1.2.2 Lựa chọn chế độ chạy song song 1.2.3 Khả sử dụng thư viện mở 1.2.4 So sánh ngôn ngữ VS với Timeline 1.3 Sử dụng Violet Script Violet 1.4 Cấu trúc ngôn ngữ .7 1.4.1 Chương trình viết VS .7 1.4.2 Các lệnh đơn giản .8 1.4.3 Các biểu thức 1.4.4 Các lệnh có cấu trúc 1.4.5 Các nhãn VS mơ Hình học 2.1 Khả ngôn ngữ 2.2 Các ứng dụng 2.3 Ví dụ Các lệnh VS 12 3.1 Các lệnh xử lý đối tượng 12 3.2 Các lệnh xử lý đa giác .14 3.3 Các lệnh đồ họa .15 3.4 Các lệnh phục vụ tính tốn hình học phẳng 16 3.5 Các lệnh chờ đợi .16 3.6 Các lệnh phục vụ xử lý tương tác 17 3.7 Các lệnh điều khiển hệ thống 17 Các toán mẫu 18 4.1 Giới thiệu 18 4.2 Vẽ đồ thị hàm số .18 4.3 Bài tốn quỹ tích .19 4.4 Tam giác Napoleon 20 4.5 Dựng tam giác biết cạnh 22 4.6 Mô lắc lò xo 23 -3- VIOLET Group Ngôn ngữ lập trình Violet Script Tổng quan 1.1 Giới thiệu sơ lược Violet Script (VS) ngôn ngữ lập trình chuyên dụng đồ họa, đặc biệt việc tạo hoạt động mô Ngôn ngữ sử dụng hiệu để xây dựng phần mềm multimedia hỗ trợ dạy học Với cấu trúc đơn giản đầy đủ chặt chẽ, VS giúp người dùng dễ dàng mơ tả ý tưởng mình, sửa đổi sản phẩm có sẵn cho phù hợp kịch Khác với phần mềm cơng cụ, việc sử dụng ngơn ngữ lập trình có tính mở cao hơn, cho phép người dùng khơng phải sử dụng mẫu mơ có sẵn mà cịn tự tạo mẫu mới, sửa đổi mẫu có cách tùy ý (sửa tham số, nội dung trình tự thể hiện, v.v ) Như vậy, khả đáp ứng u cầu người dùng ngơn ngữ lập trình cao nhiều so với phần mềm công cụ VS xây dựng dựa ngôn ngữ Action Script 2.0 Macromedia Flash, vậy, VS mạnh việc thực mơ có chuyển động tương tác, có xử lý âm hình ảnh Tất nhiên, việc lập trình VS đơn giản nhiều so với lập trình Action Script Các file mã nguồn VS sử dụng mã văn Unicode Unicode UTF-8 Chính vậy, khơng có liệu, lời giải thích mà kể tên đối tượng (tên biến, tên nhãn, tên lệnh, tên hàm…) dùng tiếng Việt có dấu, giúp người dùng Việt Nam dễ tiếp cận nhiều so với ngôn ngữ tiếng Anh 1.2 Các đặc điểm ngơn ngữ 1.2.1 Ngơn ngữ mơ Ngơn ngữ lập trình VS hỗ trợ nhiều kỹ thuật mô Các thao tác đồ họa mơ hầu hết lập trình sẵn, lại thêm khả mở nạp thư viện động, khả sử dụng liệu âm thanh, hình ảnh cách dễ dàng, VS giúp người cho người dùng viết phần mềm đồ họa cao cấp mà không cần kiến thức chuyên sâu đồ họa Có thể coi việc lập trình mơ ngôn ngữ VS đơn giản việc mơ tả lại kịch q trình mơ Sau đó, trình thơng dịch VS thực công việc đồ họa mô theo kịch Do vậy, người dùng hồn tồn tạo q trình mơ phức tạp đoạn chương trình VS ngắn gọn (so với ngơn ngữ lập trình khác) 1.2.2 Lựa chọn chế độ chạy song song Các ngôn ngữ thông dịch thường phải chạy dạng (chạy hết lệnh đến lệnh khác) Tuy vậy, mô phỏng, ta cần tạo nhiều thao tác mơ đồng thời (ví dụ hai hay nhiều vật chuyển động lúc) Vì vậy, VS cho phép người lập trình thiết lập chế độ xử lý lệnh song song hay Đây đặc điểm độc đáo tiện dụng ngôn ngữ VS so với ngơn ngữ lập trình khác -4- VIOLET Group Ngơn ngữ lập trình Violet Script 1.2.3 Khả sử dụng thư viện mở Tuy VS ngôn ngữ chuyên dụng lĩnh vực đồ họa mô phỏng, song đồ họa lĩnh vực rộng nên VS có tính tổng qt Nó khơng thể bao hàm hết tất thao tác mô phỏng, chương trình thơng dịch VS khơng thể chứa tất liệu, thư viện hình ảnh thơng dụng cho sản phẩm Tuy nhiên, người lập trình không chuyên, vấn đề đặt phải cho thứ có sẵn hết Vì vậy, ngơn ngữ VS có hệ thống thư viện đầy đủ kèm theo cập nhật thường xuyên Các thư viện chứa nhiều hình ảnh, mơ hình, biểu tượng thơng dụng lấy sử dụng cách dễ dàng, thao tác chuyển động lập trình sẵn, mẫu chương trình chuẩn sử dụng với khả tùy biến cao Ví dụ: việc tạo giảng, phân loại theo mơn học ngơn ngữ VS (cụ thể trình thơng dịch ngơn ngữ VS) phục vụ cho tất môn Tuy nhiên, thư viện sử dụng cho môn khác nhau, nghĩa ta có thư viện cho mơn Tốn, thư viện cho môn Vật Lý, v.v… Như vậy, khả cải tiến chương trình cập nhật tư liệu VS trở nên dễ dàng Thư viện động ưu điểm hẳn VS so với hầu hết phần mềm công cụ tạo giảng 1.2.4 So sánh ngôn ngữ VS với Timeline Những người dùng xem chương trình Macromedia Flash, Macromedia Diector, Adobe Premier,… hẳn đến khái niệm Timeline (trục thời gian) Đây công cụ thiết kế quan trọng việc tạo chuyển động, hiệu ứng hình ảnh âm thanh, làm phim hoạt hình, xây dựng cấu trúc sản phẩm,… Timeline công cụ hữu ích, đặc biệt người khơng biết lập trình dùng để xây dựng phần mềm multimedia ứng dụng Tuy nhiên điểm nhược Timeline khơng có tính mở Ví dụ: dùng Timeline dễ dàng tạo chuyển động vịng giây, khơng thể dùng Timeline để tạo chuyển động vòng n giây, với n giá trị nhập từ bàn phím từ file bên ngồi Trong đó, việc xây dựng phần mềm trợ giảng lại địi hỏi cơng cụ phải có tính mở Vì giảng giáo viên không giống nhau, nên phần mềm trợ giảng phải cho phép giáo viên tự sửa theo ý Trong trường hợp này, người sản xuất phần mềm khơng cịn cách khác phải lựa chọn ngơn ngữ lập trình Mặt khác, người biết lập trình dùng ngơn ngữ dễ chịu so với dùng Timeline Ví dụ: sửa đổi số liệu cách dễ dàng xác, comment (viết lời giải thích) cho đoạn chương trình, phân chia chương trình lớn thành module nhỏ… Việc thao tác với dòng code dễ dàng so với đối tượng đồ họa Timeline Code dùng chương trình soạn thảo văn để tạo lập sửa đổi không cần phải hệ thống đồ sộ dùng Timeline Tuy vậy, dùng Timeline có ưu điểm so với ngơn ngữ tính ổn định, bị lỗi Cịn việc lập trình khơng cẩn thận sinh nhiều lỗi Do đó, q trình phát triển ngơn ngữ phải khắc phục yếu điểm -5- VIOLET Group Ngôn ngữ lập trình Violet Script 1.3 Sử dụng Violet Script Violet Violet Script khởi nguồn ngôn ngữ chạy độc lập, dùng để tự xây dựng giảng hồn chỉnh Khi kết hợp với cơng cụ Violet, ngôn ngữ thường dùng để tạo đoạn mơ ngắn trang hình, nên đơn giản dễ quản lý Đối với người dùng vừa có linh hoạt ngôn ngữ, lại vừa sử dụng tính dễ dùng Violet tạo hiệu ứng, tạo tập, Để sử dụng VS Violet, vào mục soạn thảo trang hình, nhấn nút “Công cụ”, menu lên, ta chọn mục “Lập trình mơ phỏng” Màn hình sau ta soạn thảo trực tiếp chương trình vào Màn hình soạn thảo Script Nếu chương trình có sử dụng đối tượng ảnh, thư viện mã nguồn từ file text, sau viết xong, click vào nút "Tiếp tục", hình sau ra: Màn hình nhập mã nguồn bên ngồi đối tượng -6- VIOLET Group Ngơn ngữ lập trình Violet Script Trong đó: Khung phía cho phép nhập file mã nguồn VS từ file text bên Thông thường, Violet cung cấp sẵn số file thư viện thao tác chuẩn để sử dụng ln Ta viết mã nguồn VS cho mơ file text bên ngồi, nhập vào đây, mà khơng cần phải viết phần soạn thảo mã nguồn trước Cách làm hay (và nên dùng), soạn thảo file text bên dễ dàng soạn trực tiếp Violet Như hình ta thấy phần chương trình vẽ đường phân giác nằm file Vephangiac.vs nằm phần soạn thảo Script Violet Khung phía cho phép nhập đối tượng hình ảnh sử dụng phần mềm Các đối tượng lấy từ file SWF file JPG Tuy nhiên, có file SWF (làm Flash) chỉnh vị trí ảnh vị trí (0, 0) Ví dụ với ảnh bút chì, ta chỉnh cho chỗ đầu bút chì vào vị trí (0, 0) Flash Khi đó, ta dịch chuyển đối tượng bút chì tới vị trí (x, y) đầu bút chì vào vị trí (x, y) Cịn sử dụng ảnh JPG, vị trí góc bên trái ảnh vào vị trí (x, y) khơng phải chỗ đầu bút chì Sau nhập xong chương trình, file mã nguồn chuẩn file ảnh, ta nhấn nút "Đồng ý" Để sửa đổi mã nguồn hay thông tin khác, ta click đúp vào đối tượng hoạt cảnh mô 1.4 Cấu trúc ngôn ngữ Violet Script 1.0, gần giống ngôn ngữ Basic cấu trúc lệnh ngôn ngữ C cấu trúc chương trình 1.4.1 Chương trình viết VS Giống C, chương trình VS bao gồm hàm, hàm main gọi bắt đầu chạy chương trình function main appear end Text, 8, 4, "Hello world" Một chương trình (một hàm, chức năng) khai báo sau: function end Trong tên chương trình khơng có dấu cách (có thể dùng dấu gạch chân "_" thay cho dấu cách) Các tham số phải khai báo cách dấu phẩy Có thể xem thêm ví dụ minh họa phần sau Nếu chương trình trả giá trị cho tham số gọi ta nên thêm dấu & vào phía trước tham số (giống cú pháp ngơn ngữ C) Ví dụ: input_line get_point &ax, &ay, &bx, &by &x, &y, x1, y1, angle, -7- VIOLET Group Ngơn ngữ lập trình Violet Script 1.4.2 Các lệnh đơn giản Ngôn ngữ VS cung cấp loại lệnh sau: • Các lệnh gán, ví dụ a = 2; a = 10*5 + 1; b = a^2 + a + • Các lệnh bản: ví dụ lệnh appear chương trình • Các lệnh gọi chương trình con: có cú pháp giống lệnh 1.4.3 Các biểu thức Các biểu thức tốn học sử dụng vế phải lệnh gán, làm tham số lệnh khác Một biểu thức bao gồm thành phần: • Các tốn hạng: giá trị số, biến số • Các toán tử: + , - , * , / , ^ • Các hàm số: sin, cos, tg, cotg, arcsin, arccos, arctg, arccotg, abs, sqrt, ln • Các dấu ngoặc đơn"(" ")" Ví dụ tính góc B tam giác ABC biết độ dài cạnh AB, AC BC, áp dụng định lý hàm số cos lenAB = lenAC = lenBC = angleB = arccos((lenAB^2 + lenBC^2 - lenAC^2)/(2*lenAB*lenBC)) 1.4.4 Các lệnh có cấu trúc Lệnh điều kiện if then end_if Lệnh lặp for from to step next 1.4.5 Các nhãn Có thể coi nhãn lệnh đặc biệt, ký hiệu dấu ":" tên nhãn Nhãn dùng vừa để đánh dấu, vừa để mô tả đoạn lệnh Nhãn thường dùng định danh để truy cập (goto) đến đoạn lệnh từ vị trí chương trình Ví dụ: function main goto :START appear wait_click :ERASE erase wait_click goto end ERASE Text, 8, 4, "Hello world" Paper START -8- VIOLET Group Ngơn ngữ lập trình Violet Script VS mơ Hình học 2.1 Khả ngôn ngữ Hiện tại, cung cấp sẵn file mã nguồn chuẩn chứa thao tác dựng vẽ đường thẳng thước kẻ, vẽ đường tròn compa, cắt ghép đa giác v.v “C:\Program Files\Platin Violet\Lecture\vpScript\Common\Mathtool.vs” Vì vậy, mơn Hình học, ngơn ngữ Violet Script hỗ trợ nhiều loại cơng việc sau: • Vẽ hình hình đồ họa (đoạn thẳng, đường trịn, đồ thị,…) • Sử dụng đối tượng có sẵn thư viện (ví dụ với mơn hình học có: compa, thước kẻ, bút, tẩy, ê-ke, thước đo độ, giấy màu, dao cắt…), mô hoạt động đối tượng • Xử lý tương tác với người dùng (nhấn chuột, kéo thả, nhập từ bàn phím,…) 2.2 Các ứng dụng Hiện cung cấp sẵn thư viện hình ảnh đoạn chương trình dùng cho mơn Hình học, với phạm vi ứng dụng cấp THCS Phần chủ yếu tập trung vào Hình học Ơclit, bao gồm loại tốn sau: • Bài tốn vẽ hình xử lý tương tác với người dùng • Bài tốn dựng hình dụng cụ dựng hình thơng dụng • Bài tốn cắt ghép hình (mơ việc cắt ghép mảnh giấy màu) • Bài tốn quỹ tích vẽ đồ thị hàm số 2.3 Ví dụ Ví dụ mơ tả tốn dựng hình: vẽ trung trực đoạn thẳng người dùng nhập vào chạy chương trình Kịch đoạn mơ sau: • Người dùng nhấn chuột để xác định điểm thứ nhất, nhấn tiếp chuột để xác định điểm thứ hai • Đánh dấu ký hiệu hai điểm A, B vừa nhập • Mơ việc dùng thước kẻ bút chì để vẽ đoạn thẳng hai điểm AB • Xuất compa đưa compa vào vị trí điểm A • Mở rộng compa (khoảng cách đầu compa khoảng 2/3 AB) • Quay compa nửa vòng tròn (cung hướng vào điểm B) Trong quay compa cung trịn vẽ theo, nét vẽ phải mảnh nhạt để thể vẽ nháp • Đưa compa đến điểm B • Quay compa nửa vịng trịn (cung hướng vào điểm A) -9- VIOLET Group Ngơn ngữ lập trình Violet Script • Dùng thước kẻ bút chì để vẽ đoạn thẳng qua giao điểm cung tròn, độ dài đoạn thẳng giá trị hợp lý Đó đường trung trực đoạn thẳng AB • Đánh dấu điểm M giao điểm đường trung trực với đoạn thẳng AB • Ký hiệu góc M vng • Ký hiệu M trung điểm AB • Xóa nét cung trịn vẽ Ta mã hóa kịch mơ thành ngơn ngữ VS sau: function main appear input_line disappear appear appear create_line radius = get_angle Text, 8.25, 0.5, "Hãy vẽ đoạn thẳng", &ax, &ay, &bx, &by Text Point, ax, ay, "A", below Point, bx, by, "B", below ax, ay, bx, by sqrt((ax-bx)^2 + (ay-by)^2) / * &angle, ax, ay, bx, by set_paper appear move call rotate_compa move rotate_compa disappear Draft Compa Compa, ax, ay, angle-90 Compa.OpenCompa, radius Compa, radius, angle+90 Compa, bx, by, angle+90 Compa, radius, angle+270 Compa mx = my = angle = get_point (ax + bx) / (ay + by) / angle + 90 &cx, &cy, mx, my, angle, set_paper create_line appear note_angle note_edge note_edge Paper cx, cy, * mx Point, mx, my, 0, "", bx, by, 0, "", ax, ay, 0, "", mx, my, - cx, * my - cy "M", leftbelow mx, my, cx, cy mx, my bx, by end Lưu ý: Một đơn vị tính Violet Script quy định mặc định 40 pixel, độ rộng hình hiển thị 660x460 pixel, tức khoảng 16.5x11.5 đơn vị Chương trình sử dụng thao tác dựng hình chuẩn (trong file Mathtool.vs) đối tượng hình ảnh: thước kẻ, bút chì, compa Vì vậy, sau soạn xong chương trình, ta phải khai báo liệu sau: - 10 - VIOLET Group Ngơn ngữ lập trình Violet Script Nhấn nút “Đồng ý”, ta đoạn mô dựng đường trung trực đoạn thẳng nhập vào từ chuột (nhấn, kéo thả) Mô vẽ đường trung trực compa, thước kẻ, bút chì Có thể thấy việc viết chương trình mơ đơn giản mã hóa 1:1 kịch mô thành ngôn ngữ VS Rõ ràng việc tạo giảng Hình học ngơn ngữ VS đơn giản nhiều so với ngôn ngữ lập trình khác Ví dụ sử dụng C/C++ để tạo giảng, phải viết chương trình dài đến hàng nghìn dịng lệnh hàng chục file liệu, cịn dùng ngơn ngữ VS cần vài chục dịng lệnh khơng cần file liệu - 11 - VIOLET Group Ngơn ngữ lập trình Violet Script Các lệnh VS 3.1 Các lệnh xử lý đối tượng Trong thư viện trình thơng dịch VS mơn Hình học có loại đối tượng hình ảnh sau: Tên đối tượng Ứng dụng Hình ảnh Point (điểm) Ký hiệu điểm hình vẽ Ruler (thước kẻ) Sử dụng làm vật kê để vẽ đoạn thẳng Compa (compa) Dùng để vẽ hình trịn cung trịn Pencil (bút chì) Dùng để vẽ đoạn thẳng đường đồ thị Protractor (thước đo góc) Dùng để xác định góc việc vẽ góc TSquare (ê-ke) Dùng để vẽ đoạn thẳng vng góc với đoạn thẳng có sẵn Measurer (thước đo) Dùng để đo cạnh góc Burin (dao cắt) Dùng để cắt đa giác - 12 - Có hình dạng thước kẻ thước đo góc tùy ý người sử dụng VIOLET Group Ngơn ngữ lập trình Violet Script Để sử dụng loại đối tượng VS đối tượng nạp từ thư viện bên ngồi, ngơn ngữ VS cung cấp lệnh sau: Tên lệnh Tham số Tác dụng appear xuất_hiện Tên đối tượng Tọa độ đối tượng Tham số đặc trưng (chỉ dùng cho số đối tượng) Tham số đặc trưng (chỉ dùng cho số đối tượng) Tạo lập cho xuất đối tượng vị trí X, Y với tham số cụ thể tùy theo loại đối tượng disappear biến_mất Tên (hoặc nhiều) đối tượng Làm cho đối tượng biến (mờ dần hẳn) move dịch_chuyển Tên đối tượng Tọa độ (x, y) Góc quay đối tượng Vừa dịch chuyển vừa quay đối tượng tới vị trí góc quay Nếu khơng nhập góc quay góc quay mặc định 0° Ví dụ mơ việc vẽ điểm bút chì function main appear Pencil move Pencil, 5, appear Point, 5, 5, A delay 12 disappear Pencil end // // // // // Xuất thước kẻ vị trí (0,0) Đưa bút chì vị trí (5, 5) Xuất điểm A vị trí (5, 5) Tạm dừng giây Làm biến bút chì Mơ vẽ điểm bút chì - 13 - VIOLET Group Ngơn ngữ lập trình Violet Script 3.2 Các lệnh xử lý đa giác Tên lệnh Tham số Tác dụng polygon đa_giác Tên đa giác Vị trí đa giác Tọa độ điểm đa giác Tạo đa giác clip cắt Tọa độ điểm nằm đường thẳng cắt Cắt tất đa giác hình theo đường thẳng unify hợp Tên đa giác Tên đa giác hợp vào đa giác Hợp nhiều đa giác thành đối tượng flip lật Tên đa giác Lật đa giác qua trục tung Phần ví dụ chương trình hồn chỉnh, thực việc cắt ghép góc tam giác để chứng minh tổng chúng 180° Khi chạy, người dùng xác định đường cắt qua góc thứ đường cắt qua góc thứ hai, sau lần cắt mẩu cắt ghép vào vị trí cần thiết function main polygon input_line cut_polygon move input_line cut_polygon move end Tamgiac, 8, 6, 0x7F7FFF, -1, -3, 3, 1, -3, &px1, &py1, &px2, &py2 px1, py1, px2, py2 Tamgiac2, 4, 4, -180 &px1, &py1, &px2, &py2 px1, py1, px2, py2 Tamgiac12, 10, 4, 180 Mơ cắt góc hình tam giác dao cắt - 14 - VIOLET Group Ngôn ngữ lập trình Violet Script 3.3 Các lệnh đồ họa Tên lệnh Tham số Tác dụng erase Tên đối tượng cần xóa Xóa nội dung đối tượng circle Tọa độ tâm Bán kính đường trịn Vẽ đường trịn biết tâm bán kính line Tọa độ điểm đầu mút Vẽ đoạn thẳng qua điểm note_angle ký_hiệu_góc Kiểu đánh dấu Giá trị ký hiệu Ba điểm tọa độ điểm Đánh dấu góc ký hiệu giá trị góc note_edge ký_hiệu_cạnh Kiểu đánh dấu Giá trị ký hiệu Hai điểm tọa độ điểm Đánh dấu cạnh ký hiệu giá trị cạnh attach_pen Đối tượng Tọa độ điểm gắn bút Gắn vào đối tượng điểm, mà thay đổi vị trí đối tượng điểm lưu lại vết detach_pen Đối tượng Gỡ bỏ điểm gắn khỏi đối tượng Ví dụ vẽ tam giác qua điểm (x1, y1), (x2, y2), (x3, y3) với đầy đủ ký hiệu cạnh góc function ShowTriangle x1, y1, x2, y2, x3, y3 poly_line x1, y1, x2, y2, x3, y3, x1, set_paper Paper, 2, 0x003FBF note_edge 2, "value", x2, y2, x1, y1 note_edge 1, "value", x3, y3, x2, y2 note_edge 0, "value", x1, y1, x3, y3 note_angle 0, "value", x2, y2, x1, y1, note_angle 2, "value", x3, y3, x2, y2, note_angle 1, "value", x1, y1, x3, y3, end function main ShowTriangle end 2, 7, 7, 7, 3.5, - 15 - y1 x3, y3 x1, y1 x2, y2 VIOLET Group Ngôn ngữ lập trình Violet Script 3.4 Các lệnh phục vụ tính tốn hình học phẳng Tên lệnh Tham số Tác dụng get_point lấy_điểm Tọa độ kết Tọa độ điểm gốc Góc ϕ Khoảng cách R Chuyển từ tọa độ cực sang tọa độ Đềcác (tính tọa độ điểm biết R ϕ hệ tọa độ cực) get_angle lấy_góc Góc ϕ (kết quả) Tọa độ điểm Tọa độ điểm gốc Kiểu vẽ đoạn thẳng Lấy góc ϕ (trong hệ tọa độ cực) từ tọa độ điểm so với điểm gốc get_perpendicular Tọa độ điểm kết Tọa độ điểm Tọa độ hai điểm nằm đường thẳng Tính vị trí chân đường vng góc hạ từ điểm xuống đường thẳng get_intersection1 Tọa độ điểm kết Tọa độ điểm đường thẳng thứ Tọa độ điểm đường thẳng thứ hai Tính giao điểm hai đường thẳng get_intersection2 Tọa độ điểm kết thứ Tọa độ điểm kết thứ Tọa độ điểm đường thẳng Tọa độ tâm đường tròn Bán kính đường trịn Tính hai giao điểm đường thẳng đường tròn 3.5 Các lệnh chờ đợi Tên lệnh Tham số Tác dụng delay trễ Thời gian trễ Dừng (trễ) khoảng thời gian wait_click đợi_nhấn Tên nút đồ họa chờ nhấn Đợi người dùng click vào nút đồ họa hình Nếu lệnh khơng có tham số nghĩa chờ đến nhấn nút Next nút Back Các nút đồ họa nạp từ file ngồi lệnh load_movie - 16 - VIOLET Group Ngôn ngữ lập trình Violet Script 3.6 Các lệnh phục vụ xử lý tương tác Tên lệnh Tham số Tác dụng set_drag kéo_thả Đối tượng cần thao tác Thao tác (true) hay không (false) Thiết lập đối tượng kéo thả hay khơng input_line nhập_đoạn Tọa độ điểm đầu mút đoạn thẳng Nhập đoạn thẳng (2 điểm) cách nhấn vào kéo chuột input_point Tọa độ điểm Nhập điểm cách nhấn chuột input_data Tiêu đề hộp nhập Tiêu đề tham số thứ Tiêu đề tham số thứ Hiện hộp thoại cho phép nhập nhiều tham số từ bàn phím 3.7 Các lệnh điều khiển hệ thống Tên lệnh Tham số Tác dụng parallel song_song Không Thiết lập chế độ thực lệnh song song sequence tuần_tự Không Thiết lập chế độ thực lệnh fscommand command param Thực lệnh fscommand Flash Action Script - 17 - VIOLET Group Ngơn ngữ lập trình Violet Script Các toán mẫu 4.1 Giới thiệu Các tốn mẫu ví dụ hồn chỉnh viết ngôn ngữ VS, giúp cho người đọc hiểu ý tưởng việc lập trình, đồng thời cho thấy quy tắc chung để tạo lập chương trình VS Người dùng hồn tồn sử dụng phát triển tập mẫu theo ý tưởng riêng Các tập mẫu trình bày ngắn gọn dễ hiểu, với mục đích cho thấy khả tạo giảng sinh động VS dễ dàng Tất nhiên, khả thực mà VS làm cịn lớn nhiều so với những thể ví dụ đây, mà chí tác giả ngơn ngữ lập trình chưa thể khám phá hết 4.2 Vẽ đồ thị hàm số Trong chương trình học cấp cấp có tập vẽ đồ thị hàm số Để giải tập khơng đơn giản (phải tính đạo hàm, vi phân, khảo sát biến thiên hàm số,…), mà quanh quẩn số dạng hàm số Tuy nhiên, với ngơn ngữ lập trình bình thường, ta vẽ đồ thị mà khơng cần phải tính tốn đạo hàm, vi phân,… Với VS, việc vẽ đồ thị dễ dàng nhiều Ví dụ vẽ đồ thị hàm số y = (x-2)*(x-1)*x*(x+1)*(x+2), nghĩa đồ thị cắt trục hoành điểm -2, -1, 0, function main line 0, y0 = 6, 16, y0 line x0 = 8, 0, x0, 12 set_paper Paper, 3, 0xFF00FF appear Pencil attach_pen Pencil for x from -2.2 to 2.4 step 0.05 y = (x-2)*(x-1)*x*(x+1)*(x+2) set_pos Pencil, x0 + x, y0 - y delay next end - 18 - VIOLET Group Ngơn ngữ lập trình Violet Script 4.3 Bài tốn quỹ tích Bài tốn 1: Cho điểm A cố định nằm đường tròn tâm O, kẻ đường thẳng qua A cắt đường tròn P Tìm quỹ tích trung điểm M OP P chuyển động đường tròn function main set_paper Paper, 2, appear Point, ox=8, appear Point, ax=8, circle ox, oy, appear Point, 0, 0, attach_pen PointM 0xBF00BF oy=6, "O", right ay=8, "A", left "M" for angle from 135 to 135-360 step -2 get_point &px, &py, ox, oy, angle, appear Point, px, py, "P" set_pos PointM, (px+ax)/2, (py+ay)/2 set_paper Draft, erase line ax, ay, px, note_edge 2, "", note_edge 2, "", delay 2, 0x0000BF py M, P M, A next end Bài 2: Đường Cycloide Đường quỹ tích sinh vòng tròn chạy xung quanh vịng trịn khác Trong phần chương trình biến số R1, R2 L sửa đổi tùy ý tạo loại đường cycloide khác function main R1 = 2.0 R2 = 0.8 L = 2.0 set_paper Draft, 2, circle x0=8.25, y0=5.75, R1 set_paper Wheel, 2, 0x0000FF set_fill 0x7FBFFF, 50 - 19 - VIOLET Group circle 0, 0, line 0, -R2, line -R2, 0, circle L*R2, Ngơn ngữ lập trình Violet Script R2 0, R2 L*R2, 0, 0.1 set_paper Paper, 3, 0xFF0000 attach_pen Wheel, L*R2, end for t from to 720 step get_point &x, &y, x0, y0, t, R1+R2 set_pos Wheel, x, y, t*(R1+R2)/R2 delay next disappear Wheel disappear Draft Mô cách vẽ đường Cycloide Một dạng đường Cycloide 4.4 Tam giác Napoleon Từ cạnh tam giác vẽ phía ngồi tam giác Tâm tam giác đỉnh tam giác gọi tam giác Napoleon Phần chương trình vẽ tam giác Napoleon Người dùng kéo thả đỉnh tam giác ban đầu để thấy tam giác Napoleon biến đổi - 20 - VIOLET Group function vẽ_hình set_paper erase get_pos get_pos get_pos poly_line Ngơn ngữ lập trình Violet Script Draft, 3, 0x0000FF &x3, &y3, PointA &x1, &y1, PointB &x2, &y2, PointC x1, y1, x2, y2, x3, y3, x1, y1 set_paper set_fill get_angle get_point poly_line cx1 = cy1 = Draft, 0x7FBFFF, 50 &angle, x1, y1, x3, y3 &x, &y, x1, y1, angle+60, sqrt((x3-x1)^2+(y3-y1)^2) x3, y3, x, y, x1, y1 (x3 + x + x1) / (y3 + y + y1) / get_angle get_point poly_line cx2 = cy2 = &angle, &x, &y, x3, y3, (x3 + x (y3 + y x3, y3, x2, y2 x3, y3, angle+60, sqrt((x3-x2)^2+(y3-y2)^2) x, y, x2, y2 + x2) / + y2) / get_angle get_point poly_line cx3 = cy3 = end_fill &angle, &x, &y, x2, y2, (x1 + x (y1 + y x2, y2, x1, y1 x2, y2, angle+60, sqrt((x2-x1)^2+(y2-y1)^2) x, y, x1, y1 + x2) / + y2) / set_paper set_fill poly_line Draft, 3, 0xFF0000 0xFF3F3F, 75 cx1, cy1, cx2, cy2, cx3, cy3, cx1, cy1 end function main appear appear appear set_drag set_drag set_drag vẽ_hình end Point, ax=7, ay=3, "A", above Point, bx=5, by=6, "B", leftbelow Point, cx=11,cy=6, "C", rightbelow PointA, true, vẽ_hình PointB, true, vẽ_hình PointC, true, vẽ_hình Tam giác Napoleon - 21 - VIOLET Group Ngơn ngữ lập trình Violet Script 4.5 Dựng tam giác biết cạnh Đây dựng hình: Dựng tam giác biết độ dài cạnh mà dùng thước kẻ compa function main input_data angleB = get_point DrawTriangle end "Nhập cạnh", "AB", lenAB, "AC", lenAC, "BC", lenBC arccos((lenAB^2 + lenBC^2 - lenAC^2)/(2*lenAB*lenBC)) &ax, &ay, 4, 7, angleB, lenAB 4, 7, 4+lenBC, 7, ax, ay, B, C, A function DrawTriangle x1, y1, x2, y2, x3, y3, a1, a2, a3 create_line2 x1, y1, x2, y2 appear Point, x1, y1, a1, below appear Point, x2, y2, a2, below note_edge -1, value, x2, y2, x1, y1 delay 12 set_paper create_arc create_arc appear delay end Draft x1, y1, lenAB, 0, 90 x2, y2, lenAC, 90, 180 Point, x3, y3, a3, above 12 set_paper create_line note_edge create_line note_edge delay erase Paper x1, y1, x3, y3 -1, value, x1, y1, x3, y3 x3, y3, x2, y2 -1, value, x3, y3, x2, y2 12 Draft Đoạn mơ có sử dụng thư viện thao tác dựng hình chuẩn (chính file Mathtool.vs) cung cấp kèm theo Violet, đối tượng hình ảnh sau: Các thư viện mã nguồn hình ảnh sử dụng tốn dựng hình - 22 - VIOLET Group Ngơn ngữ lập trình Violet Script 4.6 Mơ lắc lị xo Để mơ lắc lị xo co giãn, sử dụng ảnh lị xo, sau co giãn ảnh Tuy nhiên kỹ thuật làm cho độ dày dây lò xo thay đổi nên khơng thực tế Để tạo lị xo co giãn đẹp, ta phải lập trình tạo đối tượng riêng cho VS Trong Macromedia Flash, tạo file mới, click chuột vào frame timeline, sau mở hộp soạn thảo Action Script (nhấn F9), gõ đoạn mã sau vào: function DrawSpring(len) { clear(); lineStyle(3, 0, 100); for (var i = 0; i

Ngày đăng: 01/08/2013, 05:42

Từ khóa liên quan

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

Tài liệu liên quan