⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmemops.eps

📁 隐马尔可夫模型源代码
💻 EPS
📖 第 1 页 / 共 4 页
字号:
/DrawFlattendSegment {


 /pointCount 2 def


 dup 0 lt { pop 0 } if


 fpc


 3 1 roll


 2 index


 1 index


 gt {


 2 copy get


 dup length


 dup 3 eq {


 pop


 dup 0 get


 exch 1 get


 2 copy InitTotalLineLength  


 m


 } {


 } ifelse


 } {


 pop 1 index


 } ifelse


 dup 1 add


 3 index


 exch sub


 dup 10 gt { pop 10} if


 {


 1 add


 2 copy


 get aload pop


 AccumeLineLength


 exec


 } repeat


 3 1 roll pop pop


 DecumeLastLineLength


} bind def


/IncFPC {


 fpc add


 /fpc exch def


} bind def


/DrawFlatPathArray {


 fpc


 0 { 


 dup 2 index


 1 sub


 lt { 


 flatPathArray exch


 newpath


 1 sub DrawFlattendSegment


 gsave


 pathSegProc


 grestore


 newpath


 }


 {


 pop pop


 exit


 } ifelse


 } loop


} bind def


/RecordFirstSubSegment {


 closepathArray 0 pathArray 0 get


 put


 closepathArray 1


 pathArray 0 get aload pop pop


 pathArray 1 get dup length 3 eq {


 aload pop pop


 } {


 newpath


 0 0 moveto


 aload pop exec


 /segmentArray flattenpath MakeFlatPathArray def


 segmentArray 1 get aload pop pop


 } ifelse


 FractionalLine {lineto} 3 array astore


 put


} bind def


/AppendClosePath {


 closepathArray 0 get 2 {lineto} put


 flatPathArray fpc closepathArray 0 get put


 1 IncFPC


 flatPathArray fpc closepathArray 1 get put


 1 IncFPC


} bind def


/RecordCurrentDash {


 /theDash


 currentdash 2 array astore def


 /currentLineLength 0 def


} bind def


/PatternStroke {


	0 setlinecap


 RecordCurrentDash


 /saveFlat currentflat def


 .5 setflat


 /pathArray MakePathArray def


 /closepathArray 2 array def


 /pathLength pathArray length def


 /flatPathArray 513 array def


 /currentLineLength 0 def


 /fpc 0 def


 pathArray pathLength 1 sub get


 length 1 eq {


 /usingClosepath true def


 RecordFirstSubSegment


 /pathLength pathLength 1 sub def


 } {


 /usingClosepath false def


 } ifelse


 0 1 pathLength 1 sub {


 pathArray exch get


 dup length 3 eq {


 fpc 1 add 512 ge {


 DrawFlatPathArray


 fpc 2 ge {


 flatPathArray flatPathArray fpc 2 sub get 0 put


 flatPathArray flatPathArray fpc 1 sub get 1 put


 /fpc 2 def


 }{


 /fpc 0 def


 } ifelse


 } if


 flatPathArray exch fpc exch put


 1 IncFPC


 } {


 dup length 7 eq {


 newpath


 /nToStrip 0 def


 fpc 1 gt {


 flatPathArray fpc 2 sub get aload pop pop m


 flatPathArray fpc 1 sub get aload pop exec


 /nToStrip 2 def


 } {


 fpc 1 eq {


 flatPathArray fpc 1 sub get aload pop exec


 /nToStrip 2 def


 } if


 } ifelse


 aload pop exec


 /segmentArray flattenpath MakeFlatPathArray def


 /segmentArray nToStrip segmentArray StripFromFront def


 segmentArray length fpc add 512 lt {


 flatPathArray fpc segmentArray putinterval


 segmentArray length IncFPC


 } {


 DrawFlatPathArray


 fpc 1 gt {


 flatPathArray flatPathArray fpc 2 sub get 0 exch put


 flatPathArray flatPathArray fpc 1 sub get 1 exch put


 /fpc 2 def


 }{


 /fpc 0 def


 } ifelse


 segmentArray length 512 lt {


 flatPathArray fpc segmentArray putinterval


 segmentArray length IncFPC


 } {


 segmentArray length


 /exitLoop false def


 0 


 {


 2 copy sub


 dup 500 gt {


 pop 500


 } { 


 /exitLoop true def


 } ifelse 


 segmentArray 2 index 2 index getinterval


 flatPathArray fpc 3 -1 roll putinterval


 dup IncFPC


 add 


 exitLoop {


 exit 


 } {


 DrawFlatPathArray


 fpc 1 gt {


 flatPathArray flatPathArray fpc 2 sub get 0 exch put


 flatPathArray flatPathArray fpc 1 sub get 1 exch put


 /fpc 2 def


 }{


 /fpc 0 def


 } ifelse


 } ifelse


 } loop


 } ifelse


 } ifelse


 } if


 } ifelse


 } for


 fpc 0 gt {


 usingClosepath {


 AppendClosePath


 } if


 DrawFlatPathArray


 } if


 saveFlat setflat


} bind def








