Intersection of Segment & Rectangle

1. Intersection Of Two Segment:

একমাত্রিক তলে দুইটি সেগমেন্ট (l1 , r1) এবং (l2 , r2) হলে,

Segment-1:    -------------
Segment-2:            ---------------
Intersect:                -------

l = max(l1 , l2)
r = min(r1 , r2)

(l > r) হলে, Intersection  = 0
অন্যথায়, Intersection     = [l , r]

2. Intersection Of Two Rectangle:

দ্বিমাত্রিক তলে অবস্থিত দুইটি আয়তের Upper Left Corner এবং Lower Right Corner এর স্থানাঙ্ক দেয়া থাকলে তাদের Intersection Area অথবা তাদের মধ্যকার কমন আয়তের জন্য বিন্ধু দুটি বের করতে হবে। 

১ম আয়তের বিন্ধু দুটি (x11 , y11) এবং (x12 , y12)
২য় আয়তের বিন্ধু দুটি (x21 , y21) এবং (x22 , y22)

Intersect করা অংশটিকে আয়ত ধরলে সেই আয়তের বিন্ধু দুটি হবে,
(x31 = max(x11 , x21) , y31 = min(y11 , y21))
এবং
(x32 = min(x12 , x22) , y32 = max(y12 , y22))

IF(x31 > x32 || y31>y32)
    No Intersection
else
    [(x31,y31) - (x32,y32)]

Comments

Trending Post

At Coder Educational DP-A | DP Series(Episode-1)

Shortest distance between two point in a grid when you can move all 8 sides from a position