[英]Plotting a Decimal valued Points in Java
我正在用Java创建图形绘图软件。 作为方程式的一部分,如果方程式为y = Sin(x)* Cos(x)
那么在这种情况下,y的值是一个十进制的点。 但是在Java中,我们只能绘制整数点。 有没有办法使用任何软件包以十进制格式绘制点?
可以使用的另一种策略是将十进制值转换为相应的整数值。 但是那个算法不会给我平滑的曲线...
提前感谢...
如果您使用Graphics类来绘制图片,请使用XXXX2D类而不是带有Graphics2D的XXXX类。 例如:
Graphics2D g=(Graphics2D)g1;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.draw(new Line2D.Double(1.000,1.22,78.98098,3.098));
(...)
我假设绘图的整数x,y是像素应到达的像素。
如果无法通过缩放值获得漂亮的曲线,则可能应该考虑在内存中创建更大的图像(可能是y缩放的两倍)并在其上进行绘制,然后使用getScaledInstance SampleModel将图像缩放回GUI 。 getScaledInstance与提示您的缓冲图像上SCALE_SMOOTH 。
尽管皮埃尔所说的可能更好。
可以在非整数位置绘制点。 您可以使用Point2D.Double或Point2D.Float 。 有关更多详细信息,请参见http://java.sun.com/docs/books/tutorial/2d/geometry/primitives.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.