Answer / Explanation:
Assuming we define the end points as ( x₁ , y₁) and (x₂ , y₂) and the rectangular window edge as ( Xmin ,Ymin and Xmax , Ymax)
The illustration of the above assumption is represented in the diagram below.
Now, suppose the line segment is between the points P₁ = ( x₁ , y₁) , and
P₂ = (x₂ , y₂).
We can then create a line recalling and using parametric form,
P(t) = ( 1 - t) P₁ + tP₂ , t ∈ {0 , 1 },
So, for the X axis, we have,
tₓ = P₁ₓ - x ÷ P₁ₓ - P₂ₓ
We need to note that at this point we need to know the minimum and maximum unclipped values for parameter t from each dimension.
Therefore,
- ( tmin , tmax ) = ( 0,1) means unclipped line
-tmin > tmax means completely clipped out line
– Some other range means partially clipped out line.