日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab中patch命令_matlab中patch函数的用法——emily

發布時間:2024/9/27 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab中patch命令_matlab中patch函数的用法——emily 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

patch

創建補片圖形對象

句法:

patch(X,Y,C)

patch(X,Y,Z,C)

patch(FV)

patch(...'PropertyName',propertyvalue...)

patch('PropertyName',propertyvalue,...)

handle = patch(...)

描述:

patch是個底層的圖形函數,用來創建補片圖形對象。一個補片對象是由其頂點坐標確定的一個或多個多邊形。用戶可以指定補片對象的顏色和燈光。

patch(X,Y,C)

添加已填充的二維補片到當前坐標軸。X和Y中的元素指定了多邊形的定點。如果X和Y是矩陣,MATLAB將每一列生成一個多邊形。C決定了補片的顏色,它可以是單個的ColorSpec,每個表面一個顏色,或每個定點一個顏色。如果C是1*3的向量,它將被看成是RGB三元組,直接指定顏色。

patch(X,Y,Z,C)

創建三維坐標下的補片。

patch(FV)

使用結構體FV來創建補片。FV包含如下的結構域:vertices、faces以及facevertexdata(可選)。這些結構域對應補片對象的Vertices、Faces和FaceVerticxCData屬性。

patch(‘PropertyName’,propertyvalue,...)

利用指定的屬性/值參數對來指定補片對象的所有屬性。除非用戶顯式的指定FaceColor和EdgeColor的值,否則,MATLAB會使用缺省的屬性值。該調用格式允許用戶使用Faces和Vertices屬性值來定義補片。

handle=patch(...)

返回創建的補片對象的句柄。

注意:

不像fill或area這樣的高層創建函數,patch并不檢查圖形窗口的設置以及坐標軸的NextPlot屬性,它僅僅將補片對象添加到當前坐標軸。

如果坐標數據不能定義封閉的多邊形,patch函數自動使多邊形封閉。數據能定理凹面或交叉的多邊形。然而,如果單個補片面的邊緣相互交叉,得到的面可能不會完全填充。在這種情況下,最好將面分解為更小的多邊形。

詳細說明patch的屬性:

你可以注明這些屬性為:屬性名字和屬性值成對形式、結構矩陣和細胞矩陣。

其中有兩個屬性是用來說明顏色的:

CData:用在說明X、Y、Z坐標時(XData、YData、ZData)

FaceVertexCData:用在說明頂點或聯接矩陣(Vertices和Faces)

CData和FaceVertexCData屬性接受這樣的顏色數據:索引值、真彩色(RGB)值。(CData、FaceVertexCData)

索引顏色數據可以表示整個色圖的直接索引值或線性映射到整個色圖的刻度值(caxis)。CDataMapping

決定了matlab如何翻譯索引顏色數據。

顏色數據說明:

patch的顏色說明如下:

所有面用同一個顏色;

一個面一個顏色,即平面著色;

一個頂點一個顏色,即插值著色;

下面的表格說明了matlab如何解釋由CData、FaceVertexCData定義的顏色數據。

[X,Y,Z]?CData

索引值?真彩色

m*n?標量?1*1*3?所有面用同一個顏色,邊緣用同一個顏色

m*n?1*n(n>=4)?1*n*3?一個面一個顏色,邊緣用一個顏色

m*n?m*n?m*(n-3)?一個頂點一個顏色,面可以是平滑的一個顏色的或插值的,邊緣也可以是平滑的或插值的。

頂點?面?FaceVertexCData

索引值?真彩色

m*n?k*3?標量?1*3

m*n?k*3?k*1?k*3?同上

m*n?k*3?m*1?m*3

舉例:

該例中使用兩種不同的方法來創建一個補片對象:

指定x、y和z坐標以及顏色數據(XData、YData和ZData以及CData屬性)

指定頂點,連接矩陣以及顏色矩陣(Vertices、Faces、FaceVertexCData以及FaceColor屬性)

1、指定x、y和z坐標

x=[0 0;0

1;1 1];

y=[1 1;2

2;2 1];

z=[1 1;1

1;1 1];

tcolor(1,1,1:3)=[1 1 1];

tcolor(1,2,1:3)=[.7 .7 .7];

patch(x,y,z,tcolor)

注意每個面和其他面之間共用兩個頂點。

2、指定定點和表面

Vertices屬性包含定義補片的每一個定點的坐標,Faces屬性確定如何連接這些頂點來組成不判的每一個表面。在本例中,兩個頂點位于同一個位置,因此需要指定六個頂點。每一樣包含定點的x、y和z坐標。

vert=[0 1

1;0 2 1;1 2 1;1 1 1];

有兩個表面,按照指定的順序連接定點而成:

fac=[1 2

3;1 3 4];

指定表面的顏色,指定包含兩個RGB顏色的2*3的矩陣;

tcolor=[1

1 1;.7 .7 .7];

用戶必須設置FaceColor屬性為flat,通過指定Faces、Vertices、FaceVertexCData以及FaceColor屬性來創建

補片對象:

patch('Faces',fac,'Vertices',vert,'FaceVertexCData',tcolor,'FaceColor','flat')

結果如上圖所示。

。。。。。。

總結

以上是生活随笔為你收集整理的matlab中patch命令_matlab中patch函数的用法——emily的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。