java画太极加图片_新手初学java 尝试编程绘画太极图
我是个新手,对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 尝试编程绘画太极图相关推荐
- java画太极加图片_通过Java 画一个太极图
package demo; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java. ...
- java画太极加图片_Android 画一个太极图实例代码
今天练手一下,一起来画个太极图吧~ 最终效果如下: 最终效果 一般都是先讲原理,我就反其道而行,先讲实现吧. 1.继承实现初始化方法 继承View,实现基本的构造函数: public TestView ...
- java基础代码怎么学_新手入门Java,如何能学好
原标题:新手入门Java,如何能学好 零基础学生只要方法得当,完全可以掌握Java编程.下面总结出来的几点学习Java的方法,仅供大家参考. 01.理解Java思想 Java是一门面向对象编程语言.向 ...
- java pdf无法加载_无法在Java中将完整数据生成为PDF文件
小编典典 好的,这是一个非常基本的示例-- JTable通过各种print方法,已经支持打印了,基本上,这归结为获取JTable Printable 接口实例并将其传递给打印API,该API需要Gra ...
- java给按钮加声音_怎么在java中给按钮添加声音?
可以加入GTM时间,代码如下: public class ShowCurrentTime { public static void main(String args[]){ //Obtain the ...
- java解析webp格式图片宽高;java解析webp图片转png格式
java解析webp格式图片宽高:java解析webp图片转png格式 package 你的包名:***.***.***.***;import java.io.FileInputStream; imp ...
- python画太极八卦图_太极八卦图的正确画法
PPT怎么画太极八卦图?之前我们介绍了好几种软件绘制太极八卦图的方法,今天我们来看看最常见的ppt中怎么画太极八卦图?下面分享详细的绘制过程和具体参数,需要的朋友可以参考下 1.新建一个PPT文档,设 ...
- python画太极八卦图_「太极八卦图」使用HTML+CSS画太极八卦图 - seo实验室
太极八卦图 使用HTML+CSS画太极八卦图 基本语法 CSS基本语法格式:选择符{属性1:属性值1;属性2:属性值2;属性3:属性值3;......} 选择符:1.元素选择器:找到同名一系列 2.类 ...
- Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算
展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...
最新文章
- 你想学习Java ?资源都在这里了
- python自动化测试框架pytest.pdf_Python自动化测试框架
- 2017杭州_考驾照笔记
- PHP中遍历stdclass object 及 json 总结[中国航天神舟十号以json形式向地面返回数据]...
- python守护进程进程池_Python3标准库:multiprocessing像线程一样管理进程
- linux 压缩解压归档
- 基于matlab的智能天线波束方向图仿真,基于MATLAB的智能天线波束方向图仿真
- [zz]为 Lua 绑定 C/C++ 对象
- 服务器加根网线用不用修改路由器,安装设置无线路由器需要用几根网线?
- ROS学习笔记(八): ROS通信架构
- 读书随笔:The Book of Why——CHAPTER 4~10
- javascript提醒
- VM虚拟机配置动态ip和静态ip访问
- python数据分析之航空公司客户价值分析
- 微信小程序按钮添加背景
- ruby 中的sort 和 sort_by
- 第二十九讲 求方程组通解和特解的公式(矩阵指数)
- 什么是领域驱动设计?
- 西安电子科技大学和东北大学计算机,东北大学分数线比西安电子科技大学低,为什么高校排名靠前?...
- [npm]npm包删除善后
热门文章
- 在Linux平台上搭建EasyDarwin,编译代码并简单部署
- ubuntu出现有线已连接却无法上网的解决方法(ubuntu连不上网)
- TBox、E-Call、B-Call、I-Call是什么?
- strcpy 和strncpy 的代码和区别
- 计算机网络里什么叫专线,专线和宽带的区别有哪些_专线网络和家庭宽带的具体区别介绍...
- 【递归 动态规划 备忘录法】Fibonacci数列(斐波那契数列)(C++)
- 一文详尽之支持向量机算法!
- pku 1265 Area
- trip计算机英语作文,mytrip英语作文,my trip to英语作文80!
- Java实现 洛谷 P1159 排行榜