%%BeginProcSet : rampdelta


/rampdelta {


/len 0 3 -1 roll add def


/i2 0 3 -1 roll add def


/i1 0 3 -1 roll add def


/nRampSteps len cellPenW div cvi 1 add dup 512 gt {pop 512} if def


/rampPenW len nRampSteps div def


rampColors i1 get aload pop c1 astore pop


rampColors i2 get aload pop c2 astore pop


c2 0 get c1 0 get sub nRampSteps div d 0 3 -1 roll put


c2 1 get c1 1 get sub nRampSteps div d 1 3 -1 roll put


c2 2 get c1 2 get sub nRampSteps div d 2 3 -1 roll put


d aload pop


} bind def


%%EndProcSet


%%BeginProcSet : adddelta


/adddelta {


d astore pop


 mycurrentrgbcolor c1 copy pop


c1 0 get d 0 get add c2 0 3 -1 roll put


c1 1 get d 1 get add c2 1 3 -1 roll put


c1 2 get d 2 get add c2 2 3 -1 roll put


c2 aload pop setrgbcolor


c2 mycurrentrgbcolor copy pop


} bind def


%%EndProcSet


%%BeginProcSet : rampline


/rampline {


segbox ulx get rampPenW add segbox ulx 3 -1 roll put


segbox llx get rampPenW add segbox llx 3 -1 roll put


segbox ulx get segbox uly get moveto


segbox llx get segbox lly get lineto


delta aload pop adddelta stroke


}bind def


%%EndProcSet


%%BeginProcSet : slantrampseg


/slantrampseg {


gsave newpath


segbox ulx get segbox urx get sub abs


rampdelta delta astore pop


segbox ulx get rampPenW .5 mul sub segbox ulx 3 -1 roll put


segbox llx get rampPenW .5 mul sub segbox llx 3 -1 roll put


rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor


rampPenW setlinewidth nRampSteps {rampline} repeat


grestore


}bind def


%%EndProcSet


%%BeginProcSet : flipramp


/flipramp {


rampColors 0 get rampColors 3 get rampColors 0 3 -1 roll put rampColors 3 3 -1 roll put


rampColors 1 get rampColors 2 get rampColors 1 3 -1 roll put rampColors 2 3 -1 roll put


} bind def


%%EndProcSet


%%BeginProcSet : leftrbox


/leftrbox {


rbox segbox copy pop	


rbox urx get rbox ulx get sub


flipRatio mul dup 


segbox ulx get add segbox urx 3 -1 roll put


segbox llx get add segbox lrx 3 -1 roll put


} bind def


%%EndProcSet


%%BeginProcSet : rightrbox


/rightrbox {


rbox segbox copy pop	


rbox urx get rbox ulx get sub


flipRatio mul dup 


segbox ulx get add segbox ulx 3 -1 roll put


segbox llx get add segbox llx 3 -1 roll put


} bind def


%%EndProcSet


%%BeginProcSet : drawslantramp


