Thiết kế hệ thống kiểm tra các quan hệ hình học trang trang 32 trang trang 32 32

Một phần của tài liệu Thiết kế hệ thống kiểm tra các quan hệ hình học (Trang 32 - 33)

III. CÁC THUẬT TỐN KIỂM TRA SỰ TƯƠNG QUAN GIỮA CÁC ĐỐI TƯỢNG HÌNH HỌC

Thiết kế hệ thống kiểm tra các quan hệ hình học trang trang 32 trang trang 32 32

Thiết kế hệ thống kiểm tra các quan hệ hình học

Thiết kế hệ thống kiểm tra các quan hệ hình học trang trang 32trang trang 323232

đường cha trùng nhau thì các đoạn cũng cĩ thể trùng nhau. Để kiểm điều này, ta xem c cĩ nằm trên đường cha đi qua a và b khơng. Dựa vào phương trình của đường cha là:

(bx - ax) * (y - ay) - (by - ay) * (x - ax) = 0

thay cx cho x và cy cho y và xem vế trái cĩ đủ gần 0 khơng (nghĩa là: nhỏ hơn lượng nào đĩ, như 10 - 5). Nếu khơng, các đường cha khơng trùng nhau, và khơng cĩ

giao điểm. Nếu thỏa mãn thì phải thực hiện bước kiểm cuối cùng để xem các đoạn cĩ trùng nhau khơng.

Từ phương trình (1) tìm haigiá trị tc và td mà đường đạt tới vị trí c và d. Vì các đường cha trùng nhau, ta chỉ cần dùng thành phần x (nếu đường 1 thẳng đứng, thì dùng thành phần y), và thay cx và dx, ta cĩ :

tc = (cx - ax) / (bx - ax)

td = (dx - ax) / (bx - ax)

Đường 1 bắt đầu tại 0 và kết thúc tại 1, và xét thứ tự của bốn giá trị 0, 1, tc và td, ta xác định được vị trí tương đối của hai đường. Sẽ chồng nhau trừ khi cả hai tc và td nhỏ hơn 0 hay lớn hơn 1. Nếu cĩ trùng nhau, ta dễ dàng xác định các điểm đầu trùng nhau từ tc và td.

Giải thuật được xây dựng trong thủ tục Intersect (), gồm các tham số là bốn điểm đầu của các đường, giá trị trả về cĩ thể cĩ thể cĩ các giá trị sau:

• 1: cĩ một giao điểm.

• 2: khơng giao nhau.

• 3: các đoạn thẳng song song nhau.

• 4: hai đoạn thẳng chồng nhau.

• 5: hai đoạn thẳng cùng nằm trên 1 đường thẳng, khơng cắt nhau.

(7)

Thiết kế hệ thống kiểm tra các quan hệ hình họcThiết kế hệ thống kiểm tra các quan hệ hình học

Một phần của tài liệu Thiết kế hệ thống kiểm tra các quan hệ hình học (Trang 32 - 33)

Tải bản đầy đủ (PDF)

(80 trang)