12 Star 115 Fork 30

tanling8334 / Matplot3D for Java

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Matplot3D for Java

概述

Matplot3D for JAVA 是一个基于JAVA SE 1.8环境开发的三维图形图表组件。 组件由纯JAVA SE 实现(Pure Java) ,封装为一个jar包,jar文件大小不超过300KB。内含自主研发的三维几何造型、绘制算法,无需依赖OpenGL、DriectX和JAVA 3D等第三方库,其只依托JRE自带的类库即可(即只需安装了JAVA就可使用),可以非常方便的将Matplot3D for JAVA(V3.0)显示面板嵌入到自己JAVA GUI程序中。

本组件提供简单的外观API,可以方便生成三维效果的图形图表。可用于大数据可视化、科学数据分析可视化等领域。在使用GUI显示时支持鼠标等输入设备交互式操作,可方便的缩放和改变观察角度。支持动态编程,可实时生成三维模型动态改变动画。也可以根据输入的数据直接生成图片文件,这可用于动态Web的服务端,从页面传入的数据生成图像文件,返回给页面显示。

作者email:ta8334@126.com ; QQ :17746302

Matplot3d_4j_sydh_x64_V3.0.jar 为应用所需要依赖的包。

Matplot3d_4j_sydh_x64_V3.0_demo.jar 为演示DEMO的可执行的JAR文件,内含展示效果及部分示例代码, 使用时不需要引用这个包 。如不清楚何运行可执行JAR的请自行百度一下(由于需要预载入的资源较多且展示多个画面,Demo启动会有点慢且会消耗较多内存,需要在64bit的JRE上运行)

Matplot3D for JAVA是纯JAVA的软件算法,由于JVM的JIT特性,刷新的头几帧效率较低,刷新了数帧后代码运行会进入高效状态

效果展示

地形数据动图

底层引擎展示动图(地球)

底层引擎展示动图(珠峰)


数据阵列曲面图

地形

示例代码

public class DataGridDemo {
	public static void main(String[] args) {
		DataGridProcessor processor = new DataGridProcessor();
		
		final Matplot3D4JMgr mgr=new Matplot3D4JMgr(processor);		
		
		//=======================================
		//准备你的数据,是一个二维Double数组。表示均匀分布的网格点,数组内的值表示高度
		//数据一般来源于具体应用的非规则函数数据,例如某区域的DEM地形高程数据
		//以下代码创造一些虚拟数据用于展示如何使用
		
		Double[][] datas=new Double[20][20];
		
		Random random=new Random();
		
		for(int i=0;i<datas.length;i++) {
			for(int j=0;j<datas[0].length;j++) {
				
				if(i+j<20)
					datas[i][j]=(double)i+j+random.nextDouble();
				else 
					datas[i][j]=40d-i-j-random.nextDouble();
				
			}
		}
		//=======================================
		
		
		//创建一个颜色风格
		ColorStyle cs = new TopBottomColorStyle(ColorStyle.DEFAULT_COLORS_ARRAY);

		mgr.setCoordianteSysShowType(Matplot3D4JMgr.COORDINATE_SYS_ALWAYS_FURTHER);
		
		processor.setClose3DObject(true);//设置是否是封闭三维对象

		mgr.setScaleX(1);
		mgr.setScaleY(1);
		mgr.setScaleZ(1.2);

		mgr.setTitle("Demo 数据阵列");

		processor.setShowGrid(false);//是否现显示辅助网格线

		processor.addData(datas, "", new Range(0, 100), new Range(100, 200), 20, 20, cs, 1f);
		
		mgr.show();
	}
}

点云图(散点图)

点云

函数曲面图

函数曲面

混合数据(组合多种图表)

混合数据

利用数据阵列图绘制浮雕效果

马

散点图

散点

函数曲面图添加多个函数

双函数曲面

曲面云图

云图

引擎效果

珠峰

引擎效果

地球

折线图

折线

柱状图

柱状图

API文档

API文档

空文件

简介

Matplot3D for JAVA是一个基于JAVA SE 1.5环境开发的工具包。以jar包的方式存在。它提供易于使用的API,可以方便的生成3维效果的各种图形图表。可用于数据的可视化和数学分析等领域。支持交互操作,使用鼠标在现实趋于拖动以及使用鼠标滚轮能实时改变观察角度和缩放比例 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/tanling8334/Matplot3D-for-Java.git
git@gitee.com:tanling8334/Matplot3D-for-Java.git
tanling8334
Matplot3D-for-Java
Matplot3D for Java
master

搜索帮助