资源简介
java实现的维诺图,点击即可生成维诺图
代码片段和文件信息
package voronoidelaunay;
import java.util.HashSet;
import java.util.linkedList;
import java.util.Queue;
import java.util.Set;
public class Delaunay extends Triangulation {
private Triangle triangleNewInsert = null;
public Delaunay (Triangle triangle) {
super(triangle);
triangleNewInsert = triangle;
}
public Triangle FindTriangle (Vpoint point) {//找出三角区域中包含该点的三角形
Triangle triangle = triangleNewInsert;
if (!this.contains(triangle)) triangle = null;
Set> visited = new HashSet>();
while (triangle != null) {
visited.add(triangle);
Vpoint corner = point.beOutTri(triangle.toArray(new Vpoint[0]));
if (corner == null) return triangle;
triangle = this.neighborFace(corner triangle);
}
for (Triangle tri: this) {
if (point.beOutTri(tri.toArray(new Vpoint[0])) == null) return tri;
}
return null;
}
public Set> PointInsert (Vpoint point) {//插入新加入的点
Set> newTriangles = new HashSet>();
Set> oldTriangles = new HashSet>();
Set> hasSet = new HashSet>();
Queue> queue = new linkedList>();
Triangle triangle = FindTriangle(point);
if (triangle == null || triangle.contains(point)) return newTriangles;
queue.add(triangle);
while (!queue.isEmpty()) {
triangle = queue.remove();
if (point.PointCircleOfTri(triangle.toArray(new Vpoint[0])) == 1) continue;
oldTriangles.add(triangle);
for (Triangle tri: this.getNeighbors(triangle)) {
if (hasSet.contains(tri)) continue;
hasSet.add(tri);
queue.add(tri);
}
}
for (Set facet: Triangle.boundary(oldTriangles)) {
facet.add(point);
newTriangles.add(new Triangle(facet));
}
this.update(oldTriangles newTriangles);
if (!newTriangles.isEmpty()) triangleNewInsert = newTriangles.iterator().next();
return newTriangles;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-09-28 22:47 voronoi-job\
文件 301 2014-09-28 16:27 voronoi-job\.classpath
文件 387 2014-09-28 16:27 voronoi-job\.project
目录 0 2014-09-28 22:47 voronoi-job\.settings\
文件 598 2014-09-28 16:27 voronoi-job\.settings\org.eclipse.jdt.core.prefs
目录 0 2014-09-28 22:50 voronoi-job\bin\
目录 0 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\
文件 3585 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\Delaunay.class
文件 4550 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\PaintPanel.class
文件 1867 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\ShowVoronoi.class
文件 3363 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\Triangle.class
文件 4390 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\Triangulation.class
文件 5780 2014-09-28 22:50 voronoi-job\bin\voronoidelaunay\Vpoint.class
目录 0 2014-09-28 22:47 voronoi-job\src\
目录 0 2014-09-28 22:47 voronoi-job\src\voronoidelaunay\
文件 2448 2014-09-28 20:32 voronoi-job\src\voronoidelaunay\Delaunay.java
文件 5535 2014-09-28 20:11 voronoi-job\src\voronoidelaunay\ShowVoronoi.java
文件 1931 2014-09-28 20:11 voronoi-job\src\voronoidelaunay\Triangle.java
文件 2608 2014-09-28 20:10 voronoi-job\src\voronoidelaunay\Triangulation.java
文件 7494 2014-09-28 19:50 voronoi-job\src\voronoidelaunay\Vpoint.java
相关资源
- java源码小区物业管理系统
- fckeditor-java-core-2.4.1.jar
- 2016年最新java面试题及答案使用于初级
- javax.serverlet.jar
- vbTOjava瞬间变java代码
- java写的一个手绘程序
- 基于java开发的公交信息管理系统.do
- 网络编程实验:HTTP服务器 java实现
- Rxjava+retrofit的简单使用demo
- java实现计算机图形学直线和圆的绘制
- Springboot企业微信外卖系统JAVA+百度永
- java写的聊天工具
- 酒店管理系统java
- java实现几何图形课程设计
- java实现文件加密解密
- Java web 调查问卷
- JavaMagic_v0.60b
- Java上传专有云oss
- 微信退款demo java版
- Java财务管理系统
- 基于Java的人事管理系统的设计与实现
- Java开发企业级权限管理系统
- javaSE商品管理系统
- 用java制作彩色代码雨
- 重庆大学java语言程序设计模拟试题
- java简单计算器源代码
- java微信模板消息推送,客服消息推送
- MsmqJava.dll64位和源代码
- 围棋源代码java
- XSS检测原型系统
评论
共有 条评论