7.1. Đồ họa máy tính là gì?
Đồ họa máy tính là một trong những phương tiện mang lại nhiều thuận lợi cho người dùng trong việc tạo và xử lý hình ảnh. Với máy tính người dùng có thể tạo ra các hình ảnh cụ thể hoặc trù tượng, các hình ảnh tĩnh hoặc động.
Có nhiều tiếp cận trong việc học môn đồ họa, từ việc nghiên cứu phần cứng tới việc học để sử dụng đồ họa máy tính trong một lĩnh vực chuyên biệt nào đó. Ở đây chúng ta tiếp cận từ góc độ của người lập trình ứng dụng, đó là sử dụng tất cả các hỗ trợ của phần cứng và một số công cụ phần mềm thông dụng (hàm vẽ điểm và vẽ đoạn thẳng trong thư viện đồ họa của ngôn ngữ Visua Basic) để xây dựng nên một chương trình giúp chúng ta có thể giám sát quá trình hoạt động của robot Scara một cách tiện dụng và sinh động.
7.2 Hệ tọa độ thế giới thực và hệ tọa độ thiết bị 7.2.1 Hệ tọa độ thế giới thực
Là hệ tọa độ được dùng để mô tả các đối tượng trong thế giới thực, hệ tọa độ thường dùng là hệ tọa độ Descartes. Một điểm bất kỳ trong hệ tọa độ Descartes 3 chiều được mô tả qua một cặp tọa độ (x,y,z), với x,y,z là số thực. Gốc tọa độ tại điểm (0,0,0).
Trục x có chiều từ trái qua phải, trục y dưới lên trên và trục z hợp với 2 trục còn lại theo qui tắc tam diện thuận.
Hình 7. 1 Hệ tọa độ của robot Scara
7.2.2 Hệ tọa độ thiết bị:
Hệ tọa độ thiết bị là hệ tọa độ gắn liền với một thiết bị nào đó chằng hạn như màn hình, máy in.
Các điểm trong hệ tọa độ thiết bị được mô tả qua cặp tọa độ (x, y) với x, y là các số nguyên. Các tọa độ (x, y) không thể lớn tùy ý mà bị giới hạn trong một khoảng nào đó tùy thuộc vào từng thiết bị. Nếu thiết bị là màn hình thì trục x có chiều từ trái qua phải, trục y có chiều hướng từ trên hướng xuống với gốc tọa độ ở phía trên bên trái màn hình.
Hình 7. 2 Hệ tọa độ màn hình
7.3. Giới thiệu công cụ đồ họa trong Visua Basic (lệnh vẽ điểm, vẽ đoạn thẳng) Visua Basic là ngôn ngữ lập trình còn có nhiều hạn chế trong lĩnh vực đồ họa so với các ngôn ngữ khác. Ở đây chúng ta sử dụng 2 hàm đồ họa cơ bản vì lý do như sau:
Hàm vẽ điểm và vẽ đoạn thẳng là 2 hàm đơn giản, dễ sử dụng, thời gian thực thi ngắn phù hợp với tốc độ cập nhật dữ liệu cao (100ms) từ thiết bị. Trong 100ms chúng ta sử dụng khoảng 500 lần hàm vẽ điểm và 40 lần hàm vẽ đoạn thẳng để vẽ nên robot ở dạng wiframe.
Từ các công cụ toán học người dùng có thể tạo vô số các tùy biến một cách linh hoạt so với việc dùng các hàm vẽ khối có sẵn.
Cú pháp của hàm vẽ điểm: Pset(x,y). Với (x,y) là tọa độ của điểm cần vẽ.
Cú pháp của hàm vẽ đoạn thẳng: Line(x1,y1,x2,y2). Với (x1,y1) là tọa độ của điểm bắt đầu và (x2,y2) là tọa độ của điểm kết thúc đoạn thẳng.
7.4 Mô hình wiframe (mô hình khung dây) là gì?
Mô hình wiframe là mô hình bao gồm một tập hợp các đỉnh và tập hợp các cạnh nối tiếp đỉnh. Các đỉnh và các cạnh xác định bề mặt nhìn thấy của đối tượng, chúng được lưu trong một cơ sở dữ liệu và được truy xuất trong suốt tiến trình vẽ. Ưu nhược điểm của mô hình wiframe:
Ưu điểm: Đơn giản, tốc độ vẽ nhanh.
Nhược điểm: Thiếu tính thẩm mỹ, việc quan sát mô hình wiframe khá khó khăn, đòi hỏi trí tưởng tượng.
7.5 Các phép biến đổi 3 chiều
Các bước thao tác, xây dựng và biều diễn mô hình robot dưới dạng 3D đòi hỏi phải sử dụng các phép biến đổi hình học 3D. Để cho việc quan sát gặp thuận lợi chúng ta đã sử dụng một số phép biến đổi sau:
7.5.1 Phép tịnh tiến
Hình 7. 3 Mô hình khung dây
Phép biến đổi này được người sử dụng dùng để di chuyển mô hình robot sang một vị trí mới trong vùng không gian hoạt động của cửa sổ.
Một điểm P(x, y, z) tịnh tiến một độ dời tr(trx, try, trz) trong không gian 3D sẽ tạo thành một điểm Q(x’, y’, z’). Tọa độ điểm Q được xác định như sau:
x’ = x + trx y’ = y + try z’ = z + trz
Thực hiện việc tịnh tiến robot như sau: nhấn giữ phím Shift + Draft kéo chuột và thả vào vị trí mới.
7.5.2 Phép biến đổi tỷ lệ (phép co giãn)
Là quá trình co giãn theo các chiều của một đối tượng, hệ số co giãn s cho phép co giãn là phóng to nếu s>1 và thu nhỏ nếu s<1.
Một điểm sau khi thực hiện xong phép co giãn sẽ có tọa độ mới như sau:
x’ = sx.x y’ = sy.y z’ = sz.z
Với: sx, sy, sz là hệ số co giãn theo các trục x, y, z.
Thực hiện việc biến đổi kích cỡ robot như sau: nhấn giữ phím Ctrl + Right mouse + kéo chuột và thả.
7.5.3 Phép quay
Trong không gian 3 chiều phép quay được xác định bởi góc và một trục quay.
Robot scara thực hiện việc di chuyển đầu công tác chủ yếu bằng cách quay các khớp P(x,y,z)
Q(x’,y’,z’)
X Y
O trx
try
O X
Y
Hình 7. 4 Thực hiện phép tịnh tiến trong mặt phẳng xy
Hình 7. 5 Thực hiện phép biến đổi tỷ lệ trong mặt phẳng xy
y’ = y
z’ = -x.sinϕ+z.cosϕ
Để quay một điểm quanh một trục song song với trục y ta thực hiện các bước sau:
- Tịnh tiến trục quay sao cho nó đi qua gốc tọa độ.
- Biểu diễn phép quay quanh một trục
- Tịnh tiến ngược để đưa trục quay về vị trí ban đầu.
- Thực hiện việc quay robot quanh trục y như sau: nhấn giữ phím Ctrl + Leftmouse + kéo chuột và thả.
7.6 Quan sát trong không gian 3D
Khi quan sát trong 3D, ta xác định một khối quan sát, một phép chiếu trên một mặt phẳng chiếu và một mặt phẳng quan sát. Ở đây ta xác định khối quan sát là các khâu của tay máy, phép chiếu được sử dụng là phép chiếu song song, mặt phẳng quan sát là mặt phẳng xy.
Phép chiếu song song được xác định bởi vecto hướng chiếu V và một mặt phẳng chiếu. Mặt phẳng chiếu được xác định bởi điểm nhìn tham chiếu R0 và vecto pháp tuyến N.
Phép chiếu song song được phân làm 2 loại: phép chiếu song song trực giao và phép chiếu song song xiên.
Y
O X
Hình 7. 6 Quay đối tượng trong mặt phẳng xy