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
Bài toán Kiến thức sở Thuật toán Ví dụ Ray Casting Kiểm tra giao đa giác đườ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 Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Nội dung Bài toán Kiến thức sở Thuật toán Ví dụ Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Phát biểu đề Trong không gian cho đa giác lồi đôi không giao nhau, điểm A nằm tất đa giác Nối A với tất đỉnh đa giác để tạo thành đoạn thẳng Với đoạn thẳng, xác định có giao với đa giác hay không? Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Hình dung toán Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Đường thẳng, đoạn thẳng, tia Đoạn thẳng: giới hạn đ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 A l B t A B Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ 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⊥ Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ 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 phương c, ¯ xác định tham số thực t Nếu c = AB đoạn thẳng AB với t ∈ [0, 1] y t>0 t=1 B c t=0 A L(t) = A + ct t 0: tia L(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 n n c A Võ Đình Phong c A Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Bài toán tìm giao điểm Tia L(t) giao với đa giác P đâu? Với ràng buộc P lồi, L(t) cắt P hai điểm với “điểm vào” tin “điểm ra” tout Áp dụng công thức tính thit cho tin tout Nếu tin < tout : L(t) giao P Nếu tin >= tout : L(t) không giao P n P0 P1 c A P2 Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Thuật toán kiểm tra giao tin ← tout ← foreach Li ∈ P thit ← GetHit(L(t), Li ) if nVi · cL(t) < tin ← max(tin , thit ) elseif nVi · cL(t) > tout ← max(tout , thit ) else return endif if tin > tout return endif endfor return Võ Đình Phong Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Ví dụ L0 L5 0.2 A 0.28 0.83 L4 0.66 L1 C 3.4 L3 L2 Võ Đình Phong Trí tuệ nhân tạo −4.7 [...]...Bài toán Kiến thức cơ sở Thuật toán Ví dụ 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 ... đề Trong không gian cho đa giác lồi đôi không giao nhau, điểm A nằm tất đa giác Nối A với tất đỉnh đa giác để tạo thành đoạn thẳng Với đoạn thẳng, xác định có giao với đa giác hay không? Võ Đình... Trí tuệ nhân tạo Bài toán Kiến thức sở Thuật toán Ví dụ Đường thẳng, đoạn thẳng, tia Đoạn thẳng: giới hạn đ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... tìm giao điểm Tia L(t) giao với đa giác P đâu? Với ràng buộc P lồi, L(t) cắt P hai điểm với “điểm vào” tin “điểm ra” tout Áp dụng công thức tính thit cho tin tout Nếu tin < tout : L(t) giao