# Matplot3D for Java **Repository Path**: jushan-fairy/Matplot3D-for-Java ## Basic Information - **Project Name**: Matplot3D for Java - **Description**: Matplot3D for JAVA是一个基于JAVA SE 1.5环境开发的工具包。以jar包的方式存在。它提供易于使用的API,可以方便的生成3维效果的各种图形图表。可用于数据的可视化和数学分析等领域。支持交互操作,使用鼠标在现实趋于拖动以及使用鼠标滚轮能实时改变观察角度和缩放比例 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 32 - **Created**: 2023-08-01 - **Last Updated**: 2023-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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特性,刷新的头几帧效率较低,刷新了数帧后代码运行会进入高效状态** ### 效果展示 ![地形数据动图](image/demo.gif "地形数据动图") ![底层引擎展示动图(地球)](image/Earth.gif "底层引擎展示动图(地球)") ![底层引擎展示动图(珠峰)](image/ZMLM.gif "底层引擎展示动图(珠峰)") ---------------------------------------- **数据阵列曲面图** ![地形](image/地形.jpg "地形") 示例代码 ``` 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