0

我使用此命令绘制网格

trimesh(F, X, Y, Z,...
'EdgeColor','k','FaceColor','flat','FaceVertexCData',c, ...
'CDataMapping','scaled','FaceLighting','flat','BackFaceLighting','lit');
camlight;

当我这样做时,大多数面孔都按预期点亮,但有些似乎没有点亮;即,当我将视图旋转到其他角度并更改灯光位置(因为它取决于相机)时,我仍然看不到它们被点亮。

在我看来,这似乎是法线的一个经典问题(即我的法线方向相反),尽管我认为在调用trimesh参数'BackFaceLighting','lit'时要注意这一点。

有任何想法吗?

4

1 回答 1

0

尝试opengl使用以下命令将渲染器设置为:

set(gcf,'Renderer','opengl');

它通常比标准渲染器更好地处理 3D。

于 2012-09-21T23:43:39.013 回答