1 Star 0 Fork 31

mp437376671 / Matplot3D for Java

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

Matplot 3D for Java

Matplot3D for JAVA是一个基于JAVA SE 1.5环境开发的三维图形图表组件。以jar包的方式存在。超轻量级设计实现,jar文件大小不超过200KB。内含自主研发的三维几何造型、绘制算法,不依托图形硬件,不依托OpenGL、DriectX、JAVA 3D等基础库,纯JAVA语言软件实现,可以非常方便的将Matplot3D for JAVA(V2.0)显示面板嵌入到自己JAVA GUI程序中。

本组件提供简单的外观API,可以方便生成三维效果的图形图表。支持鼠标等输入设备交互式操作,可方便的缩放和改变观察角度。V2.0版本全面显示支持动态编程,可实时生成三维模型动态改变动画。

   Matplot3D for JAVA是一个基于JAVA  SE  1.5环境开发的三维图形图表组件。以jar包的方式存在。内含自主研发三维造型算法引擎,轻量级(jar不超过200k),不依赖硬件纯JAVA实现。 它提供易于使用的API,可以方便的生成3维效果的各种图形图表。
    此组件、开发工具可用于大数据的可视化和数学分析等领域。

三维热力、等高
---------------------------------------------------------
动态曲面
---------------------------------------------------------
输入图片说明
---------------------------------------------------------
引擎展示
---------------------------------------------------------
引擎展示
---------------------------------------------------------
点阵
---------------------------------------------------------
点阵 动态
---------------------------------------------------------
折线 动态
---------------------------------------------------------
3D柱状 动态
---------------------------------------------------------

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

Matplotlib 3D for JAVA工具库采用外观(FACADE)设计模式提供方便的绘图API。
Matplot3DMgr 是工具库的外观类。其中常量属性成员如下

int	DATA_TYPE_DOTS
            散点数据输入类型

int	DATA_TYPE_FUNCTION3D
    空间函数输入类型

int	DATA_TYPE_CURVE2DS
    二维折线输入类型

int	DATA_TYPE_MATRIX 
    数据阵列输入类型

int	SHOW_TYPE_DOTS 
    点状显示类型

int	SHOW_TYPE_SURFACE
    曲面显示类型

int	SHOW_TYPE_PLAN_SHAPE
    平面多边形显示类型

int	SHOW_TYPE_PLANBARS
    平面柱状图显示类型

Matplot3DMgr的方法成员及说明如下:

void	show()
    直接在独立的窗口中显示绘制图像

boolean	updateView(long timeToWait) 
    刷新绘制面板,并在timeToWait毫秒内阻止再刷新。如果刷新成功返回true,否则返回false。

Jpanel	getPanel()
    获取绘制面板JPanel对象。此对象与show()方法中现实的为同一对象,因此此方法不要和show()方法同时使用

void	setDataInputType(int type)
    设置输入数据模式。
    MatPlot3DMgr.DATA_TYPE_DOTS
    MatPlot3DMgr.DATA_TYPE_FUNCTION3D
    MatPlot3DMgr.DATA_TYPE_CURVE2DS
    MatPlot3DMgr.DATA_TYPE_MATRIX 

void 	setShowType(int showType) 
    设置输出显示模式。
    MatPlot3DMgr.SHOW_TYPE_DOTS 
    MatPlot3DMgr.SHOW_TYPE_SURFACE
    MatPlot3DMgr.SHOW_TYPE_PLAN_SHAPE
    MatPlot3DMgr.SHOW_TYPE_PLANBARS

void 	addData2D(String key, Color color, List<Point2D.Double> pointsList)
    输入模式为DATA_TYPE_CURVE2DS可用。
    加入在同一平面中的折线数据,并指定显示颜色

void 	addData2D(String key, List<Point2D.Double> pointsList)
    输入模式为DATA_TYPE_CURVE2DS可用。
    加入在同一平面中的折线数据

void	addData(String key, List<Point3D> pointsList)
    输入模式为DATA_TYPE_DOTS可用。
    加入一个系列的点位置数据。不同系列会显示不同的颜色和图形

void 	addData(String key, double[][] matrix)
    输入模式为DATA_TYPE_MATRIX 可用。
    加入一个系列的二维数量矩阵。一般用于显示柱状图

void 	addData(Function function, Range rangeX, Range rangeY)
    输入模式为DATA_TYPE_FUNCTION3D可用。
    设置一个函数并指定XY方向的定义域范围

void 	addData(Function function, Range rangeX, Range rangeY, int stepCountX, int stepCountY)
    输入模式为DATA_TYPE_FUNCTION3D可用。
    设置一个函数并指定XY方向的定义域范围,并指定XY方向分段数

void	setScaleX(double scaleX)
    设置X方向缩放比例

void	setScaleY(double scaleY)
    设置Y方向缩放比例

void	setScaleZ(double scaleZ)
    设置Z方向缩放比例

double	getScaleX()
    获取当前输入模式下X方向缩放比例

double	getScaleY()
    获取当前输入模式下Y方向缩放比例

    double	getScaleZ()
    获取当前输入模式下Z方向缩放比例

void	setFocusPerspectiveType(boolean flag)
    设置是否为焦点透视三维显示模式

void	setScatterPerspectiveType(boolean flag)
    设置是否为散点透视三维显示模式

