草庐IT

三角剖分

全部标签

java - 三角形绘制方法

我无法使用Java中的draw(Graphicsg)方法绘制三角形。我可以像这样画一个矩形:publicvoiddraw(Graphicsg){g.setColor(colorFill);g.fillRect(p.x,p.y,width,height);g.setColor(colorBorder);g.drawRect(p.x,p.y,width,height);drawHandles(g);其中p代表“形状的左上角”。我将如何以相同的方式绘制三角形?谁能给我一个标准三角形的例子? 最佳答案 在Graphics和Graphics2

python - Scipy 稀疏三角矩阵?

我正在使用Scipy使用scipy.sparse.lil_matrix构建一个大型稀疏(250kX250k)共现矩阵。共现矩阵是三角形的;也就是说,M[i,j]==M[j,i]。由于将所有数据存储两次效率非常低(在我的情况下,不可能),因此我目前将数据存储在坐标(i,j)处,其中i始终小于j。所以换句话说,我在(2,3)处存储了一个值,在(3,2)处没有存储任何值,即使我的模型中的(3,2)应该等于(2,3)。(示例见下表)我的问题是我需要能够随机提取与给定索引对应的数据,但是,至少我目前正在这样做,一半数据在行中,一半在列中,像这样:M=[12340567008900010]因此,鉴

python - Numpy 中的克罗内克三角洲

是否有一种方便的方法来初始化根据Kroneckerdelta定义的Numpy数组?在理想世界中,会有一个名为kron_delta的函数,如果我设置M=kron_delta('ij,kl',5),则M将是一个5x5x5x5数组,其中M[i,j,k,l]=1只要i=j且k=l,否则为0。我的问题是是否存在像kron_delta这样的函数。跟进:如果不是,是否还有一种方便的方法来初始化数组delta(ijk)(即nxnxn数组,当所有索引相等时为1,否则为0)? 最佳答案 使用numpy的einsum的替代解决方案:n=5M=np.ein

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是