为了账号安全,请及时绑定邮箱和手机立即绑定

pyvista polydata(梯形)上的纹理看起来沿着对角线弯曲

pyvista polydata(梯形)上的纹理看起来沿着对角线弯曲

开心每一天1111 2022-09-06 17:25:13
我有一个pyvista多边形(特别是等腰梯形),我想在其上应用纹理。问题在于,原始平行线沿着梯形的对角线奇怪地弯曲。有什么办法可以防止这种情况吗?我也不知道这个问题是否应该在pyvista,vtk或opengl层上解决。有关重现问题的最小工作示例,请参阅下文。原始纹理:预期结果(或多或少,它不是关于亮度,而是线条):以下代码的结果/实际结果:重现结果的代码:import numpy as npimport pyvista as pvvertices = np.array([[0.2, 0, 0],                     [0.8, 0, 0],                     [1, 1, 0],                     [0, 1, 0]]) # mesh facesfaces = np.hstack([[4, 0, 1, 2, 3]])  # squaresurf = pv.PolyData(vertices, faces)tex = pv.read_texture("parallel.png")# Turning these on did not make a visible difference.tex.InterpolateOn()tex.MipmapOn()surf.t_coords = np.array([[0., 0.],                          [1., 0.],                          [1., 1.],                          [0., 1.]])# experience a weird bend in the texturesurf.plot(texture=tex)
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

由于多边形数量少,看起来您有一些纹理失真。在我看来,你可以1)重新设计你的纹理坐标来“采样”纹理:

...
surf.t_coords = np.array([[0.2, 0.],
                          [0.8, 0.],
                          [1., 1.],
                          [0., 1.]])
...

//img1.sycdn.imooc.com//6317124a0001c62e06470356.jpg

或2)增加顶点/三角形的数量,并相应地调整您的UV坐标。它应该减轻失真。



查看完整回答
反对 回复 2022-09-06
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号