java和matlab畫多邊形閉合折線圖示例講解

1.使用matlab作閉合多邊形圖
沒(méi)有找到直接畫多邊形的函數(shù),只能是將各個(gè)點(diǎn)的坐標(biāo)保存在數(shù)組中,將一個(gè)點(diǎn)與其相鄰的點(diǎn)相連,并將最后一個(gè)點(diǎn)與第一個(gè)點(diǎn)連接。下面是一個(gè)示例的.m文件:
clear;
clc;
a=[0 2 4 6 8 10 12 14;0 2 1 4 6 6 5 7]; %要連接的點(diǎn)坐標(biāo) 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)]); %連接節(jié)點(diǎn)line([x1,x2],[y1,y2])
hold on
end
hold on
line([a(1,1),a(1,m)],[a(2,1),a(2,m)]); %首尾節(jié)點(diǎn)相連
2.使用Java作閉合多邊形圖
Java中的Graphics類drawPolygon函數(shù)提供了直接的多邊形作圖。
函數(shù)原型:public abstract void drawPolygon(int[] xPoints, int[] yPoints,int nPoints)
說(shuō)明
(1)繪制一個(gè)由 x 和 y 坐標(biāo)數(shù)組定義的閉合多邊形。每對(duì) (x, y) 坐標(biāo)定義了一個(gè)點(diǎn)。nPoints表示線段的個(gè)數(shù)。
(2)前面的 nPoint - 1 個(gè)線段是當(dāng) 1 ≤ i ≤ nPoints 時(shí),從 (xPoints[i-1], yPoints[i-1]) 到 (xPoints[i], yPoints[i]) 的線段。如果最后一個(gè)點(diǎn)和第一個(gè)點(diǎn)不同,則圖形會(huì)通過(guò)在這兩點(diǎn)間繪制一條線段來(lái)自動(dòng)閉合。
代碼示例如下:
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.說(shuō)明
是否能構(gòu)成多邊形,凸多邊形,還是凹多邊形,這些與給定的點(diǎn)的順序有關(guān)。
程序只是負(fù)責(zé)將相鄰的節(jié)點(diǎn)連接, 以及首尾連接。
相關(guān)文章
淺談Java中Lambda表達(dá)式的相關(guān)操作
java8新特性,Lambda是一個(gè)匿名函數(shù),類似Python中的Lambda表達(dá)式、js中的箭頭函數(shù),目的簡(jiǎn)化操作,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(IO版)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
SpringCloud?Gateway詳細(xì)分析實(shí)現(xiàn)負(fù)載均衡與熔斷和限流
這篇文章主要介紹了SpringCloud?Gateway實(shí)現(xiàn)路由轉(zhuǎn)發(fā),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Mybatis實(shí)體類對(duì)象入?yún)⒉樵兊墓P記
這篇文章主要介紹了Mybatis實(shí)體類對(duì)象入?yún)⒉樵兊墓P記,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
基于SpringBoot項(xiàng)目實(shí)現(xiàn)Docker容器化部署的主要步驟
部署SpringBoot項(xiàng)目到Docker容器涉及選擇Java運(yùn)行時(shí)環(huán)境的基礎(chǔ)鏡像、構(gòu)建包含應(yīng)用程序的Docker鏡像、編寫Dockerfile、使用docker build命令構(gòu)建鏡像和使用docker run命令運(yùn)行Docker容器等步驟2024-10-10
Java中Elasticsearch 實(shí)現(xiàn)分頁(yè)方式(三種方式)
Elasticsearch是用Java語(yǔ)言開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級(jí)搜索引擎,這篇文章主要介紹了Elasticsearch實(shí)現(xiàn)分頁(yè)的3種方式,需要的朋友可以參考下2022-07-07
java WebSocket客戶端斷線重連的實(shí)現(xiàn)方法
在工作中是否會(huì)遇到實(shí)用websocket客戶端連接服務(wù)端的時(shí)候,網(wǎng)絡(luò)波動(dòng),服務(wù)端斷連的情況,本文可以直接使用的斷線重連,感興趣的可以了解一下2021-10-10
SpringBoot?@Value與@ConfigurationProperties二者有哪些區(qū)別
這篇文章主要介紹了SpringBoot?@Value與@ConfigurationProperties二者的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10
如何在Spring WebFlux的任何地方獲取Request對(duì)象
這篇文章主要介紹了如何在Spring WebFlux的任何地方獲取Request對(duì)象,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2021-01-01

