[b]我们常常迷恋于梵高,塞尚,毕加索的作品,不管是超现实主义还是抽象主义,都给与我们以心灵的震撼与感慰。也曾简单的学过素描,不过本人天生对绘画完全免疫,把香蕉画成茄子的事情常有,现在接触到了编程,发现原来一些我们认为死板地公式也会绘制出美丽的图片[/b] :P :P

话不多说,我们先构造一个SampleDraw类的一个实例:
public class SampleDraw {

public static void main(String[] args){
SampleDraw sd = new SampleDraw();//构造对象
sd.showUI(); //调用绘制函数
}
Good!很明显,大家看到了showUI()这个方法,接下来我们就是在这个方法里来实现我们的“大作” :D :D

//实现我们的抽象画的方法
public void showUI(){

//当然,我们首先要先搞块画布
javax.swing.JFrame jf = new javax.swing.JFrame();
jf.getContentPane().setBackground(Color.white);
jf.setTitle("抽象画");
jf.setSize(680, 650);//
jf.setBackground(new Color(250,0,250));
jf.setDefaultCloseOperation(3);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jf.setVisible(true);

/*下面是我们画出我们的作品的公式,这里我找到了3个挺不错的公式,配上不同的初值,可以画出不同的美丽图片,大家可以多试下,很有成就感哦 :oops:
当然,我们平时如果见到比较好的公式,都可以试一下 :lol: */

//初始化x,y
double x = 0, y = 0;
//给公式中的常量赋值,改变常量值可以改变得到的效果图
//double a = -1.7, b = -2.41, c = -1.02, d = -1.11;
double a = 1.7, b = 2.3, c = 2, d = 1.2;
//double a = 2.3, b = -1, c = 1.9, d = 1.1;
//double a = -2.61, b = -3.12, c = -1.9, d = -1.8;
//double a = -2, b = -2, c = -1.2, d = 2;
//double a = 1.40, b = 1.56, c = 1.40, d = -6.56;

//使用循环计算出每次迭代的坐标,并通过画线函数完成绘制
for(int i = 0; i < 100000; i++){

//公式1
x = d * Math.sin(a * x) - Math.sin(b * y);
y = c * Math.cos(a * x) - Math.cos(b * y);

int m = (int) ((d * Math.sin(a * x) - Math.sin(b * y)) *100 +330);
int n = (int) ((c * Math.cos(a * x) - Math.cos(b * y)) *100 +330);
//公式2
//x = d * Math.sin(a * x) - Math.sin(b * y);
//y = c * Math.cos(a * x) + Math.cos(b * y);
//int m = (int) (d * Math.sin(a * x) - Math.sin(b * y) * 100 + 550);
//int n = (int) (c * Math.cos(a * x) + Math.cos(b * y) * 100 + 550);
//公式3
// x = d * Math.sin(a * y) - c * Math.cos(b * x);
// y = a * Math.sin(c * x) - b * Math.cos(d * y);
//
// int m = (int) ((Math.sin(a * y) - Math.cos(b * x) * 80 + 330));
// int n = (int) ((Math.sin(c * x) - Math.cos(d * y) * 80 + 330));

//给每个点上颜色
Graphics g = jf.getGraphics();//配置颜色
Color col = new Color(i%255, 0, i%255);//设定这次要花的颜色
g.setColor(col);
//g.setColor(new Color(0, 0, 0));
//画出这个点
g.drawLine(m, n, m, n);
}
}

试着运行一下,画面太美不忍看 :D :D
大家赶快也动手试一下吧~

Java抽象画--秒变绘图大师相关推荐

  1. 《天空之音VR》即将发售,挥手击中音符就能秒变“节奏大师”

