有誰知道我可以如何開始在java中繪製極座標圖並在此圖上繪製一些點?我的意思是圓圈和線條,我希望用swing之類的東西來做,而不是像Jfreechart那樣使用任何類庫。 謝謝在java中繪製極座標圖
0
A
回答
4
您可能會喜歡看Lissajous curves;下面顯示了a = 5, b = 4 (5:4)
的示例。
附錄:一旦您看到如何繪製座標xy中的點,那麼您應該看看converting between polar and Cartesian coordinates。
public class LissajousPanel extends JPanel {
private static final int SIZE = 400;
private GeneralPath path = new GeneralPath();
@Override
public Dimension getPreferredSize() {
return new Dimension(SIZE, SIZE);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
double dt = Math.PI/180;
int w = getWidth()/2;
int h = getHeight()/2;
path.reset();
path.moveTo(w, h);
for (double t = 0; t < 2 * Math.PI; t += dt) {
double x = w * Math.sin(5 * t) + w;
double y = h * Math.sin(4 * t) + h;
path.lineTo(x, y);
}
g2d.setColor(Color.blue);
g2d.draw(path);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new LissajousPanel());
f.pack();
f.setVisible(true);
}
});
}
}
3
Java2D是官方JDK的一部分,完美地滿足您的需求。你可以在這裏找到java doc:Java2d
-1
你會想用Java2D來繪製符合你需要的圓/多邊形。在您想要繪製的控件的public void paint(Graphics g)
方法中,可以繪製到Graphics對象。各種事情可能會有所幫助的一些例子:
//Draw a polygon
public void paint(Graphics g)
{
int xVals[] = {25, 145, 25, 145, 25};
int yVals[] = {25, 25, 145, 145, 25};
g.drawPolygon(xVals, yVals, xVals.length);
}
//Draw an ellipse/circle
public void paint(Graphics g)
{
int xPos = 50;
int yPos = 50;
int xWidth = 100;
int yWidth = 100;
g.drawOval(xPos, yPos, xWidth, yWidth);
}
請記住,像drawOval,drawRect中,等電話的位置是形狀,而不是形狀的中心的左上角。如果您希望橢圓的中心位置爲50,寬度爲100,則需要將xPos
和yPos
設置爲0.
相關問題
- 1. 在MATLAB中繪製極座標圖像
- 2. 要在列1中按順序繪製極座標圖?
- 3. 在matplotlib中繪製一些極座標圖的值
- 4. Highcharts極座標圖定製
- 5. 用極座標繪製正方形
- 6. 使用matplotlib繪製極座標
- 7. gnuplot中的極座標圖將ytics放在繪圖的中心
- 8. 在翻轉的Java座標中繪製
- 9. Java /圖形:繪製三維座標?
- 10. 如何在Python中繪製極座標中的誤差線?
- 11. Python極座標圖
- 12. 如何在極座標系統中繪製u(x,y),MATLAB?
- 13. 如何在C中使用極座標繪製曲面#
- 14. 對數極座標(或對數極座標)VS極座標
- 15. 繪製圖像座標
- 16. 座標繪製大廳圖
- 17. 極座標位圖圖像
- 18. 是否可以在matplotlib的極座標圖中繪製多邊形貼片?
- 19. 繪製MATLAB中的複雜函數(極座標)?
- 20. 極座標圖:顯示
- 21. 微調pcolor()極座標圖
- 22. Matplotlib插入極座標圖
- 23. GGPLOT2極座標圖箭頭
- 24. ggplot2 v2.21.9 sec.axis極座標圖
- 25. 缺少值 - 極座標圖
- 26. Android極座標圖形
- 27. 在地圖上繪製GPS座標
- 28. 單獨在ggplot的極座標圖中縮放座標軸?
- 29. ggplot2:在極座標圖中缺少座標值
- 30. pcolormesh極座標
-1,永不覆蓋組件的'漆(...)'方法(除非你絕對必須的)。相反,重寫組件的'paintComponent(...)'方法。 – mre