草庐IT

铁三角

全部标签

python - 在 Python 中存储三角形/六角形网格的最佳方式

我正在用六边形方block制作游戏,并决定使用三角形/六边形网格。我找到了this帮助我生成坐标的问题,并稍微修改了代码以将所有坐标存储为字典中的键,其值为“。”(地板)或“X”(墙,)并包含一个函数,该函数打印出map的字符串表示形式,其中每个非空白字符代表一个六角形瓷砖。这是新代码:deltas=[[1,0,-1],[0,1,-1],[-1,1,0],[-1,0,1],[0,-1,1],[1,-1,0]]classHexGrid():def__init__(self,radius):self.radius=radiusself.tiles={(0,0,0):"X"}forrinra

python - 在图中查找 3 个节点(或三角形)的循环

我正在处理复杂的网络。我想找到在给定图中形成3个节点(或三角形)循环的节点组。由于我的图表包含大约百万条边,因此使用简单的迭代解决方案(多个“for”循环)效率不高。我正在使用python进行编程,如果这些是用于处理这些问题的一些内置模块,请告诉我。如果有人知道任何可用于在图形中查找三角形的算法,请回复。 最佳答案 假设它是一个无向图,答案就在python的networkx库中。如果你只需要计算三角形,使用:importnetworkxasnxtri=nx.triangles(g)但是如果你需要知Prop有三角形(triadic)关

python - Matplotlib,避免 plot_trisurf() 中不需要的三角形

我有以下代码来创建一个圆锥体,稍后将为其应用位移场。在下图中,您可以看到在顶部绘制了一些大三角形,但在底部没有绘制。我相信有一些内部隐藏参数告诉plot_trisurf()应该创建三角形的距离,否则它们也应该在底部创建。importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Dfrommatplotlibimportcmfromnumpyimportlinspace,interp,meshgrid,sin,cos,pinumel_circum=120L=38.rb,rt=(38.,16.)t1,t2=(0,2*pi)

python - 沿下三角 numpy 数组的每一行翻转非零值

我有一个下三角数组,比如B:B=np.array([[1,0,0,0],[.25,.75,0,0],[.1,.2,.7,0],[.2,.3,.4,.1]])>>>Barray([[1.,0.,0.,0.],[0.25,0.75,0.,0.],[0.1,0.2,0.7,0.],[0.2,0.3,0.4,0.1]])我想把它翻转成这样:array([[1.,0.,0.,0.],[0.75,0.25,0.,0.],[0.7,0.2,0.1,0.],[0.1,0.4,0.3,0.2]])也就是说,我想取所有正值,并在正值内反转,留下尾随零。这不是fliplr所做的:>>>np.fliplr(B

Python — 如何找到下三角 ​​numpy 矩阵的方阵? (具有对称的上三角形)

我生成了一个下三角矩阵,我想使用下三角矩阵中的值来完成该矩阵以形成一个围绕对角线零点对称的方阵。lower_triangle=numpy.array([[0,0,0,0],[1,0,0,0],[2,3,0,0],[4,5,6,0]])我想生成以下完整矩阵,保持对角线为零:complete_matrix=numpy.array([[0,1,2,4],[1,0,3,5],[2,3,0,6],[4,5,6,0]])谢谢。 最佳答案 你可以简单地将它添加到它的转置中:>>>marray([[0,0,0,0],[1,0,0,0],[2,3,0

python - Sierpinski 的三角形 Pygame 递归

因此,对于我目前的大学论文,我们打算创建一个Sierpinksi三角形并在其中递归绘制新三角形。我们得到的原始代码是这样的:importsys,pygame#afunctionthatwilldrawaright-angledtriangleofagivensizeanchoredatagivenlocationdefdraw_triangle(screen,x,y,size):pygame.draw.polygon(screen,white,[[x,y],[x+size,y],[x,y-size]])##########################################

python - 返回 3D scipy.spatial.Delaunay 的表面三角形

我有这个问题。我尝试通过scipy.spatial.Delaunay对点云进行三角测量。我用过:tri=Delaunay(points)#points:np.array()of3dpointsindices=tri.simplicesvertices=points[indices]但是,这段代码返回四面体。怎么可能只返回表面的三角形?谢谢 最佳答案 要使其以代码形式工作,您必须将表面参数化为二维。例如,在球(r,theta,psi)的情况下,半径是常数(将其删除)并且点由二维的(theta,psi)给出。ScipyDelaunay是

python - 在 seaborn Pairgrid 中绘制下三角

我对seabornPairgrid有点吃力。假设我有一个这样的Pairgrid:如您所见,上三角图反射(reflect)了下三角图。我希望能够只绘制下三角图,但到目前为止我发现没有简单的方法可以做到这一点。你能帮帮我吗? 最佳答案 使用seaborn>=0.9.1:importseabornassnsiris=sns.load_dataset("iris")sns.pairplot(iris,corner=True) 关于python-在seabornPairgrid中绘制下三角,我们在

python - python中的三角形数

我正在尝试解决问题:Whatisthevalueofthefirsttrianglenumbertohaveoverfivehundreddivisors?三角形数是数字总和序列中的数字,即1+2+3+4+5...我很确定这是有效的代码,但我不知道,因为我的计算机计算它的时间太长了。有没有人知道如何使程序更快一点。谢谢。importmathdefmain():l=[]one=0a=1b=2whileone==0:a=a+bb+=1forxinrange(1,int(a/2+1)):ifa%x==0:l.append(x)iflen(l)>499:printaif__name__=='_

python - 将一维数组转换为下三角矩阵

我想将一个一维数组转换为一个较低的零对角矩阵,同时保留所有数字。我知道numpy.tril函数,但它用零替换了一些元素。我需要扩展矩阵以包含所有原始数字。例如:[10,20,40,46,33,14,12,46,52,30,59,18,11,22,30,2,11,58,22,72,12]应该是010020400463314012465230059181122300211582272120 最佳答案 输入数组包含填充较低对角线位置所需的所有值,这是一种使用掩码的方法-deffill_lower_diag(a):n=int(np.sqrt