【发布时间】:2017-11-25 00:40:18
【问题描述】:
我试图找出一堆线段剪辑到它们周围的窗口中的位置。我看到了Liang–Barsky 算法,但这似乎假设段已经剪裁了窗口的边缘,而这些没有。
假设我有一个从(0,0) 到(26,16) 的窗口,以及以下部分:
(7,6) - (16,3)
(10,6) - (19,6)
(13,10) - (21,3)
(16,12) - (19,14)
插图:
我想我需要将片段扩展到某个 X 或 Y 点,直到它们碰到窗口的边缘,但我不知道如何。
如何找到这些线段(转换为线?)夹在窗口边缘的点?我将在 C# 中实现它,但这与语言无关。
【问题讨论】:
-
你的问题不清楚。您有时会询问“线”,但您没有定义任何,仅定义“线段”。您是在问包含线段的线将与查看窗口的边界相交的位置,还是其他什么? “剪辑”通常意味着删除位于观察窗口之外的图形部分,但这似乎不是您的意思。您永远不会为您的示例提供查看窗口。以此类推。
-
@RoryDaulton 我的几何术语不符合标准,我写错了。我所拥有的只是线段。这就是为什么我包含注释以确保在我的措辞不正确时清晰。
-
投反对票的人,想解释一下为什么这个问题离题或不清楚吗? @RoryDaulton 图片清楚地显示了窗口,应该简洁地弥补我对描述我的问题的正确措辞的无知。如果我获取这些片段并扩展它们,我如何找到点击该图像中的窗口/框的点。我不确定您如何难以理解这个问题:/
标签: math language-agnostic geometry lines