小编Roc*_*cat的帖子

按连续顺序对元组列表进行排序

我想按连续顺序对元组列表进行排序,因此每个元组的第一个元素等于前一个元素的最后一个元素.

例如:

input = [(10, 7), (4, 9), (13, 4), (7, 13), (9, 10)]
output = [(10, 7), (7, 13), (13, 4), (4, 9), (9, 10)]
Run Code Online (Sandbox Code Playgroud)

我开发了这样的搜索:

output=[]
given = [(10, 7), (4, 9), (13, 4), (7, 13), (9, 10)]
t = given[0][0]
for i in range(len(given)):
      # search tuples starting with element t
      output += [e for e in given if e[0] == t]
      t = output[-1][-1] # Get the next element to search

print(output)    
Run Code Online (Sandbox Code Playgroud)

是否有一种pythonic方式来实现这样的秩序?还有一种"就地"(只有一个列表)的方法吗?

在我的问题中,输入可以使用所有元组以循环方式重新排序,因此选择的第一个元素并不重要.

python list python-3.x

13
推荐指数
2
解决办法
1821
查看次数

获取字典键的类型

是否有一种"干净"的方式来获取python3中字典键的类型?

例如,我想确定这个词典中的一个是否具有类型的键str:

d1 = { 1:'one', 2:'two', 5:'five' }
d2 = { '1':'one', '2':'two', '5':'five' }
Run Code Online (Sandbox Code Playgroud)

有几种方法可以实现这一点,例如,使用一些方法:

isinstance(list(d2.keys())[0], type('str'))
Run Code Online (Sandbox Code Playgroud)

但这很烦人,因为d2.keys()它不可索引,所以你需要将它转换为一个列表,只是为了提取一个键的值.

那python3有什么作用get_key_type(d2)吗?如果没有,是否有更好(更清洁)的方式来询问字典的键是否类型str

python dictionary types python-3.x

7
推荐指数
2
解决办法
7906
查看次数

MeshLab:使用我自己的计算法线渲染obj文件

我正在尝试用顶点编写一个obj文件.我在我的代码中计算顶点法线并写入此文件.当我尝试在Meshlab中渲染这个文件时,它正确地读取顶点,但是当我转到'Render-> Show vertex normals'时,它没有显示我计算的法线.相反,MeshLab会计算自己的法线并显示它们.

我不确定如何可视化我计算/写入文件的法线.我想稍后根据我的计算法线应用Meshlab着色器.

为了测试这个,我创建了一个测试obj文件 -

vn 0.517350 0.517350 0.517350
v 0.500000 0.500000 0.500000
vn -0.333333 0.666667 0.666667
v -0.500000 0.500000 0.500000
vn 0.666667 -0.333333 0.666667
v 0.500000 -0.500000 0.500000
vn -0.666667 -0.666667 0.333333
v -0.500000 -0.500000 0.500000
f 1//1 2//2 3//3
f 4//4 3//3 2//2
Run Code Online (Sandbox Code Playgroud)

这只是一个方格.现在,如果我更改此文件中的正常值,当我选择"渲染 - >显示顶点法线"时,它仍会显示自己的顶点法线.我如何拥有自己的法线并应用适用于我的计算法线的着色器?请帮忙.

谢谢!!

3d graphics mesh normals meshlab

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

2020.12 Meshlabserver.exe 在哪里

是不是 2020.12(Windows 64 位)缺少 meshlabserver.exe?

或者我错过了什么?

我已经重新安装了 MeshLab,但仍然找不到服务器。

meshlab

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

将所有网格导出到单个 STL 文件中

如果我在 MeshLab 中加载了一个 STL 文件,并在加载的网格旁边创建了一个新网格,如何将它们全部导出为 STL 文件?现在,如果我将在查看器中看到的内容导出为 STL,我只会导出一个网格,而不是在查看器中看到的两个网格。我缺少什么?

meshlab

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

如何在 MeshLab 中显示 Hausdorff 距离的热图?

使用 MeshLab 中的过滤器 Sampling->Hausdorff Distance 我计算了网格和目标网格之间的距离。

如何保存点到点距离并将其呈现在热图上或将其绘制在直方图上?

meshlab

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

meshlab:网格的拓扑是否会影响曲率结果

作为我硕士论文的一部分,我需要检查不同 3D 扫描对象的曲率,我对网格实验室和网格总体来说是新手,所以我发现它很难理解。

我的网格是不规则的,因为它们是 3D 扫描的。因此,顶点的“分布”也是不规则的。这会影响我的曲率计算吗?我认为确实如此,因为所有曲率计算方法都使用邻居顶点,但我不确定。当不同网格的顶点不以相同方式均匀分布时,我可以公平地比较不同网格的曲率吗?

我的解决方案是以相同的方式对所有网格重新采样,然后进行表面重建并计算曲率?

或者我是否看到了不存在的问题,我可以只使用曲率计算吗?(我想我会选择伪逆)

我使用的是meshlab 2016.12

感谢您的帮助!

巴斯

distribution mesh meshlab

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

如何使用 PyMeshLab 将顶点数减少到一定数量

我有一批三角形网格,每个网格都有不同的顶点和面。我想将所有网格的顶点数减少到相同的数字 10000。

我知道我可以使用simplification_quadric_edge_collapse_decimation来减少面数,这意味着顶点数将相应减少。但问题是我必须多次使用该方法才能使顶点数精确到 10000。

因此,我想知道是否有另一种方法可以将顶点数直接减少到10000?

meshlab pymeshlab

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