小编Mar*_*ark的帖子

Java中两个形状/区域之间的距离?

如果我有两个java.awt.geom.Area由各种简单形状(多边形和椭圆形)组合而成,那么有没有一种方法可以找到两个区域之间的距离(即最近距离)?

澄清一下:假设我有两个任意区域,每个区域都是从任何形状的形状联合创建的:

//Define the first area
Area a = new Area(new Ellipse2D.Double(50, 50, 100, 100));
a.add(new Area(new Rectangle2D.Double(100, 100, 100, 100)));

//Define the second area
Area b = new Area(new Ellipse2D.Double(200, 300, 100, 100));
b.add(new Area(new Ellipse2D.Double(250, 250, 100, 100)));
Run Code Online (Sandbox Code Playgroud)

我想要的是一种方法getDistance(Area a, Area b),它给我一个双重表示区域a中的任何点与区域b中的任何点之间的最短距离.这是上面两个区域的图像,蓝色的线条表示我感兴趣的距离:

区域a和b,以及它们之间的距离

有没有办法做到这一点?如果没有,我该如何实施呢?

java distance shape area

6
推荐指数
1
解决办法
1917
查看次数

带星号的参数的类型提示

假设我们想要向一个函数添加类型提示,该函数使用带星号的参数将一堆整数加在一起:

def add_integers(*integers):
   return sum(integers)
Run Code Online (Sandbox Code Playgroud)

给出整数类型是正确的做法吗,因为这就是每个单独的参数的类型?

def add_integers(*integers: int):
   return sum(integers)
Run Code Online (Sandbox Code Playgroud)

...或者给出结果变量的类型,最终成为整数序列(元组)?

def add_integers(*integers: Sequence[int]):
   return sum(integers)
Run Code Online (Sandbox Code Playgroud)

python type-hinting

3
推荐指数
1
解决办法
869
查看次数

Python:指定与继承一起使用的类方法的返回类型

我一直试图了解如何在 Python 中指定类方法的返回类型,以便即使对于子类也能正确解释(例如在我的 Sphinx 文档中)。

假设我有:

class Parent:

    @classmethod
    def a_class_method(cls) -> 'Parent':
        return cls()


class Child(Parent):
    pass
Run Code Online (Sandbox Code Playgroud)

a_class_method如果我希望它是Parent为父母和Child孩子的,我应该指定什么作为返回类型?我也试过__qualname__,但这似乎也不起作用。我应该不注释返回类型吗?

提前致谢!

python inheritance typing class-method

1
推荐指数
1
解决办法
461
查看次数