/drawslantramp {


segbox urx get segbox ulx get sub 3 div dup dup dup dup dup dup dup dup dup


segbox ulx get add segbox urx 3 -1 roll put


segbox llx get add segbox lrx 3 -1 roll put


segbox aload pop


0 0 1 slantrampseg


segbox astore pop


segbox ulx get add segbox ulx 3 -1 roll put


segbox llx get add segbox llx 3 -1 roll put


segbox urx get add segbox urx 3 -1 roll put


segbox lrx get add segbox lrx 3 -1 roll put


segbox aload pop


1 1 2 slantrampseg


segbox astore pop


segbox ulx get add segbox ulx 3 -1 roll put


segbox llx get add segbox llx 3 -1 roll put


segbox urx get add segbox urx 3 -1 roll put


segbox lrx get add segbox lrx 3 -1 roll put


2 2 3 slantrampseg


}bind def


%%EndProcSet


%%BeginProcSet : tan


/tan {


dup sin exch cos div


}bind def


%%EndProcSet


%%BeginProcSet : rampbox


/rampbox {


pbox top get dup rbox uly 3 -1 roll put rbox ury 3 -1 roll put


pbox left get dup rbox ulx 3 -1 roll put rbox llx 3 -1 roll put


pbox bottom get dup rbox lly 3 -1 roll put rbox lry 3 -1 roll put


pbox right get dup rbox urx 3 -1 roll put rbox lrx 3 -1 roll put


}bind def


%%EndProcSet


%%BeginProcSet : rampbox


/LoadSegBox {


4 copy


segbox llx 6 -1 roll put


segbox lly 5 -1 roll put


segbox lrx 4 -1 roll put


segbox lry 6 -1 roll put


segbox urx 5 -1 roll put


segbox ury 3 -1 roll put


segbox ulx 4 -1 roll put


segbox uly 3 -1 roll put


} bind def


/TransToCenter {


gsave


flattenpath


pathbbox


grestore


2 index


sub 2.0 div exch


3 index sub 2.0 div


4 -1 roll add


3 1 roll add


translate


} bind def


/RotRampGrad {


gsave


TransToCenter


-1.0 mul 180.0 add rotate


flattenpath


pathbbox 


clip


newpath


LoadSegBox


flipRatio 1 lt dup{flipramp}if flipRatio 0 gt and


{


/flipRatio 1.0 flipRatio sub def


segbox rbox copy pop leftrbox drawslantramp flipramp rightrbox drawslantramp


}


{drawslantramp} ifelse


grestore


} bind def


/bbg {


pbox exch get


} bind def


%%BeginProcSet : DR


/DR {		% Directional ramp


/workingMatrix mstore def


objectCord setmatrix


flipramp


gsave


flattenpath pathbbox


grestore


pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put


rampAngle RotRampGrad


RF


workingMatrix setmatrix


}bind def


%%EndProcSet


%%BeginProcSet : ramparc


/ramparc {


gsave


circum rampdelta delta astore pop


/rampPenW 60.0 nRampSteps div def


/ang1 exch rampAngle sub def 


/ang2 rampPenW ang1 add def 


rampColors exch get aload mycurrentrgbcolor copy pop setrgbcolor 1 setlinewidth


nRampSteps {ramparcseg}repeat


grestore


}bind def


%%EndProcSet


%%BeginProcSet : ramparcseg


/ramparcseg {


newpath


rampcenter aload pop moveto


rampcenter aload pop rampradius ang2 ang1 arcn fill


/ang1 ang2 def 


/ang2 ang2 rampPenW add def


delta aload pop adddelta


}bind def


%%EndProcSet


/GetRadius {


rbox urx get rbox llx get sub 2 div rampcenter 0 get abs add dup mul


rbox lly get rbox ury get sub 2 div rampcenter 1 get abs add dup mul


add sqrt


} bind def


%%BeginProcSet : circularRamp


/circularRamp {


rampbox


/rampradius GetRadius def


CalcCrcm


flipramp


0 0 0 1 ramparc


1 60 1 2 ramparc


2 120 2 3 ramparc


flipramp


0 180 0 1 ramparc


1 240 1 2 ramparc


2 300 2 3 ramparc


}bind def


%%EndProcSet


/GetCircumf {


2.0 mul 3.1415926 mul


} bind def


