因此,在HTML5中,我理解SVG与画布的不同之处,因为SVG是声明性的,而画布是必需的。我突然意识到,一种更好的声明性技术可以用来定义形状,然后声明一个视图,让浏览器显示隐藏的表面来删除。
在谷歌上搜索了一些东西之后,我没有找到多少,有这样的链接
https://css-tricks.com/almanac/properties/b/backface-visibility/
但这没有多大帮助。
是否有一个javascript库在一个新的扩展标准酿造中进行隐藏的表面去除?
因此,作为一个示例用例,我希望将多维数据集定义为12条边,在曲面上声明这种不透明度(以便不对其进行线框),并让浏览器图形不显示“后”曲面。
发布于 2016-12-13 11:48:56
有两个解决方案,当你想要渲染3d。首先是从后到前渲染每个三角形/四角。
这通常可以通过求顶点位置的平均值来计算形状的中间,然后根据z坐标对三角形进行排序。
排序之后,您将它们按顺序呈现。
另一个解决方案基本上就是你要找的东西。你需要在两个边向量上使用交叉积来计算法向量。在绘制立方体时,需要在三角形的法线和摄像机的方向向量上使用点积,如果这个值小于或等于0(两个矢量之间的角度大于90°),则不要绘制三角形。
https://stackoverflow.com/questions/41120174
复制相似问题