草庐IT

Geometry

全部标签

python - 用 tkinter 画圆的更简单方法?

在tkinterCanvas上画一个圆通常由create_oval方法完成。但是,提供边界框通常是考虑绘制圆的一种令人困惑的方式。想出一个快捷方式并不是特别难,但是我找不到其他人在做类似的事情,所以我会发布它,希望其他人觉得它有用。 最佳答案 这是一个被称为monkeypatching的技巧我们实际上在tkinter/Tkinter类Canvas中添加了一个成员。下面是一个功能齐全的程序(Python2.7和3.x),其中第三段很有趣。将其添加到您的代码中,您可以将tk.Canvas.create_circle(x,y,r,opti

python - 用 tkinter 画圆的更简单方法?

在tkinterCanvas上画一个圆通常由create_oval方法完成。但是,提供边界框通常是考虑绘制圆的一种令人困惑的方式。想出一个快捷方式并不是特别难,但是我找不到其他人在做类似的事情,所以我会发布它,希望其他人觉得它有用。 最佳答案 这是一个被称为monkeypatching的技巧我们实际上在tkinter/Tkinter类Canvas中添加了一个成员。下面是一个功能齐全的程序(Python2.7和3.x),其中第三段很有趣。将其添加到您的代码中,您可以将tk.Canvas.create_circle(x,y,r,opti

python - Theo Jansen 行走机构的进化算法

有一位荷兰艺术家/工程师创造了一种非常精细的行走机制。工作原理可以看这里:http://www.strandbeest.com/beests_leg.php奇怪的是,他使用了自制的进化算法来计算理想的链接长度,页面底部有描述。我创建了一个Python脚本来直观地分析循环的接地部分,它必须满足两个先决条件:尽量笔直,以免上下晃动;保持速度尽可能恒定,以免一只脚拖到另一只脚上;这两个标准会产生“轮状”效果,机器直线前进而不会浪费动能。问题是:“你有什么建议可以用简单的进化迭代公式来优化腿长(通过在下面的代码中插入正确的突变),从而在上述两个标准的情况下改善步行路径吗?”编辑:关于基因组候选

python - Theo Jansen 行走机构的进化算法

有一位荷兰艺术家/工程师创造了一种非常精细的行走机制。工作原理可以看这里:http://www.strandbeest.com/beests_leg.php奇怪的是,他使用了自制的进化算法来计算理想的链接长度,页面底部有描述。我创建了一个Python脚本来直观地分析循环的接地部分,它必须满足两个先决条件:尽量笔直,以免上下晃动;保持速度尽可能恒定,以免一只脚拖到另一只脚上;这两个标准会产生“轮状”效果,机器直线前进而不会浪费动能。问题是:“你有什么建议可以用简单的进化迭代公式来优化腿长(通过在下面的代码中插入正确的突变),从而在上述两个标准的情况下改善步行路径吗?”编辑:关于基因组候选

python - 如何将简单的几何形状写入 numpy 数组

我想生成一个大小为200x200元素的numpy数组,并在其中放入一个以100,100坐标为中心、半径为80且笔划宽度为3像素的圆。如何在不涉及文件操作的情况下在python2.7中执行此操作?可能使用几何或成像库来泛化到其他形状。 最佳答案 通常的方法是定义一个坐标网格并应用你的形状方程。要做到这一点,最简单的方法是使用numpy.mgrid:http://docs.scipy.org/doc/numpy/reference/generated/numpy.mgrid.html#xxandyyare200x200tablescon

python - 如何将简单的几何形状写入 numpy 数组

我想生成一个大小为200x200元素的numpy数组,并在其中放入一个以100,100坐标为中心、半径为80且笔划宽度为3像素的圆。如何在不涉及文件操作的情况下在python2.7中执行此操作?可能使用几何或成像库来泛化到其他形状。 最佳答案 通常的方法是定义一个坐标网格并应用你的形状方程。要做到这一点,最简单的方法是使用numpy.mgrid:http://docs.scipy.org/doc/numpy/reference/generated/numpy.mgrid.html#xxandyyare200x200tablescon

python - 尽可能均匀地将点分布在一个圆上

问题陈述我有以下问题:我有一个圆,上面有一定数量(零个或多个)点。这些位置是固定的。现在我必须在圆上定位另一组点,例如所有点一起尽可能均匀地分布在圆周围。目标我现在的目标是开发一种算法,采用角度列表(表示固定点)和int值(表示应该放置多少额外点)并再次返回角度列表(仅包含角度应该有额外的点)。这些点不必真正均匀分布(彼此之间的距离相同),而是尽可能均匀。大多数时候可能不存在完美的解决方案,因为某些点是固定的。所有角度的范围都在-pi和+pi之间。示例我正在努力实现的一些示例:fixed_points=[-pi,-pi/2,pi/2]vvv|---------|---------|--

python - 尽可能均匀地将点分布在一个圆上

问题陈述我有以下问题:我有一个圆,上面有一定数量(零个或多个)点。这些位置是固定的。现在我必须在圆上定位另一组点,例如所有点一起尽可能均匀地分布在圆周围。目标我现在的目标是开发一种算法,采用角度列表(表示固定点)和int值(表示应该放置多少额外点)并再次返回角度列表(仅包含角度应该有额外的点)。这些点不必真正均匀分布(彼此之间的距离相同),而是尽可能均匀。大多数时候可能不存在完美的解决方案,因为某些点是固定的。所有角度的范围都在-pi和+pi之间。示例我正在努力实现的一些示例:fixed_points=[-pi,-pi/2,pi/2]vvv|---------|---------|--

python - 确定线段集合的非凸包

我有一个计算几何问题,我觉得应该有一个相对简单的解决方案,但我想不通。我需要确定由几条线段定义的区域的非凸轮廓。我知道各种非凸壳算法(例如alpha形状),但我不需要完全通用的算法,因为线段在大多数情况下定义了唯一的解决方案。正如@Jean-FrançoisCorbett所指出的,在某些情况下存在多种解决方案。我显然需要更多地考虑我的定义。但是,我想做的是逆向工程并使用专有文件格式,这样我就可以对自己和其他人收集的数据进行基本分析。文件格式很简单,但确定他们用来定义边界的算法要困难得多。加入许多会导致非唯一解决方案的边缘情况会导致相关软件在没有警告的情况下崩溃或静默无法读取文件。因此,

python - 确定线段集合的非凸包

我有一个计算几何问题,我觉得应该有一个相对简单的解决方案,但我想不通。我需要确定由几条线段定义的区域的非凸轮廓。我知道各种非凸壳算法(例如alpha形状),但我不需要完全通用的算法,因为线段在大多数情况下定义了唯一的解决方案。正如@Jean-FrançoisCorbett所指出的,在某些情况下存在多种解决方案。我显然需要更多地考虑我的定义。但是,我想做的是逆向工程并使用专有文件格式,这样我就可以对自己和其他人收集的数据进行基本分析。文件格式很简单,但确定他们用来定义边界的算法要困难得多。加入许多会导致非唯一解决方案的边缘情况会导致相关软件在没有警告的情况下崩溃或静默无法读取文件。因此,