Java 2D着色/填充

Java 2D着色/填充,java,algorithm,graphics,java-2d,Java,Algorithm,Graphics,Java 2d,我已经从贝塞尔曲线(下面的屏幕截图)创建了一个“斑点”,现在我想用伪3D的方式对其进行着色,所有“左”边上的着色都较深,所有“右”边上的着色都较浅,表面上可能有纯白色的“光点”。例如:我对如何实现中使用的着色感兴趣 有谁能推荐一个实现这一目标的好方法吗?我猜标准Graphics2D.fill和setPaint方法可能不够复杂 另外,有人能推荐一些好的资源(最好是免费/在线)来学习更多关于这方面的知识吗 编辑 一些附加信息:为了实现下面的平填充效果,我创建一个区域对象,并用“添加(新区域(椭圆

我已经从贝塞尔曲线(下面的屏幕截图)创建了一个“斑点”,现在我想用伪3D的方式对其进行着色,所有“左”边上的着色都较深,所有“右”边上的着色都较浅,表面上可能有纯白色的“光点”。例如:我对如何实现中使用的着色感兴趣

  • 有谁能推荐一个实现这一目标的好方法吗?我猜标准Graphics2D.fill和setPaint方法可能不够复杂
  • 另外,有人能推荐一些好的资源(最好是免费/在线)来学习更多关于这方面的知识吗
编辑

一些附加信息:为了实现下面的平填充效果,我创建一个<代码>区域对象,并用“<代码>添加(新区域(椭圆))< /代码>添加个人<代码>椭圆> 2/代码>代码>形状/代码> s,然后添加中心多边形区域,以避免在中间留下空白。


IPhone应用程序可以访问该应用程序,在着色和渲染基本上是一个带有发射光的彩色iso表面时,可以有很大的自由度。Java2d肯定不够复杂,除非您愿意为它编写一个完整的软件3d库


混合2d和3d也很有用。

我在这方面使用了一个自定义的方法来获得伪3d效果。我相信Java 6提供了更通用的版本。

谢谢您的建议。我对图形还是相当陌生,所以目前可能会避开3D图形/OpenGL。也许我可以通过定义一个将着色应用于水滴边缘的笔划来作弊。不知道我是否可以根据当前路径的方向改变阴影颜色。谢谢。看起来Java 6的RadialGradientPaint仅以圆形方式着色,但也许我可以使用此代码作为起点来实现我自己的着色。我在想,您可以着色每个椭圆的最大内接圆,使用alpha来“羽化”边。