gpt4 book ai didi

java - Java中用线切割多边形

转载 作者:行者123 更新时间:2023-12-01 15:51:31 26 4
gpt4 key购买 nike

你能分享一些Java代码来用直线或路径切割多边形吗?

最佳答案

我在为 Android 开发某种“页面 curl ”实现时正在解决此类问题。虽然代码不一定(稍后我将添加链接)具有人们所希望的可读性,但这里简要介绍了我一开始的想法。这可能会延伸到路径,但我只处理一条线。

  1. 您有一组呈现多边形的顶点。
  2. 给定一条切割线,您就可以得到它的斜率。
  3. 选择该切割线上的任意点。
  4. 根据信息 2. 和 3. 平移原始顶点,以便您从线上选择的点成为原点。然后旋转顶点,使切割线变得垂直。或者如果您更喜欢在 y 轴上进行测试,则可以选择水平。
  5. 经过上次转换后,您的原始切割线位于 y 轴 x=0 处。
  6. 此时计算交点相对容易,因为您所要做的就是检查创建一条线的两个顶点是否位于 y 轴的相对侧。即,另一个具有正x,另一个具有负x。计算这条线与 x=0 相交的精确点并不困难。它有 x=0,你只需找到 y。
  7. 对您之前所做的交点进行精确的向后变换,然后在原始多边形上就有一个切点。

绝对有更复杂的方法来计算多边形的交点,但考虑到我正在处理的项目的性质 - 我真的很喜欢拥有更简化的环境。对此也持保留态​​度,因为我在任何地方都没有找到这个,但这更多的是我自己想出来的想法。

And the code as promised .

关于java - Java中用线切割多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com