非常简单的3d线条和.obj文件渲染器

2024-10-03 06:22:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在具有多个.obj文件的场景中为一个粘贴人渲染多条3D线。对于可视化,最好在可旋转的环境中渲染这些对象

在python中实现这一点最简单的方法是什么?因为我对图形编程一无所知,所以我想写尽可能少的样板代码

我目前的解决方案是使用cloudcompare提取obj文件的点云,然后使用pyqtgraph与人一起渲染点云。我希望有更好的东西可以让我轻松加载.obj文件。下面是我使用pyqtgraph得到的结果

enter image description here

Here is an example of the obj file

# Blender v2.76 (sub 0) OBJ File: 'table.blend'
# www.blender.org
mtllib table.mtl
o Cylinder
v -0.002757 0.049832 -0.744072
v -0.002757 0.049832 -0.024072
v 0.006997 0.048871 -0.744072
v 0.006997 0.048871 -0.024072
v 0.016377 0.046026 -0.744072
v 0.016377 0.046026 -0.024072
v 0.025021 0.041405 -0.744072
v 0.025021 0.041405 -0.024072
v 0.032598 0.035187 -0.744072
v 0.032598 0.035187 -0.024072
v 0.038816 0.027610 -0.744072
v 0.038816 0.027610 -0.024072
v 0.043437 0.018966 -0.744072
v 0.043437 0.018966 -0.024072
v 0.046282 0.009586 -0.744072
v 0.046282 0.009586 -0.024072
v 0.047243 -0.000168 -0.744072
v 0.047243 -0.000168 -0.024072
v 0.046282 -0.009923 -0.744072
v 0.046282 -0.009923 -0.024072
v 0.043437 -0.019302 -0.744072
v 0.043437 -0.019303 -0.024072
v 0.038816 -0.027947 -0.744072
v 0.038816 -0.027947 -0.024072
v 0.032598 -0.035524 -0.744072
v 0.032598 -0.035524 -0.024072
v 0.025021 -0.041742 -0.744072
v 0.025021 -0.041742 -0.024072
v 0.016377 -0.046362 -0.744072
v 0.016377 -0.046362 -0.024072
v 0.006997 -0.049208 -0.744072
v 0.006997 -0.049208 -0.024072
v -0.002757 -0.050168 -0.744072
v -0.002757 -0.050168 -0.024072
v -0.012512 -0.049208 -0.744072
v -0.012512 -0.049208 -0.024072
v -0.021891 -0.046362 -0.744072
v -0.021891 -0.046362 -0.024072
v -0.030536 -0.041742 -0.744072
v -0.030536 -0.041742 -0.024072
v -0.038113 -0.035524 -0.744072
v -0.038113 -0.035524 -0.024072
v -0.044331 -0.027947 -0.744072
v -0.044331 -0.027947 -0.024072
v -0.048951 -0.019302 -0.744072
v -0.048951 -0.019302 -0.024072
v -0.051796 -0.009923 -0.744072
v -0.051796 -0.009923 -0.024072
v -0.052757 -0.000168 -0.744072
v -0.052757 -0.000168 -0.024072
v -0.051796 0.009586 -0.744072
v -0.051796 0.009586 -0.024072
v -0.048951 0.018966 -0.744072
v -0.048951 0.018966 -0.024072
v -0.044331 0.027610 -0.744072
v -0.044331 0.027610 -0.024072
v -0.038112 0.035187 -0.744072
v -0.038112 0.035187 -0.024072
v -0.030536 0.041405 -0.744072
v -0.030536 0.041405 -0.024072
v -0.021891 0.046026 -0.744072
v -0.021891 0.046026 -0.024072
v -0.012512 0.048871 -0.744072
v -0.012512 0.048871 -0.024072
vn 0.098000 0.995200 0.000000
vn 0.290300 0.956900 0.000000
vn 0.471400 0.881900 0.000000
vn 0.634400 0.773000 0.000000
vn 0.773000 0.634400 0.000000
vn 0.881900 0.471400 0.000000
vn 0.956900 0.290300 0.000000
vn 0.995200 0.098000 0.000000
vn 0.995200 -0.098000 -0.000000
vn 0.956900 -0.290300 -0.000000
vn 0.881900 -0.471400 -0.000000
vn 0.773000 -0.634400 -0.000000
vn 0.634400 -0.773000 -0.000000
vn 0.471400 -0.881900 -0.000000
vn 0.290300 -0.956900 -0.000000
vn 0.098000 -0.995200 -0.000000
vn -0.098000 -0.995200 -0.000000
vn -0.290300 -0.956900 -0.000000
vn -0.471400 -0.881900 -0.000000
vn -0.634400 -0.773000 -0.000000
vn -0.773000 -0.634400 -0.000000
vn -0.881900 -0.471400 -0.000000
vn -0.956900 -0.290300 -0.000000
vn -0.995200 -0.098000 -0.000000
vn -0.995200 0.098000 0.000000
vn -0.956900 0.290300 0.000000
vn -0.881900 0.471400 0.000000
vn -0.773000 0.634400 0.000000
vn -0.634400 0.773000 0.000000
vn -0.471400 0.881900 0.000000
vn 0.000000 0.000000 1.000000
vn -0.098000 0.995200 0.000000
vn -0.290300 0.956900 0.000000
vn 0.000000 0.000000 -1.000000
usemtl None
s off
f 1//1 2//1 4//1 3//1
f 3//2 4//2 6//2 5//2
f 5//3 6//3 8//3 7//3
f 7//4 8//4 10//4 9//4
f 9//5 10//5 12//5 11//5
f 11//6 12//6 14//6 13//6
f 13//7 14//7 16//7 15//7
f 15//8 16//8 18//8 17//8
f 17//9 18//9 20//9 19//9
f 19//10 20//10 22//10 21//10
f 21//11 22//11 24//11 23//11
f 23//12 24//12 26//12 25//12
f 25//13 26//13 28//13 27//13
f 27//14 28//14 30//14 29//14
f 29//15 30//15 32//15 31//15
f 31//16 32//16 34//16 33//16
f 33//17 34//17 36//17 35//17
f 35//18 36//18 38//18 37//18
f 37//19 38//19 40//19 39//19
f 39//20 40//20 42//20 41//20
f 41//21 42//21 44//21 43//21
f 43//22 44//22 46//22 45//22
f 45//23 46//23 48//23 47//23
f 47//24 48//24 50//24 49//24
f 49//25 50//25 52//25 51//25
f 51//26 52//26 54//26 53//26
f 53//27 54//27 56//27 55//27
f 55//28 56//28 58//28 57//28
f 57//29 58//29 60//29 59//29
f 59//30 60//30 62//30 61//30
f 4//31 2//31 64//31 62//31 60//31 58//31 56//31 54//31 52//31 50//31 48//31 46//31 44//31 42//31 40//31 38//31 36//31 34//31 32//31 30//31 28//31 26//31 24//31 22//31 20//31 18//31 16//31 14//31 12//31 10//31 8//31 6//31
f 63//32 64//32 2//32 1//32
f 61//33 62//33 64//33 63//33
f 1//34 3//34 5//34 7//34 9//34 11//34 13//34 15//34 17//34 19//34 21//34 23//34 25//34 27//34 29//34 31//34 33//34 35//34 37//34 39//34 41//34 43//34 45//34 47//34 49//34 51//34 53//34 55//34 57//34 59//34 61//34 63//34
o Cube
v 0.400000 0.400000 -0.038513
v 0.400000 -0.400000 -0.038513
v -0.400000 -0.400000 -0.038513
v -0.400000 0.400000 -0.038513
v 0.400000 0.400000 0.011487
v 0.400000 -0.400000 0.011487
v -0.400000 -0.400000 0.011487
v -0.400000 0.400000 0.011487
vn -0.000000 0.000000 -1.000000
vn -0.000000 -0.000000 1.000000
vn 1.000000 -0.000000 0.000000
vn -0.000000 -1.000000 -0.000000
vn -1.000000 0.000000 -0.000000
vn 0.000000 1.000000 0.000000
usemtl Material
s off
f 65//35 66//35 67//35 68//35
f 69//36 72//36 71//36 70//36
f 65//37 69//37 70//37 66//37
f 66//38 70//38 71//38 67//38
f 67//39 71//39 72//39 68//39
f 69//40 65//40 68//40 72//40

Tags: 文件对象方法obj图形环境粘贴可视化