草庐IT

python - 如何使用 Python 在 3D 图形表面上绘制图像文件? - 不绘制为平面

有没有办法使用Python在3D图形表面上绘制图像文件?我已经看到了几种将其绘制为平面的方法,但我希望图像覆盖在绘图的表面上。这可能吗? 最佳答案 您需要将表面的颜色更改为图像的颜色,如@sarwar在本例中所建议的那样。importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfrommatplotlib.cbookimportget_sample_datafrommatplotlib._pngimportread_pngimportnumpyasnpfn=ge

python - 平面图边缘检测 - 图像处理?

我是一个来自完全不同学科的人,他需要一些图像处理技术来在项目中实现这个目标。我需要从室内平面图导出边缘,如下所示我试过这个特定的Python边缘检测片段:fromPILimportImage,ImageFilterimage=Image.open('L12-ST.jpg')image=image.filter(ImageFilter.FIND_EDGES)image.save('new_name.png')但是,它返回的详细信息超出了我的需要。它基本上检测所有边缘,包括房间墙壁。实际上,我需要的只是走廊的墙壁。所以我期待这样的事情我该怎么做?我正在使用Python,但非常感谢任何通用或

python - 在 Shapely 中以平面单位(例如平方米)计算多边形面积

我正在使用Python3.4和shapely1.3.2从长/纬度坐标对列表中创建一个多边形对象,我将其转换为众所周知的文本字符串以便解析它们。这样的多边形可能看起来像:POLYGON((-116.90443.371,-116.82343.389,-116.89543.407,-116.90843.375,-116.90443.371))由于shapely不处理任何投影并在笛卡尔空间中实现所有几何对象,因此在该多边形上调用area方法,如下所示:poly.area以平方度为单位给出该多边形的面积。要获得像平方米这样的平面单位的面积,我想我必须使用不同的投影(哪个投影?)来转换多边形的坐标

python - 查找由一组线创建的平面的所有分区

我有一组线(形式为y=mx+b的线性函数)(其中120条!),如果我将它们全部绘制成图,那么它们将划分R^2平面。这些线不一定穿过原点。查找由一组这样的行创建的所有分区的最有效方法是什么?就个人而言,我很难想出任何方法,更不用说有效的方法了。为了更清楚,我包括以下仅4行的图像:分区的一个例子是集合{(x,y)|-30x+28,这是第一象限中由红、黄、绿线创建的分区。另一个例子是{(x,y)|y,这是第一象限中由蓝线、红线和绿线包围的三角形。非分区的示例是{(x,y)|5x+3,这是由上面的绿线和下面的蓝线所界定的集合。这不是一个分区,因为其中包含多个分区(例如上面的第二个分区),或者与

python - 为什么 UnboundLocalError 发生在平面理解的第二个变量上?

我在这里回答了一个问题:comprehensionlistinpython2worksfinebutigetanerrorinpython3OP的错误是对最大范围和索引使用了相同的变量:x=12y=10z=12n=100ret_list=[(x,y,z)forxinrange(x+1)foryinrange(y+1)forzinrange(z+1)ifx+y+z!=n]这只是一个Python-3错误,并且与添加到理解中的范围有关,以避免此处定义的变量“泄漏”。更改变量名称可以解决这个问题。错误是:UnboundLocalError:localvariable'y'referencedb

python - 需要从平面字典创建分层字典

我有一个字典,看起来像这样:{'foo':{'opt1':1,'opt2':2,},'foo/bar':{'opt3':3,'opt4':4,},'foo/bar/baz':{'opt5':5,'opt6':6,}}我需要让它看起来像:{'foo':{'opt1':1,'opt2':2,'bar':{'opt3':3,'opt4':4,'baz':{'opt5':5,'opt6':6,}}}}我应该指出,可以并且将会有多个顶级键(在本例中为“foo”)。我可能可以把一些东西放在一起来获得我需要的东西,但我希望有一个更有效的解决方案。 最佳答案

python - 在python中将平面列表读入多维数组/矩阵

我有一个数字列表,表示另一个程序生成的矩阵或数组的扁平化输出,我知道原始数组的维度,想将这些数字读回到列表列表或NumPy矩阵中。原始数组中可能有超过2个维度。例如data=[0,2,7,6,3,1,4,5]shape=(2,4)printsome_func(data,shape)会产生:[[0,2,7,6],[3,1,4,5]]提前干杯 最佳答案 使用numpy.reshape:>>>importnumpyasnp>>>data=np.array([0,2,7,6,3,1,4,5])>>>shape=(2,4)>>>data.re

python - 为什么 SymPy 会计算出错误的平面交点?

我有一个奇怪的问题,SymPy中的平面相交适用于简单的示例,但对于具有更复杂坐标的示例却失败了。我发布了一个有效的简单示例和一个失败的示例。正如Povray图像所示,我有三个平面穿过apolyhedron的顶点。并且垂直于通过相应顶点和中心的线。我想计算这些平面相交的点,但是SymPy给出了平面对相交的直线的错误结果。在图像中,正确的交点可以看作是短线(使用CSG交点创建)。与它们平行的长线是SymPy计算的。我是不是做错了什么,或者这是SymPy中的错误?更多图片在这里:http://paste.watchduck.net/1712/sympy_planes/有谁知道如何在页面上放置

python - 我怎样才能使这个 Python 递归函数返回一个平面列表?

看看这个简单的函数defprime_factors(n):foriinrange(2,n):ifn%i==0:returni,prime_factors(n/i)returnn这是prime_factors(120)的结果(2,(2,(2,(3,5))))我希望它返回一个平面元组或列表,而不是嵌套元组。(2,2,2,3,5)有没有简单的方法可以做到这一点? 最佳答案 defprime_factors(n):foriinrange(2,n):ifn%i==0:return[i]+prime_factors(n/i)return[n]

python - Matplotlib - 同时在 3D 中绘制平面和点

我正在尝试使用Matplotlib在3D中同时绘制一个平面和一些点。我没有错误只是点不会出现。我可以在不同时间绘制一些点和平面,但绝不能同时绘制。部分代码如下所示:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dpoint=np.array([1,2,3])normal=np.array([1,1,2])point2=np.array([10,50,50])#aplaneisa*x+b*y+c*z+d=0#[a,b,c]isthenormal.Thus,wehavetocalc