使用Java、Matlab画多边形闭合折线图

本文介绍如何使用Matlab和Java绘制闭合多边形图形的方法,包括具体实现步骤和示例代码,适用于表示哈密顿回路问题(TSP)的求解中间结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于写论文要将“哈密顿回路问题(TSP)”的求解中间结果表示出来,查了一下使用程序画多边形图形。现在在总结一下,这个图是“由给定节点首尾相连的”闭合多边形。

1.使用matlab作闭合多边形图

没有找到直接画多边形的函数,只能是将各个点的坐标保存在数组中,将一个点与其相邻的点相连,并将最后一个点与第一个点连接。下面是一个示例的.m文件:

clear;
clc;
a=[0 2 4 6 8 10 12 14;0 2 1 4 6 6 5 7];  %要连接的点坐标 x;y
[n,m]=size(a);
for i=1:m-1;
    line([a(1,i),a(1,i+1)],[a(2,i),a(2,i+1)]);  %连接节点line([x1,x2],[y1,y2])
    hold on
end
hold on
line([a(1,1),a(1,m)],[a(2,1),a(2,m)]);  %首尾节点相连

 2.使用Java作闭合多边形图

Java中的Graphics类drawPolygon函数提供了直接的多边形作图。

函数原型:public abstract void drawPolygon(int[] xPoints, int[] yPoints,int nPoints)

  说明:(1)绘制一个由 xy 坐标数组定义的闭合多边形。每对 (xy) 坐标定义了一个点。nPoints表示线段的个数。

   (2)前面的 nPoint - 1 个线段是当 1 ≤ i ≤ nPoints 时,从 (xPoints[i-1], yPoints[i-1])(xPoints[i], yPoints[i]) 的线段。如果最后一个点和第一个点不同,则图形会通过在这两点间绘制一条线段来自动闭合。

代码示例如下:

import java.applet.*;
import java.awt.*;
public class DrawPicture extends Applet 
{   public void paint(Graphics g)
    { 
      int px[]={20,70,130,240};
      int py[]={20,150,100,130};
      g.drawPolygon(px,py,4); 
    }      
}

执行结果:

3.说明

是否能构成多边形,凸多边形,还是凹多边形,这些与给定的点的顺序有关。

程序只是负责将相邻的节点连接, 以及首尾连接。


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值