- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
故事:
我最初的想法是获取包含三角形的矩形的坐标,遍历其中的点并使用 "Is this point inside a triangle?" 之一确定一个点是否在三角形内的解决方案。到目前为止我所拥有的:
from collections import namedtuple
from operator import attrgetter
def is_inside_triangle(s, p1, p2, p3):
as_x = s.x - p1.x
as_y = s.y - p1.y
s_ab = (p2.x - p1.x) * as_y - (p2.y - p1.y) * as_x > 0
if ((p3.x - p1.x) * as_y - (p3.y - p1.y) * as_x > 0) == s_ab:
return False
if ((p3.x - p2.x) * (s.y - p2.y) - (p3.y - p2.y) * (s.x - p2.x) > 0) != s_ab:
return False
return True
def solution(vertices):
Point = namedtuple('Point', 'x,y')
vertices = [Point(x, y) for x, y in vertices]
min_x = min(vertices, key=attrgetter('x')).x
min_y = min(vertices, key=attrgetter('y')).y
max_x = max(vertices, key=attrgetter('x')).x
max_y = max(vertices, key=attrgetter('y')).y
return sum(1
for x in range(min_x + 1, max_x)
for y in range(min_y + 1, max_y)
if is_inside_triangle(Point(x, y), *vertices))
它适用于以下输入:
print(solution([(-1, -1), (1, 0), (0, 1)])) # 1
print(solution([[3, 3], [4, 2], [10, 190]])) # 96
这种方法虽然被证明在足够大的三角形上非常慢,例如:
print(solution([[91207, 89566], [-88690, -83026], [67100, 47194]]))
工作数小时。
问题:
我认为主要问题是我试图检查太多可以事先排除的点。计算三角形中点数的最有效方法是什么?
我有一个问题需要分而治之解决。有一个包含 N 个点的集合 S。如果有一个平行于轴的正方形,只包含S中的两个点p1和p2,则我们称p1和p2为 friend 点。 现在,我需要使用分而治之算法来计算 S
为 iPad 编程时,字体(和其他)大小以“磅”为单位指定。我已经看到将点作为独立于屏幕分辨率的像素的引用。但是我无法确定一个点的实际大小(即以英寸为单位)。一个点是否等于标准 iPad 屏幕上的一个
我有一个来自 Hadley Wickham 的 ggplot2 书中的问题。 我在这里有这个数据框: class % group_by(class) %>% summarise(n = n
好的,这是一些代码( pdfDocument 是 com.itextpdf.text.Document ): PdfPTable table = new PdfPTable(1); PdfPCell
我正在尝试添加一个 if 语句,如果小于 17,则将另一张牌添加到 DealerHand 中。 目前,它只是记录: 7 19 [ { suit: '♦', value: 9, points: 9 },
我正在编写一个程序,我需要: 对图像的每个像素进行测试 如果测试结果为真,我必须向点云中添加一个点 如果测试结果为假,什么都不做 我已经在 CPU 端 C++ 上编写了一个工作代码。现在我需要使用 C
我是一名优秀的程序员,十分优秀!