/CalcCrcm {


rampradius GetCircumf


/circum exch 6.0 div def


} bind def


%%BeginProcSet : CR


/CR {


gsave


clip


MTC currentmatrix pop


CTM setmatrix


flattenpath


pathbbox pbox bottom 3 -1 roll put pbox right 3 -1 roll put pbox top 3 -1 roll put pbox left 3 -1 roll put


pbox left get pbox right get sub abs 2 div 


pbox left get add rampcenter 0 get add rampcenter 0 3 -1 roll put


pbox top get pbox bottom get sub abs 2 div


pbox top get add rampcenter 1 get add rampcenter 1 3 -1 roll put


circularRamp


MTC setmatrix


grestore


RF


}bind def


%%EndProcSet


%%BeginProcSet : shaperamp


/SBR {


gsave


clip


/workingMatrix mstore def


objectCord setmatrix


flattenpath


/BaseBox pathbbox 4 array astore def


/len BaseBox 2 get BaseBox 0 get sub dup mul


BaseBox 3 get BaseBox 1 get sub dup mul


add sqrt


12.0 div


def


/EndBox


BaseBox aload pop


3 -1 roll sub


3 1 roll


exch sub


/dbx exch def


/dby exch def


BaseBox aload pop pop pop


/blly exch def


/bllx exch def


sbox 0 get 100.0 div dby mul blly add


sbox 1 get 100.0 div dbx mul bllx add


sbox 2 get 100.0 div dby mul blly add


sbox 3 get 100.0 div dbx mul bllx add


exch


4 -2 roll


exch


4 -2 roll


4 array astore


def


BaseBox EndBox ShapeBurst


workingMatrix setmatrix


grestore


} bind def


%%EndProcSet


/GetBoxCenter {


2 index


sub 2.0 div


3 -1 roll add


3 1 roll


1 index sub


2.0 div add


exch


} bind def


/GetInterBox {


/boxInter exch def


4 1 7 {


-1 roll


7 index


} for


sub boxInter mul


8 -1 roll add


7 1 roll


sub boxInter mul


7 -1 roll add


6 1 roll


sub boxInter mul


6 -1 roll add


5 1 roll


sub boxInter mul


5 -1 roll add


4 1 roll


} bind def


/GetBoxCenterDeltas {


GetBoxCenter


6 2 roll


GetBoxCenter


3 -1 roll exch sub


3 1 roll sub


exch


} bind def


/GetBoxCornerDeltas {


pop pop


4 2 roll pop pop


3 -1 roll sub


3 1 roll exch sub


exch


} bind def


%%BeginProcSet : getpath 


/getpath {


/k 0 def


{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{}pathforall


/pfa k array def


/k 0 def


{{moveto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}


{{lineto} 3 array astore pfa k 3 -1 roll put /k k 1 add def}


{{curveto} 7 array astore pfa k 3 -1 roll put /k k 1 add def}


{}pathforall


}bind def


%%EndProcSet


/ShapeBurst {


getpath


newpath


/SBERect exch 4 array copy def


/SBBRect exch 4 array copy def


/interRect1 SBBRect aload pop SBERect aload pop .3333333 GetInterBox 4 array astore def


/interRect2 SBBRect aload pop SBERect aload pop .6666666 GetInterBox 4 array astore def


0 0 1 SBBRect interRect1 ShapeBurstSeg


msave


interRect1 0 get interRect1 1 get translate


SBBRect aload pop interRect1 aload pop GetBoxesRatio scale


SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate


1 1 2 interRect1 interRect2 ShapeBurstSeg


mrestore


msave


interRect2 0 get interRect2 1 get translate


SBBRect aload pop interRect2 aload pop GetBoxesRatio scale


SBBRect 0 get -1.0 mul SBBRect 1 get -1.0 mul translate


2 2 3 interRect2 SBERect ShapeBurstSeg


mrestore


} bind def


/ShapeBurstSeg {


/sbr1 exch 4 array copy def


/sbr0 exch 4 array copy def


/blx sbr0 0 get def


/bly sbr0 1 get def


len rampdelta delta astore pop


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -