2014年08月15日 星期五 17:03
matplotlib不是真正的三维绘图库,这种效果很难做。感觉VPython要容易一点
2014年08月15日 星期五 17:23
谢谢回复,也试过VPython,不过,对VPython没怎么接触过,箭头效果仅仅能做成这样
不知道可否改成像示意图那样的扁平的箭头?
2014年08月15日 星期五 18:32
用extrusion做:
http://vpython.org/contents/docs/extrusion.html
2014年08月15日 星期五 20:06
extrusion如何控制透明度和厚度呢?修改了参数貌似没办法改变厚度,能否给一个箭头的例子,谢谢!
2014年08月15日 星期五 21:54
from visual import *
W = 1.0
L = 3.0
AL = 1.0
AW = 2.0
T = 0.3
ex = extrusion(
pos=[(0, 0, 0), (0, 0, T)],
shape=Polygon([
(0, -W*0.5), (0, W*0.5), (L, W*0.5), (L, AW*0.5),
(L+AL, 0), (L, -AW*0.5), (L, -W*0.5), (0, -W*0.5)
]))
2014年08月15日 星期五 22:12
透明度好像有些麻烦:
from visual import *
W = 1.0
L = 3.0
AL = 1.0
AW = 2.0
T = 0.3
box(color=(1, 0, 0), pos=(0, 0, -2))
box(color=(0, 1, 0), pos=(0, 0, 2))
tex = materials.texture(data=[[(1, 1, 0, 0.6)]],
mapping="rectangular",
interpolate=False)
ex = extrusion(
material = tex,
pos=[(0, 0, 0), (0, 0, T)],
shape=Polygon([
(0, -W*0.5), (0, W*0.5), (L, W*0.5), (L, AW*0.5),
(L+AL, 0), (L, -AW*0.5), (L, -W*0.5), (0, -W*0.5)
]))
face = ex.create_faces()
#face.make_twosided()
2014年08月18日 星期一 15:16
多谢若愚老师的帮忙,这是制作出来的效果图
不过锯齿现象明显,不知是否有办法解决
2014年08月22日 星期五 19:24
你的显卡没有去锯齿的功能吗?
Zeuux © 2025
京ICP备05028076号