python - Sympy 代码中的空交集,但如果显式声明则有效
问题描述
在代码中,我试图获得一条线和多边形的交点,但它显示一个空的交点。
#code snippet
#rot val is -1.2476679904445084e-10
from sympy import Point,Line, Polygon
L = Line(Point(h//2,w//2),slope = math.tan(math.radians(90 - rot_val)))
h,w,c = im.shape
p = Polygon((0,0),(0,w-1),(h-1,w-1),(h-1,0))
print("Line is",end = " ")
print(L)
print("Polygon is",end = " ")
print(p)
print("intersection is",end = " ")
print(p.intersection(L))
intersection = p.intersection(L)
输出:
Line is Line2D(Point2D(466, 838), Point2D(467, -459189054634.429))
Polygon is Polygon(Point2D(0, 0), Point2D(0, 1675), Point2D(931, 1675), Point2D(931, 0))
intersection is []
但是如果我运行这段代码,
p = Polygon(Point2D(0, 0), Point2D(0, 1675), Point2D(931, 1675), Point2D(931, 0))
l = Line2D(Point2D(466, 838), Point2D(467, -459189054634.429))
print(l.intersection(p))
我得到了正确的交叉点。
解决方案
推荐阅读
- bootstrap-4 - font-awesome: 重置密码的图标和代码是什么
- python - Flask 应用程序无法在 heroku 上部署 - 应用程序崩溃 H10
- python - 在应用运行时更改 Flask 应用的配置变量?
- r - 在ggplot中编辑悬停标签文本以显示百分比
- java - Why tested class based autowire annotation throw null exception?
- java - 基于java MYSQL中表上的列合并两个表
- python - 如何在熊猫中将特定值从一列复制到另一列
- python - Python检查字符串列表是否等于另一个忽略大小写的字符串列表
- pyspark - EMR集群中pytest的使用
- html - Firebase 默认 URL 显示“找不到站点”