Graphics 找到所有非线性点
给定二维平面上的一组点,是否有可能在二维平面上找到一组所有可能的非线性点?Graphics 找到所有非线性点,graphics,geometry,computer-science,computational-geometry,convex-hull,Graphics,Geometry,Computer Science,Computational Geometry,Convex Hull,给定二维平面上的一组点,是否有可能在二维平面上找到一组所有可能的非线性点? 目前,时间复杂性并不重要,只要解决方案是正确的。您所要求的可能需要澄清。任意两点彼此共线,因为有一条线将它们连接起来。为了回答这个问题,我似乎必须解释你所问的意思:如果任何数量大于或等于三的点都彼此共线,我们的非共线点集只能包含一个共线点 有鉴于此,我们可以做到以下几点: 对于每对点,计算它们之间的斜率为(y-y')/(x-x')。如果x=x',只需注意斜率为V 接下来,对于每一对点和坡度,检查涉及该对中任一点的所有其他
目前,时间复杂性并不重要,只要解决方案是正确的。您所要求的可能需要澄清。任意两点彼此共线,因为有一条线将它们连接起来。为了回答这个问题,我似乎必须解释你所问的意思:如果任何数量大于或等于三的点都彼此共线,我们的非共线点集只能包含一个共线点 有鉴于此,我们可以做到以下几点:
p = (1, 1), q = (2, 2), r = (3, 3), s = (2, 3)
m = [ - 1 1 2]
[ 1 - 1 V]
[ 1 1 - 0]
[ 2 V 0 -]
(p, q): r yes, s no; collection (p, q, r)
(p, r): q yes, s no; collection (p, q, r)
(p, s): q no, r no; no collection
(q, p): r yes, s no; collection (p, q, r)
(q, r): p yes, s no; collection (p, q, r)
(q, s): p no, r no; no collection
(r, p): q yes, s no; collection (p, q, r)
(r, q): p yes, s no; collection (p, q, r)
(r, s): p no, q no; no collection
(s, p): q no, r no; no collection
(s, q): p no, r no; no collection
(s, r): p no, q no; no collection
Try candidate (p, q, r, s): intersection with (p, q, r) has size > 1, reject
Try candidate (p, q, r): intersection with (p, q, r) has size > 1, reject
Try candidate (p, q, s): intersection with (p, q, r) has size > 1, reject
…
Try candidate (p, s): intersection with (p, q, r) has size = 1, accept
这在时间和空间上显然是指数型的,但这将解决问题。你不是说非共线点三元组吗?