[英]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.