java如何实现填充算法 java算法大全

作者:紫吟 时间:2024-10-18 18:13 阅读数:13746

import javax.swing.JFrame;

public class EdgeFill {

public static void main(String args[]) {

// A(3,3)B(6,20)C(15,18)D(20,3)

// AB BD AC CD

new EdgeFill();

}

private TwoDimen env;

public EdgeFill() {

JFrame frame = new JFrame();

env = new TwoDimen();

frame.getContentPane().add(env);

frame.setBounds(100, 100, 600, 600);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setResizable(false);

frame.setVisible(true);

int[] x = new int[] { 3, 6, 20, 15 };

int[] y = new int[] { 3, 20, 3, 18 };

for (int i = 0; i < x.length; i++) {

if (i < x.length - 1)

edgeFillOnce(x[i], y[i], x[i + 1], y[i + 1]);

else

edgeFillOnce(x[i], y[i], x[0], y[0]);

}

}

private void edgeFillOnce(int x1, int y1, int x2, int y2) {

int k, i, j;

float x, y, dx, dy;

k = Math.abs(x2 - x1);

if (Math.abs(y2 - y1) > k) {

k = Math.abs(y2 - y1);

}

dx = (float) (x2 - x1) / k;

dy = (float) (y2 - y1) / k;

x = (float) x1;

y = (float) y1;

for (i = 0; i < k+1; i++) {

// env.drawPoint((int)(x+0.5), (int)(y+0.5));

for (j = (int)

java如何实现填充算法

点赞支持 (1375)

须知

知途百科所有的摄影作品、视频教程、文章内容及教程截图均属于本站原创,版权为本站所有。
知途百科旨在督促自己学习总结经验,分享知识,提供的软件、插件等相关资源仅供学习交流之用。
知途百科分享的部分内容来源于网络,旨在分享交流学习,版权为原作者所有。
知途百科提供的资源仅供日常使用和研究,不得用于任何商业用途。如发现本站软件素材侵犯了您的权益,请附上版权证明联系站长删除,谢谢!
根据二oo二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!鉴此,也望大家转载请注明来源! 下载本站资源或软件试用后请24小时内删除,因下载本站资源或软件造成的损失,由使用者本人承担! 本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请邮件通知我们,我们会及时删除。

转载请注明出处>>java如何实现填充算法 java算法大全