void	setAntiAliasing(boolean isAntiAliasing)
    设置是否抗锯齿显示(显示效果与计算机操作系统和机器性能有较大关系)

void	setMouseDraggable(boolean isMouseDraggable)
    设置是否支持鼠标交互控制。在设置值为true的情况下可以拖拽鼠标和滚动鼠标          滚轮,控制观察角度和缩放画面



void	setSeeta(double seeta)
    设置视线俯仰角度

void	setBeita(double beita)
    设置视线方位角度

double	getSeeta()
    获取视线俯仰角度

double	getBeita()
    获取视线方位角度

void	setFocusPoint(Point3D focusPoint)
    设置观测中心点的三维坐标

void	setTitle(String title) 
    设置图标标题

String 	getTitle()
    获取图表标题

Processor 是工具库的外观类,通过Matplot3DMgr对象getProcessor()获取对象。其中常量属性成员如下

int    	COORDINATE_RANGE_AUTO_EXTEND
    动态编程中,当空间中数据发生变化时,空间坐标系范围自适应扩大但不会自适应缩小

int    	COORDINATE_RANGE_AUTO_FIT
    动态编程中,当空间中数据发生变化时,空间坐标系范围自适应扩大或缩小

int    	COORDINATE_SYS_ALWAYS_FURTHER
    不论任何观察角度,坐标系始终显示在数据的后面

int    	COORDINATE_SYS_STABLE
    坐标系方位和朝向固定不变显示

Processor 类的方法成员及说明如下:

void    	clear()
    清空当前所有数据

void    	setRulerLabelsX(String[] labels, double[] positions) 
    "设置X方向逻辑坐标设置标尺刻度文字,
    两个数组元素数不相等时按少的匹配,positions中元素超过数据范围是将不显示该标尺文字"

void	setRulerLabelsY(String[] labels, double[] positions) 
    "设置Y方向逻辑坐标设置标尺刻度文字,
    两个数组元素数不相等时按少的匹配,positions中元素超过数据范围是将不显示该标尺文字"

void	setRulerLabelsZ(String[] labels, double[] positions) 
    "设置Z方向逻辑坐标设置标尺刻度文字,
    两个数组元素数不相等时按少的匹配,positions中元素超过数据范围是将不显示该标尺文字"

void	setRulerLabelsX(String[] labels) 
    设置X方向逻辑坐标设置标尺刻度文字,按照默认关键点分布

void	setRulerLabelsY(String[] labels)
    设置Y方向逻辑坐标设置标尺刻度文字,按照默认关键点分布

void	setRulerLabelsZ(String[] labels) 
    设置Z方向逻辑坐标设置标尺刻度文字,按照默认关键点分布

void	setRulerXVisable(boolean flag) 
    设置是否显示X方向标尺

void	setRulerYVisable(boolean flag)
    设置是否显示Y方向标尺

void	setRulerZVisable(boolean flag) 
    设置是否显示Z方向标尺

void	initRanges(Range rx, Range ry, Range rz) 
    预设空间范围。当空间中无数据时调用fitScream会抛出异常,此时可预设空间范围

void	setScaleX(double scaleX) 
    设置X方向缩放比例,参数大于1时时放大,参数小于1时是缩小。缩放后逻辑坐标不会改变,仅仅显示放大缩小

void	setScaleY(double scaleY) 
    设置Y方向缩放比例,参数大于1时时放大,参数小于1时是缩小。缩放后逻辑坐标不会改变,仅仅显示放大缩小

void	setScaleZ(double scaleZ)
    设置Z方向缩放比例,参数大于1时时放大,参数小于1时是缩小。缩放后逻辑坐标不会改变,仅仅显示放大缩小

double	getScaleX()
    获取X方向缩放比例的数值

double	getScaleY()
    获取Y方向缩放比例的数值

double	getScaleZ()
    获取Z方向缩放比例的数值

Range	getRangeX() 
    获取X方向数据范围(数据范围由空间中数据确定或由开发人员通过initRanges(Range rx, Range ry, Range rz) 预设)

Range	getRangeY()
    获取Y方向数据范围(数据范围由空间中数据确定或由开发人员通过initRanges(Range rx, Range ry, Range rz) 预设)

Range	getRangeZ() 
    获取Z方向数据范围(数据范围由空间中数据确定或由开发人员通过initRanges(Range rx, Range ry, Range rz) 预设)

void	setCoordinateSysTransformationType(int type)
    

void	setCoordinateSysShowType(int type)
    

void	setXName(String xName)
    设置坐标系X方向轴名称

void	setYName(String yName)
    设置坐标系Y方向轴名称

void	setZName(String zName)
    设置坐标系Z方向轴名称

void	setXNameVisable(boolean isXNameVisable)
    设置坐标系X方向轴名称是否显示出来

void	setYNameVisable(boolean isYNameVisable)
    设置坐标系Y方向轴名称是否显示出来

void	setZNameVisable(boolean isZNameVisable)
    设置坐标系Z方向轴名称是否显示出来

void	setRulerTextFont(Font rulerTextFont)
    设置标尺文字字体

void	setRulerTextColor(Color rulerTextColor)
    设置标尺文字颜色

void	setAxisNameTextFont(Font textFont)
    设置坐标系轴名称字体

void	setAxisNameTextColor(Color textColor) 
    设置坐标系轴名称颜色

空文件

简介

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

发行版

暂无发行版

贡献者

全部

近期动态

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

搜索帮助