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