Java中的椭圆内循环

Java中的椭圆内循环,java,Java,我需要用Java检查椭圆形内的每个像素。 对于绘图,我目前正在使用: drawOval(x,y,r*2,R*2). 然而,由于我需要得到椭圆内的每个像素,我想创建一个循环,在其中迭代(假设我有x、y、r和r)。是否有用于此目的的内置功能 谢谢 Joel椭圆is的简单正则隐式方程(中心为0;0) 所以你可以迭代抛出所有可能的坐标,并用这个方程检查它。椭圆is的简单正则隐式方程(中心为0;0) 所以你可以迭代抛出所有可能的坐标,然后用这个方程检查它。我认为没有任何内置的功能 让我们一步一步地看

我需要用Java检查椭圆形内的每个像素。 对于绘图,我目前正在使用:

drawOval(x,y,r*2,R*2).
然而,由于我需要得到椭圆内的每个像素,我想创建一个循环,在其中迭代(假设我有x、y、r和r)。是否有用于此目的的内置功能

谢谢


Joel

椭圆is的简单正则隐式方程(中心为0;0)


所以你可以迭代抛出所有可能的坐标,并用这个方程检查它。

椭圆is的简单正则隐式方程(中心为0;0)


所以你可以迭代抛出所有可能的坐标,然后用这个方程检查它。

我认为没有任何内置的功能

让我们一步一步地看一遍

假设椭圆的中心位于
(0,0)
,一个半径为
a
,另一个半径为
b
,则正则方程为

x^2/a^2+y^2/b^2=1
将两边乘以
a^2
b^2
,得到

x^2*b^2+y^2*a^2=a^2*b^2
现在,您必须执行双for循环<代码>a和
b
必须为正。伪代码:

for x = -a; x <= a; ++x:
   for y = -b; y <= b; ++y:
      if(x^2*b^2+y^2*a^2 <= a^2*b^2)
         // you're in your ellipse, do as you please

表示x=-a;x我认为这没有任何内置功能

让我们一步一步地看一遍

假设椭圆的中心位于
(0,0)
,一个半径为
a
,另一个半径为
b
,则正则方程为

x^2/a^2+y^2/b^2=1
将两边乘以
a^2
b^2
,得到

x^2*b^2+y^2*a^2=a^2*b^2
现在,您必须执行双for循环<代码>a
b
必须为正。伪代码:

for x = -a; x <= a; ++x:
   for y = -b; y <= b; ++y:
      if(x^2*b^2+y^2*a^2 <= a^2*b^2)
         // you're in your ellipse, do as you please
表示x=-a;Java实现了该接口,因此您可以根据需要使用后者的
contains()
方法之一。还可以将渲染为并遍历其
可写光栅

Java实现该接口,因此可以根据需要使用后者的
contains()
方法之一。还可以将渲染为并遍历其
可写光栅