Liang-Barsky剪线算法
快速,破坏性实现。 它通过矩形裁剪2D线段。
这是对的改编,其简单性给我留下了深刻的印象。
API
破坏性的
var a = [ - 10 , - 10 ] , b = [ 10 , 10 ] ;
clip ( a , b , [ - 5 , - 5 , 5 , 5 ] ) ; // returns 1 - "clipped"
console . log ( a ) ; // [-5, -5]
console . log ( b ) ; // [5, 5]
无损
var a = [ - 10 , - 10 ] , b = [ 10 , 10 ] ;
var an = a . slice ( ) , bn = b . slice ( ) ;
clip ( a , b , [ - 5 , - 5 , 5 , 5 ] , an , bn ) ; // returns 1 - "clipped"
console . log ( an ) ; // [-5, -5]
cons
1