资源简介
计算机图形学的作业;完成度非常高;有需要的可以下载

代码片段和文件信息
package DrawShape;
import java.util.ArrayList;
public class GCUtil {
// private static int p0 = 0;
// private static int x0 = 0;
// private static int y0 = 0;
// private static int pk = 0;
// private static int pk1 = 0;
// private static boolean s = false;
private GCUtil(){}
public static thePoint[] DDAMethod (int a1int a2int b1int b2)//dda算法实例
{
int step;
int dx = b1 - a1;
int dy = b2 - a2;
thePoint[] p = new thePoint[800];
float xIncrementyIncrementx y;
Mainframe.c = 0;
x = a1;
y = a2;
if(Math.abs(dx) > Math.abs(dy))
step = Math.abs(dx);
else
step = Math.abs(dy);
xIncrement=(float)(dx)/(float)(step);
yIncrement = (float)(dy)/(float)(step);
p[0] = new thePoint();
p[0].setThePoint(Math.round(x) Math.round(y));
Mainframe.c = Mainframe.c + 1;
for(int i = 1; i < step; i++)
{
x = x + xIncrement;
y = y + yIncrement;
p[i] = new thePoint();
p[i].setThePoint(Math.round(x)Math.round(y));
// System.out.println(“x 和 y: “+ x + “ “ + y);
Mainframe.c = Mainframe.c + 1;
}
// System.out.println(xIncrement);
return p;
}
public static thePoint[] BMethod (int a1int a2int b1int b2)//Bresenham算法
{
thePoint[] p = new thePoint[800];
int dx =Math.abs(b1 - a1);
int dy =Math.abs(b2 - a2);
int p0x =2 * dy - dx;
int p0y =2 * dx - dy;
int twody = 2 * dy;
int twodx = 2 * dx;
int twodxy = 2 * dy - 2 * dx;
int twodyx = 2 * dx - 2 * dy;
int x = 0y = 0;
int t = 0t1 = 0; //确定每次随着单位量的变化,另一个变量是增加还是减少;
Mainframe.c = 0;
p[0] = new thePoint();
Mainframe.c = Mainframe.c + 1;
if (dx > dy)
{
t = a1 < b1 ? 1 : -1;
t1 = a2 < b2 ? 1: -1;/////
x = a1; y = a2;
p[0].setThePoint(x y);
//System.out.println(“x 和 y: “+ x + “ “ + y);
int i = 0;
while(x != b1)
{
i++;
x = x+t;
Mainframe.c++;
if(p0x < 0)
p0x = p0x + twody;
else
{
y = y + t1;
p0x = p0x + twodxy;
}
p[i] = new thePoint();
p[i].setThePoint(xy);
// System.out.println(“x 和 y: “+ x + “ “ + y);
}
}else
{
t = a2 < b2 ? 1 : -1;
t1 = a1 < b1 ? 1: -1;
x = a1; y = a2;
p[0].setThePoint(x y);
// System.out.println(“x 和 y: “+ x + “ “ + y);
int i = 0;
while(y != b2)
{
i++;
y = y + t;
Mainframe.c++;
if(p0y < 0)
p0y = p0y + twodx;
else
{
x = x + t1;
p0y = p0y + twodyx;
}
p[i] = new thePoint();
p[i].setThePoint(xy);
System.out.println(“x 和 y: “+ x + “ “ + y);
}
}
// System.out.println(Mainframe.c);
return p;
}
public static thePoint[] CirMethod(int r)//画圆形算法
{
thePoint[] p = new thePoint[800];
int x = 0 y=0;
x = 0; y = r;
int p0 = 1 - r;
p[0] = new thePoint();
p[0].setThePoint(x y);
Mainframe.c = 1;
int i =0;
while(x < y)
{
Mainframe.c ++;
i = i + 1;
if(p0 < 0)
{
x++;
p0 = p0 + 2*x + 1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-07 20:13 图形\
文件 2875 2017-10-06 21:16 图形\.classpath
文件 382 2017-10-06 21:15 图形\.project
目录 0 2017-10-07 20:13 图形\.settings\
文件 598 2017-10-06 21:15 图形\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-10-07 20:13 图形\bin\
目录 0 2017-10-07 20:13 图形\bin\DrawShape\
文件 3622 2017-10-07 19:25 图形\bin\DrawShape\GCUtil.class
文件 4355 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1036 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 2706 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 1034 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 6254 2017-10-07 19:31 图形\bin\DrawShape\Mainfr
文件 733 2017-10-07 19:25 图形\bin\DrawShape\thePoint.class
目录 0 2017-10-07 20:13 图形\src\
目录 0 2017-10-07 20:13 图形\src\DrawShape\
文件 4604 2017-10-07 19:25 图形\src\DrawShape\GCUtil.java
文件 12168 2017-10-07 19:31 图形\src\DrawShape\Mainfr
相关资源
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
- java软件工程师简历模板——应届生
评论
共有 条评论