求两个相互分离凸包公切线的线性算法
摘要:
《算法艺术与信息学竞赛》 刘汝佳 习题3.2.8平面上有两个凸多边形A和B,相互分离且都不退化,求A和B的4条公切线。O(n^2)的算法是很显然的,但你能否有线性的做法呢?进一步地,联想本节读过的凸多边形判断形内形外的特殊性,能否尝试更快的算法?设凸多边形A和B的上外公切线为(Ai,Bj),切点分别为Ai和Bj,可知:A和B均在上外公切线(Ai,Bj)的右侧。进一步,“凸多边形A在(Ai,Bj)的右侧”等价于“Ai_next和Ai_pre均在(Ai,Bj)的右侧(或其中一个在右侧,另一个共线)”,简单起见,定义Ai_next为“Ai的next方向的顶点中第一个不与(Ai,Bj)共线的顶点”,同 阅读全文
posted @ 2010-07-22 22:26 SudoLeo 阅读(2240) 评论(0) 推荐(1)
浙公网安备 33010602011771号