4

我已经从贝塞尔曲线(下面的屏幕截图)创建了一个“斑点”,现在想以一种看起来像伪 3D 的方式对其进行着色,所有“左”边缘的阴影较暗,所有“右”边缘的阴影较浅,或许还有表面本身的纯白色“光点”。例如:我对如何实现此视频中使用的阴影感兴趣。

  • 谁能推荐一个实现这一目标的好方法?我猜标准 Graphics2D.fill 和 setPaint 方法可能不够复杂。
  • 另外,任何人都可以推荐一些好的资源(最好是免费/在线)来了解更多信息吗?

编辑

一些附加信息:为了实现下面的平面填充效果,我正在创建一个Area对象,并使用将单个Ellipse2D Shapes 添加到它add(new Area(ellipse)),然后最后添加中心多边形区域以避免在中间留下空白区域。

替代文字 http://www.freeimagehosting.net/uploads/bc8081cbf2.png

4

2 回答 2

1

iPhone 应用程序可以访问OpenGL-ES,它允许在着色和渲染基本上是具有发光照明的彩色等值面时有很大的自由度。Java2d 肯定不够复杂,除非您愿意为它编写一个完整的软件 3d 库。

混合 2d 和 3d 也是可能的

于 2010-01-20T11:53:03.847 回答
1

我在这个运动模型中使用了自定义 RadialGradientPaint获得伪 3D 效果。我相信Java 6 中有更通用的实现。

于 2010-01-20T18:28:58.363 回答