有谁知道我可以如何开始在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