簡體   English   中英

在Java中繪制小數點

[英]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.DoublePoint2D.Float 有關更多詳細信息,請參見http://java.sun.com/docs/books/tutorial/2d/geometry/primitives.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM