由于这些直线段均沿着视线方向,因此在计算机屏幕上表现为一个点.当刀具上的直线段和毛坯上的直线段链表具有相同的屏幕坐标时,就有可能发生相互之间的切削关系.设刀具上有一直线段Q1Q2,和毛坯的一直线段链表对应屏幕上同一象素,P1P2为该直线段链表的一个直线段单元.其中Q1点离眼睛近,视向ZQ1值小;Q2点离眼睛远,视向ZQ2值大.P1点离眼睛近,视向ZP1值小;P2点离眼睛远,视向ZP2值大.
第1种关系. ZP2>ZQ2>ZQ1>ZP1,如下面图1所示.可知直线段Q1Q2的位置处于P1P2之间,并将P1P2切割为两段.
图1 第1种关系
先申请一个链表直线段单元N1N2.分别将Q2,P2点的颜色值和视向Z值赋给N1,N2点,并将该单元串到的后面. 将Q1点的颜色值和视向Z值赋给P2点.
第2种关系. ZP2>ZQ2>ZP1>ZQ1,如下图2所示.可知直线段Q1Q2切削P1P2的近端.
图2 第2种关系
将Q2点的颜色值和视向Z值赋给P1点.如果直线段P1P2为该链表的第一个单元,则应同时修改P1点所对应屏幕点的颜色值.
第3种关系. ZP2>ZP1>ZQ2>ZQ1,如下图3所示.可知直线段Q1Q2与P1P2没有发生切削关系.
图3 第3种关系
第4种关系. ZQ2>ZP2>ZQ1>ZP1,如下图4所示.可知直线段Q1Q2切削P1P2的远端.
图4 第4种关系
将Q1点的颜色值和视向Z值赋给P2点.
第5种关系. ZQ2>ZQ1>ZP2>ZP1,如下图5所示.可知直线段Q1Q2与P1P2没有发生切削关系.
图5 第5种关系
第6种关系. ZQ2>ZP2>ZP1>ZQ1,如下图6所示.可知直线段Q1Q2切削P1P2整条直线段.