    在飞行过程中触碰音符,挥动手臂进行击打,体验音符世界的奇妙. 你玩过一款叫做<节奏大师>的音乐游戏吗?如果你对这个游戏念念不忘,那么一定会爱上即将发售的VR音游<天空之音VR(Air ...

  2. pythonturtle艺术字_让你的电脑秒变绘画大师的几行代码(Pythonturtle)

    今天很兴奋,只用了一小段Python turtle代码(附在文末)就把电脑变成了绘画大师,太神奇了. 仿佛有种悟道的感觉,哈哈.编程之美就是一种简单重复的哲学. 其实纵观计算机程序的本质,也不过是0与 ...

  3. java ppt 绘图,PPT图片别再直接插入,这样处理一下,让你的PPT秒变高逼格

    我们平时在做PPT的时候,相信很多人在添加图片时,都是直接插入进来的. 这样做虽然简单快捷,但没有一点技术含量,那么如何才能让PPT变得高大上呢? 今天就来教你简单处理一下,让你的PPT秒变高逼格. ...

  4. 输入关键字生成对联_教你一秒变大师,亲手提笔写对联

    会写对联,是一件很有意思的事. 以前春节求对联,是考验人际关系的时候. 十里八乡谁字写的好,到了春节前,他家肯定纸满为患,全是亲朋好友送来要写对联的. 到了现在,工厂里.小区里,到了春节也会组织人摆摊 ...

  5. java 变声_“秒变萝莉音”,游戏中的变声是如何实现的?

    原标题:"秒变萝莉音",游戏中的变声是如何实现的? 本文作者 作者:soso密斯密斯 1 前言 这边先穿插一下变声相关的知识 ,这一章主要讲音频的处理. 大家应该也接触过这类应用, ...

  6. 学tlc和JAVA,硬派学堂 | TLC SSD秒变SLC?!这事儿靠谱吗

    原标题:硬派学堂 | TLC SSD秒变SLC?!这事儿靠谱吗 SLC.MLC.TLC.QLC.PLC--NAND闪存一路发展下来,存储密度和容量越来越大,但是性能.可靠性.寿命却是越来越差,为了保证 ...

  7. 三星宣布 Linux on DeX:手机秒变 Ubuntu 桌面环境

    昨日,三星公布了一个新项目 -- Linux on DeX.官网对它的描述是,Linux on DeX 可让你随时随地享受 Linux 环境. 简单来说,通过该应用三星手机可以启动 Linux 容器, ...

  8. 手机进程设置多少个最好_安卓手机难逃卡顿宿命?打开4个系统设置,秒变新机般流畅...

    近两年安卓手机的进步无疑的巨大的,不论是界面美观性.系统流畅度,还是功能的丰富性都有很大的进步,但是针对安卓的旧设备,用了两三年依旧开始变得卡顿,难道安卓手机真的难逃卡顿的宿命吗? 虽然不能解决,但是 ...

  9. Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技

    本文是钢哥的Oracle APEX系列文章中的第一篇,完整 Oracle APEX 系列文章如下:  - Oracle APEX 系列文章1:Oracle APEX, 让你秒变全栈开发的黑科技  - ...

最新文章

  1. Java 优先级的问题
  2. HandlerThread原理与应用
  3. 如何优雅的处理业务逻辑中的定时和延时问题?
  4. redhat5.8 alt+ctrl+f1 黑屏
  5. 通用职责分配软件原则之3-低耦合原则
  6. 如何从JavaScript中的对象数组中获得不同的值?
  7. UltraEdit 所有快捷键 说明
  8. Django Navi 重用
  9. 常用的密码破解方法大汇总
  10. 如何检测判断硅钢片性能牌号?
  11. ffmpeg过滤器系列:序章,什么是ffmpeg过滤器?ffmpeg过滤器可以用来做什么
  12. Openbravo如何新建一个调用
  13. 快递面单成信息泄露重灾区,隐私面单成“必选项”
  14. jbox弹窗_Jquery多功能提示通知弹出对话框插件jBox中文文档
  15. 浅谈String的堆内存和栈内存
  16. 乐高机器人亮剑_羊城e家互联网同道精英汇 多益网络诚邀更多游戏奋斗者加入...
  17. 字节跳动一面c++视频面试(第二个部门,效率工程部门)(一面通过)
  18. python数据分析实战基础_Python数据分析实战基础(二):清洗常用4板斧
  19. 还在为创业资金发愁?1000万元+产业资源等你来拿!
  20. 22吉大计算机学硕考研389分经验分享

热门文章

  1. 西门子PLC中DB与DI有什么区别
  2. 学C的第一天(初识C语言、VS创建C语言程序、数据类型简单了解、简单了解变量)
  3. 三维旋转矩阵 左乘和右乘分析
  4. 在线文章生成-自动文章生成
  5. 2017年深圳初中终极排名(四大、八大、十大、公办率)
  6. Node安装教程及环境配置
  7. Android DoraemonKit 教程和简介
  8. 小程序源码图片列表,图片下载
  9. 终于拿到了阿里2023年度九大Java技术文档——面试题+文档+白皮书
  10. 马化腾:非常看重小程序,小游戏将会是微信互联网的焦点?