1. Trang chủ
  2. » Luận Văn - Báo Cáo

Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng

12 873 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 181,48 KB

Nội dung

Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng Raycasting kiểm tra giao nhau giữa đa giác và đường thẳng

Trang 1

Ray Casting Kiểm tra giao nhau giữa đa giác và đường thẳng

Võ Đình Phong

Khoa Công nghệ thông tin

Đại học Khoa học tự nhiên TP.HCM

Seminar lần I

Trang 2

Nội dung

1 Bài toán

2 Kiến thức cơ sở

3 Thuật toán

4 Ví dụ

Trang 3

Phát biểu đề bài

Trong không gian <2 cho các đa giác lồi đôi một không giao nhau, và một điểm A nằm ngoài tất cả các đa giác

Nối A với tất cả các đỉnh của các đa giác để tạo thành các đoạn thẳng

Với mỗi đoạn thẳng, xác định nó có giao với ít nhất một đa giác hay không?

Trang 4

Hình dung bài toán

Trang 5

Đường thẳng, đoạn thẳng, tia

Đoạn thẳng: giới hạn bởi 2 điểm đầu mút, vô hướng Đường thẳng: không giới hạn, vô hướng

Tia: có điểm gốc, hữu hướng

l

~t

Trang 6

Vector pháp tuyến

Cho vector ~a = (ax, ay), ta có vector ~a⊥= (−ay, ax) vuông góc với ~a theo ngược chiều kim đồng hồ

~a

~a ⊥

−~a ⊥

Trang 7

Phương trình đường thẳng dạng tham số

Phương trình đường thẳng L(t) có A ∈ L(t), vector chỉ phương ~c,

và tham số thực t Nếu ~c = ~AB thì đoạn thẳng ¯AB được xác định với t ∈ [0, 1]

A

B

t = 0

t = 1

t > 0

t < 0

x

y

~ c

L(t) = A + ct

Trang 8

Giao của hai đường thẳng

Cần tìm giá trị thit tại giao điểm?

Vị trí của giao điểm là L(thit) = A + ~cthit

Phương trình sau thỏa mãn ~n · (A + ~cthit − B) = 0 Đáp án thit =~n·(B−A)~n·~c

A

~ c

B

~ n

hit point

Trang 9

Vector pháp tuyến VS vector chỉ phương

~n · ~c > 0: tia L(t) về cùng một phía với ~n

~n · ~c = 0: tia L(t) song song với ~n

~n · ~c < 0: tia L(t) “đối đầu” với ~n

~

Trang 10

Bài toán tìm giao điểm

Tia L(t) giao với đa giác P tại đâu?

Với ràng buộc P lồi, L(t) cắt P tại hai điểm với “điểm vào” tại tin và “điểm ra” tại tout

Áp dụng công thức tính thit cho tin và tout

Nếu tin< tout: L(t) giao P

Nếu tin>= tout: L(t) không giao P

P 0

P 1

P 2

~ n

A

~ c

Trang 11

Thuật toán kiểm tra giao nhau

tin← 0

tout ← 1 foreach Li ∈ P

thit ← GetHit(L(t), Li)

if ~nVi · ~cL(t)< 0

tin← max(tin, thit) elseif ~nVi · ~cL(t)> 0

tout ← max(tout, thit) else return 0

endif

if tin> tout

return 0 endif

Trang 12

Ví dụ

L0

L1

L2

L3

L4

L5

3.4

0.83

0.2

C

1

0 A

0.28

Ngày đăng: 08/12/2016, 14:46

TỪ KHÓA LIÊN QUAN

w