我是个新手,对java理解还不深入,看了些java方面的基础视频,自己尝试着把中国的古老的太极图给画出来,经过一些思考和动手,终于把太极图给绘画出来。

记得以前某位高手也画过类似的太极图,不过当时自己才疏学浅,实在看不懂,也没心思看。这次我要自己独立地把太极图给画出来,

个人编程习惯,开始画的草图:

欣赏:从这幅双鱼太极图就可以看出中国的古老文化的博大精深,简单的几笔,黑与白的交会,却勾勒出了如此美妙的图案。

结构剖析:整体结构比较简单,共可分为5个圆,其中有两个圆是半圆,由黑白两种颜色组成。

遇到的困难:如何把黑鱼的的黑色部分画出?

我的思路:先把黑鱼的黑色部分的所有点,通过圆的方程,在圆内还是在圆外,if语句进行判断,如果符合要求,即可。

最后整体效果图:

附java代码:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class TaiJi extends JFrame {

/**

* @param args

*/

MyJPanel mp=null;

public static void main(String[] args) {

// TODO Auto-generated method stub

TaiJi taiji=new TaiJi();

}

public TaiJi()

{

mp=new MyJPanel();

this.add(mp);

this.setSize(500,500);

this.setLocation(400, 200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

class MyJPanel extends JPanel

{

//黑鱼身的点的坐标

int x,y;

public MyJPanel()

{

}

/**

* 画出黑鱼的黑色部分

* 得到鱼身的点的坐标范围

* 并画出所有点

* @param g

*/

public void drawBlack(Graphics g)

{

for(int x=150;x<300;x++)

{

for(int y=0;y<300;y++)

{

if(x>=150)

{

if((x-150)*(x-150)+(y-150)*(y-150)<=150*150)

{

if((x-150)*(x-150)+(y-75)*(y-75)>=25*25)

{

if((x-150)*(x-150)+(y-225)*(y-225)>=75*75)

{

g.drawOval(x, y, 1, 1);

}

}

}

}

}

}

}

/**

* 作画

*/

public void paint(Graphics g)

{

super.paint(g);

g.setColor(Color.black);

//黑鱼头部

g.fillOval(75, 0, 150, 150);

g.setColor(Color.white);

//黑鱼眼

g.fillOval(125, 300/4-25, 50, 50);

g.setColor(Color.black);

//白鱼眼

g.fillOval(125, 300/4*3-25, 50, 50);

//调用画黑鱼的函数

this.drawBlack(g);

g.setColor(Color.white);

g.drawOval(75, 150, 150, 150);

g.setColor(Color.black);

//外缘

g.drawOval(0, 0, 300, 300);

}

}

java画太极加图片_新手初学java 尝试编程绘画太极图相关推荐

  1. java画太极加图片_通过Java 画一个太极图

    package demo; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java. ...

  2. java画太极加图片_Android 画一个太极图实例代码

    今天练手一下,一起来画个太极图吧~ 最终效果如下: 最终效果 一般都是先讲原理,我就反其道而行,先讲实现吧. 1.继承实现初始化方法 继承View,实现基本的构造函数: public TestView ...

  3. java基础代码怎么学_新手入门Java,如何能学好

    原标题:新手入门Java,如何能学好 零基础学生只要方法得当,完全可以掌握Java编程.下面总结出来的几点学习Java的方法,仅供大家参考. 01.理解Java思想 Java是一门面向对象编程语言.向 ...

  4. java pdf无法加载_无法在Java中将完整数据生成为PDF文件

    小编典典 好的,这是一个非常基本的示例-- JTable通过各种print方法,已经支持打印了,基本上,这归结为获取JTable Printable 接口实例并将其传递给打印API,该API需要Gra ...

  5. java给按钮加声音_怎么在java中给按钮添加声音?

    可以加入GTM时间,代码如下: public class ShowCurrentTime { public static void main(String args[]){ //Obtain the ...

  6. java解析webp格式图片宽高;java解析webp图片转png格式

    java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...

  7. python画太极八卦图_太极八卦图的正确画法

    PPT怎么画太极八卦图?之前我们介绍了好几种软件绘制太极八卦图的方法,今天我们来看看最常见的ppt中怎么画太极八卦图?下面分享详细的绘制过程和具体参数,需要的朋友可以参考下 1.新建一个PPT文档,设 ...

  8. python画太极八卦图_「太极八卦图」使用HTML+CSS画太极八卦图 - seo实验室

    太极八卦图 使用HTML+CSS画太极八卦图 基本语法 CSS基本语法格式:选择符{属性1:属性值1;属性2:属性值2;属性3:属性值3;......} 选择符:1.元素选择器:找到同名一系列 2.类 ...

  9. Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算

    展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

最新文章

  1. 你想学习Java ?资源都在这里了
  2. python自动化测试框架pytest.pdf_Python自动化测试框架
  3. 2017杭州_考驾照笔记
  4. PHP中遍历stdclass object 及 json 总结[中国航天神舟十号以json形式向地面返回数据]...
  5. python守护进程进程池_Python3标准库:multiprocessing像线程一样管理进程
  6. linux 压缩解压归档
  7. 基于matlab的智能天线波束方向图仿真,基于MATLAB的智能天线波束方向图仿真
  8. [zz]为 Lua 绑定 C/C++ 对象
  9. 服务器加根网线用不用修改路由器,安装设置无线路由器需要用几根网线?
  10. ROS学习笔记(八): ROS通信架构
  11. 读书随笔:The Book of Why——CHAPTER 4~10
  12. javascript提醒
  13. VM虚拟机配置动态ip和静态ip访问
  14. python数据分析之航空公司客户价值分析
  15. 微信小程序按钮添加背景
  16. ruby 中的sort 和 sort_by
  17. 第二十九讲 求方程组通解和特解的公式(矩阵指数)
  18. 什么是领域驱动设计?
  19. 西安电子科技大学和东北大学计算机,东北大学分数线比西安电子科技大学低,为什么高校排名靠前?...
  20. [npm]npm包删除善后

热门文章

  1. 在Linux平台上搭建EasyDarwin,编译代码并简单部署
  2. ubuntu出现有线已连接却无法上网的解决方法(ubuntu连不上网)
  3. TBox、E-Call、B-Call、I-Call是什么?
  4. strcpy 和strncpy 的代码和区别
  5. 计算机网络里什么叫专线,专线和宽带的区别有哪些_专线网络和家庭宽带的具体区别介绍...
  6. 【递归 动态规划 备忘录法】Fibonacci数列(斐波那契数列)(C++)
  7. 一文详尽之支持向量机算法!
  8. pku 1265 Area
  9. trip计算机英语作文,mytrip英语作文,my trip to英语作文80!
  10. Java实现 洛谷 P1159 排行榜