Javascript 如何为任意多边形生成阴影?

Javascript 如何为任意多边形生成阴影?,javascript,svg,geometry,Javascript,Svg,Geometry,我有一个组成多边形的点列表。我想知道是否有一种简单的方法可以在2d中为这个多边形生成阴影,假设只有一个非常远的灯光。我尝试了许多方法,甚至尝试编写自己的算法,但成功有限。 我希望达到与此图像类似的效果: 或者换句话说,类似于SVG中的女性形态过滤器。这不回答您的问题吗?它不会用于web或SVG,而是用于我正在制作的一个简单的2d游戏引擎。出于性能原因,我需要预先计算这些阴影。SVG过滤器的算法在SVG规范中。Google“webgl javascript库”已经编写了许多javascript 3

我有一个组成多边形的点列表。我想知道是否有一种简单的方法可以在2d中为这个多边形生成阴影,假设只有一个非常远的灯光。我尝试了许多方法,甚至尝试编写自己的算法,但成功有限。 我希望达到与此图像类似的效果:
或者换句话说,类似于SVG中的女性形态过滤器。

这不回答您的问题吗?它不会用于web或SVG,而是用于我正在制作的一个简单的2d游戏引擎。出于性能原因,我需要预先计算这些阴影。SVG过滤器的算法在SVG规范中。Google“webgl javascript库”已经编写了许多javascript 3d和2d库。您的示例不是普通的投影,而是3d拉伸。过滤器或女性形态学对你没有帮助,你必须做一些艰苦的数学。