python - 如何使用 Python 检查 2D 点是在 2D 闭合贝塞尔曲线内部还是外部?
问题描述
你好,
在我的 2d 软件中,我有两个可用的输入:
一组 XY 点
[(x,y),(1,1),(2,2),(2,3),(-1,3),...]
另一个矩阵表示封闭的 2D 贝塞尔曲线句柄
[((x,y),(x,y),(x,y)),
((-1,-1),(1,1),(1,2)),
((1,1),(2,2),(2,3)),
...]
如何使用 python 检查一个点是在给定曲线的内部还是外部?最好使用 numpy
解决方案
我不知道贝塞尔曲线的理论如何,所以如果你的第二个点列表是一种表示贝塞尔曲线的压缩方式,首先尝试以你想要的精度对曲线的一些点进行采样。所以你有 n 个曲线点,然后你可以应用一个简单的 PIP 算法:https ://en.wikipedia.org/wiki/Point_in_polygon
如果您想知道如何以编程方式进行操作,我可以稍后详细解释。
推荐阅读
- ruby-on-rails - VSCode、Docker、Rails 调试
- electron - 如何通过 Electron desktopCapturer 截取包括双屏在内的屏幕截图
- javascript - 什么是 JavaScript 中字符串连接的时间复杂度
- android - 以编程方式隐藏自动完成文本视图中的向下箭头
- postgresql - postgresql 函数中的 beginTransaction 和 commit
- authentication - 如何根据 cookie 对用户进行身份验证?
- typescript - 如何使我的模型对于 sequelize 方法是可选的 - 打字稿
- vba - VBA Application.FollowHyperlink 如何将 http 标头发送到 Web 服务器,例如 User-Agent
- android-emulator - Pepper Android Emulator 卡在 34%
- c - 递归链表在 C 中输出乱码