用图形(java.awt.Graphics)填充三个点(java.awt.Point)之间的区域

用图形(java.awt.Graphics)填充三个点(java.awt.Point)之间的区域,java,graphics,awt,java-2d,Java,Graphics,Awt,Java 2d,我的代码中有三个点,我想填充它们之间的区域,或者换句话说,在三个点之间绘制并填充一个三角形 我曾考虑过简单地用for循环(从x1到x2)绘制直线,但我认为这样做效率不高,还有其他更有效的方法吗?我将绘制一个包含三个点的多边形: 我会画一个有三个点的多边形: 我会画一个有三个点的多边形: 我会画一个有三个点的多边形: 您可以使用缓冲图像,一次绘制一个像素。BuffereImage比使用gui对象的paintcomponent快得多。在BuffereImage中使用WriteableRaster,然

我的代码中有三个点,我想填充它们之间的区域,或者换句话说,在三个点之间绘制并填充一个三角形


我曾考虑过简单地用for循环(从x1到x2)绘制直线,但我认为这样做效率不高,还有其他更有效的方法吗?

我将绘制一个包含三个点的多边形:


我会画一个有三个点的多边形:


我会画一个有三个点的多边形:


我会画一个有三个点的多边形:


您可以使用缓冲图像,一次绘制一个像素。BuffereImage比使用gui对象的paintcomponent快得多。在BuffereImage中使用WriteableRaster,然后一次循环一个像素,标记三角形内的像素

您的算法类似于:

equation for line 1
equation for line 2
equation for line 3
then for each point as you loop through writeableraster:  
    check if x and y are each between the three lines

或者,您可以尝试哪种方法更适合绘制。

您可以使用缓冲图像,一次绘制一个像素。BuffereImage比使用gui对象的paintcomponent快得多。在BuffereImage中使用WriteableRaster,然后一次循环一个像素,标记三角形内的像素

您的算法类似于:

equation for line 1
equation for line 2
equation for line 3
then for each point as you loop through writeableraster:  
    check if x and y are each between the three lines

或者,您可以尝试哪种方法更适合绘制。

您可以使用缓冲图像,一次绘制一个像素。BuffereImage比使用gui对象的paintcomponent快得多。在BuffereImage中使用WriteableRaster,然后一次循环一个像素,标记三角形内的像素

您的算法类似于:

equation for line 1
equation for line 2
equation for line 3
then for each point as you loop through writeableraster:  
    check if x and y are each between the three lines

或者,您可以尝试哪种方法更适合绘制。

您可以使用缓冲图像,一次绘制一个像素。BuffereImage比使用gui对象的paintcomponent快得多。在BuffereImage中使用WriteableRaster,然后一次循环一个像素,标记三角形内的像素

您的算法类似于:

equation for line 1
equation for line 2
equation for line 3
then for each point as you loop through writeableraster:  
    check if x and y are each between the three lines
或者,你可以试试哪一种更像绘画的方法。

“提前谢谢你,米奇·穆宁。”这相当于两行噪音。请以后不要再说了。“提前谢谢你,米奇·穆宁。”这相当于两行噪音。请以后不要再说了。“提前谢谢你,米奇·穆宁。”这相当于两行噪音。请以后不要再说了。“提前谢谢你,米奇·穆宁。”这相当于两行噪音。以后请把它删掉。