Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Acm(java)中的坐标系_Java_Acm Java Libraries - Fatal编程技术网

更改Acm(java)中的坐标系

更改Acm(java)中的坐标系,java,acm-java-libraries,Java,Acm Java Libraries,我试图创建一个圆心为坐标(0,0)的圆,但无法将原点从左上角移到圆心。我有什么办法可以做到这一点吗 这张图片显示了左上角的原点,但我希望它在中间 public class circle extends GraphicsProgram{ public int size =200; @Override public void run(){ setSize(300, 300); GOval circle =

我试图创建一个圆心为坐标(0,0)的圆,但无法将原点从左上角移到圆心。我有什么办法可以做到这一点吗

这张图片显示了左上角的原点,但我希望它在中间

public class circle extends GraphicsProgram{
    
    public int size =200;
  
    
    
    @Override
    public void run(){
        setSize(300, 300);

        GOval circle = new GOval(0,0,size*2,size*2);
      
        add(circle);
    }
}

没有可以使用ACM库进行的特定函数调用会更改坐标系。相反,您可以计算出数学,以确定对象应放置在何处,从而使其在屏幕中居中

我们可以将窗口想象成一个矩形,其左上角位于(0,0),右下角位于(
getWidth()
getHeight()
)。如果要将尺寸为W×H的长方体居中,图片如下所示:

(0, 0)    getWidth()/2      getWidth()/2
      *-----------------+-----------------+
      |                 |                 |
      | (x, y)    W/2   |   W/2           |
      |      *----------+----------+      | getHeight() / 2
      |      |          |          | H/2  |
      +------+----------+----------+------+
      |      |          |          | H/2  |
      |      +----------+----------+      |  getHeight() / 2
      |                 |                 |
      |                 |                 |
      +-----------------+-----------------*
                                          (getWidth(), getHeight())
根据这张图,你能从数学上算出
x
y
是什么吗?然后可以将这些坐标作为前两个参数输入到
GOval
构造函数中


有关ACM图形数学的更多练习,请查看和。

对于ACM库,没有可以更改坐标系的特定函数调用。相反,您可以计算出数学,以确定对象应放置在何处,从而使其在屏幕中居中

我们可以将窗口想象成一个矩形,其左上角位于(0,0),右下角位于(
getWidth()
getHeight()
)。如果要将尺寸为W×H的长方体居中,图片如下所示:

(0, 0)    getWidth()/2      getWidth()/2
      *-----------------+-----------------+
      |                 |                 |
      | (x, y)    W/2   |   W/2           |
      |      *----------+----------+      | getHeight() / 2
      |      |          |          | H/2  |
      +------+----------+----------+------+
      |      |          |          | H/2  |
      |      +----------+----------+      |  getHeight() / 2
      |                 |                 |
      |                 |                 |
      +-----------------+-----------------*
                                          (getWidth(), getHeight())
根据这张图,你能从数学上算出
x
y
是什么吗?然后可以将这些坐标作为前两个参数输入到
GOval
构造函数中

有关ACM图形数学的更多练习,请查看和