Tự học lập trình Violet_Script. Bài 5
(Tài liệu chưa được thẩm định)
Nguồn: Tự soạn
Người gửi: Nguyễn Tuấn Cường (trang riêng)
Ngày gửi: 13h:16' 10-06-2008
Dung lượng: 71.0 KB
Số lượt tải: 371
Nguồn: Tự soạn
Người gửi: Nguyễn Tuấn Cường (trang riêng)
Ngày gửi: 13h:16' 10-06-2008
Dung lượng: 71.0 KB
Số lượt tải: 371
Số lượt thích:
0 người
Nguyễn Tuẫn Cường - Trường THCS Thái Sơn - An Lão - Hải Phòng
Trang bìa
Trang bìa:
Hướng dẫn tự học lập trình mô phỏng Violet_Script Bài 5 Nguyễn Tuấn Cường Trường THCS Thái Sơn - An Lão - Hải Phòng. tuancuonghp@gmail.com Lệnh cut_polygon - Cắt đa giác Thực hành
Cắt đa giác: Lập trình mô phỏng Violet_Script
Trang bìa
Trang bìa:
Hướng dẫn tự học lập trình mô phỏng Violet_Script Bài 5 Nguyễn Tuấn Cường Trường THCS Thái Sơn - An Lão - Hải Phòng. tuancuonghp@gmail.com Lệnh cut_polygon - Cắt đa giác Thực hành
Cắt đa giác: Lập trình mô phỏng Violet_Script
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓
Nhờ thầy Tuấn Cường giải thích cho gv trường em một số vấn đề trong bài này:
- Toạ độ của đa giác được xác định như thế nào ? (dựa vào vị trí nào của đa giác để tính (x; y) ?). Toạ độ của mỗi đa giác sau khi được cắt ra được xác định như thế nào ?
- Khi di chuyển đa giác đến vị trí mới và đồng thời quay 1 góc thì toạ độ mới của đa giác được tính theo cách nào ? Em thấy chỉ cần thay đổi góc quay là vị trí của đa giác thay đổi khác hẳn, thậm chí biến mất đa giác.
Trong bài này có câu lệnh: move dg112, 23, 16, 180 (theo chúng em hiểu nghĩa là: di chuyển đa giác có tên là dg112 đến vị trí mới có toạ độ là: hoành độ = 23, tung độ = 16, đồng thời xoay đa giác dg112 một góc 180 độ, có phải không Thầy ?), mà trên màn hình hoành độ chỉ hiện tối đa 16,5 đơn vị, tung độ hiện tối đa đến 12 đơn vị. Trên thực tế sau khi di chuyển xong, đa giác dg112 vẫn hiện trên màn hình. Điều này nên hiểu thế nào ạ ?
- Có thể điều khiển được quỹ đạo đường đi của đa giác khi di chuyển theo ý định của mình không ạ ?
* Chúng em muốn cho thước đo độ dài và thước đo góc cùng xuất hiện trên một trang (thước xoay được khi nhấn chuột ấy Thầy ạ) nhưng không được, hiện cái này thì mất cái kia. Vậy phải làm như thế nào hả Thầy ?
Chúng em rất tin tưởng khả năng của Thầy, mong Thầy nhiệt tình giúp đỡ, cảm ơn Thầy nhiều nhiều.
Xin trả lời cô như sau:
1) Tọa độ mỗi đa giác khi vẽ phụ thuộc vào vị trí gốc (0,0) đó là một điểm nằm phía trên, góc trái, khá xa so với trang màn hình nên khi vẽ một đa giác muốn nó rơi và trung tâm màn hình trình chiếu thì cần khai báo tọa độ của nó phù hợp với điểm gốc, cô xem mã lệnh bài cắt 2 góc tam giác của Bạch Kim:
polygon Tamgiac, 8, 6, 0x7F7FFF, -1, -3, 3, 1, -3, 1
Để xem (0,0) ở đâu thì cô thử sửa mã lệnh bài đó cho cái mảnh tam giác cắt ra nó di chuyển về (0,0) thì biết. Khi nó di chuyển vượt khỏi trang màn hình, nếu muốn quan sát thì cần thu nhỏ trang trình chiếu bằng cách đưa mũi tên chuột vào nút vuông trung tâm của trang soạn thảo và kéo xuống phía dưới.
2) Khi quay đa giác và di chuyển nó đến vị trí mới thì tọa độ của nó phụ thuộc vào cả 2 tham số là góc quay và chính tọa độ mình khai báo. Thuật toán quay góc này dường như lấy tâm quay là tâm của phần đa giác còn lại thì phải (tôi đoán thôi vì vấn đề này không thấy hướng dẫn từ Bạch Kim). Cô hỏi về cái tọa độ (23,16) thì đúng là trang màn hình soạn thảo VS khoảng (16,12) nhưng tọa độ (23,16) là lấy theo điểm gốc (0,0) trình bày ở trên. Còn quỹ đạo đường đi của đa giác bị di chuyển thì tiếc là ta không điều chỉnh được (hoặc tôi không biết cách).
3) Không làm xuất hiện cùng một lúc 2 thước đo độ dài và đo góc (xoay được khi đo và hiện quyển sách ghi KQ) trong cùng một lập trình VS được. Tuy nhiên nếu dùng "mẹo" tạo 2 trang VS giống hệt và đặt trùng khít lên nhau thì được.
Chúc thành công!
Chúng em thật cảm kích trước sự nhiệt tình của Thầy, chúc Thầy và gia đình luôn mạnh khoẻ !
À Thầy ơi, khi cắt đa giác có tên dg xong, có quy tắc nào để xác định tên dg1, dg2 hay phải thử vậy Thầy ?
Tên đa giác được cắt ra sau mỗi lần được xác định bởi công thức: (tên đa giác còn lại
ban đầu) + (tên đa giác của lần cắt trước đó). Cụ thể là: sau lần cắt đầu tiên ta tạo ra dg2 (là miếng tam giác nhỏ) và miền đa giác còn lại là dg1, sau lần cắt thứ hai ta tạo ra dg12 (ghép bởi dg1 và dg2) và miền đa giác còn lại là dg1, sau lần cắt thứ ba ta tạo ra dg112 (ghép bởi dg1 và dg12)và miền đa giác còn lại là dg1…..việc xác định này là rất quan trọng vì nếu muốn xoay mảnh đa giác được cắt ra thì ta cần biết được tên nó để khai báo.
Việc này cô tải bài 5 về tham khảo, tôi đã trình bày cụ thể trong file CODE.doc kèm trong gói.