说我有一个包含line segment
对象的数组。我试图查看我选择的线段是否连接到其他线段的另一个链上-不管是长链的开始,中间还是结尾。到达终点或起点的最快/最便宜的方法是什么(假设所选的线段不是终点或起点?)
更新-评论部分需要更多背景信息...
canvas.addEventListener('mousemove', function(e) {
e.preventDefault();
let mouseX = e.offsetX,
mouseY = e.offsetY;
if (self.mode.isPencilMode && self.mouseIsDown) {
// create the line and add to the list
var x0 = self.pos[0],
y0 = self.pos[1];
var line = new Line Object;
self.lines.push(line);
self.pos = [mouseX, mouseY];
}
self.render();
});
因此,self.lines
是一个包含创建的新Line
对象的数组。我需要查看它们是否已连接,以及当用户选择它们时,然后选择chain
行的线段,直到选择开始或结束...
答案 0 :(得分:0)
我将采用自己的形式的链表,其中所有节点(在您的情况下为行)都具有到连接的节点/线的所有信息。
然后,您可以使用指向开始,结束和实际节点的指针,将三点存储为此类链接列表的元信息。
使用此信息,您可以添加节点以开始和结束实际节点。