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

📄 rfsts5.ps

📁 生成直角Steiner树的程序包
💻 PS
字号:
%!PS-Adobe-3.0%%Creator: Steiner Tree Version 3.1%%Copyright: Copyright (c) 1998, 2001 by David M. Warme%%LanguageLevel: 1%%DocumentNeededResources: font Times-Roman%%DocumentSuppliedResources: procset SteinerTreeProcs 2.0 0%%EndComments%%BeginProlog%%BeginProcSet: SteinerTreeProcs 2.0 0/LabelTerminals	0		def	% set non-zero to label terminals/inch { 72 mul } def/PaperWidth	8.5 inch	def/PaperHeight	11 inch		def/BigBoxSize	7 inch		def/SmallBoxSize	2 inch		def/SmallBoxHeight	SmallBoxSize	def/SmallBoxWidth	SmallBoxSize	def/BoxHeight	BigBoxSize	def/BoxWidth	BigBoxSize	def/MinX		0		def/MaxX		1		def/MinY		0		def/MaxY		1		def/BoxMode	0		def	% (0 ==> big plot, 1 ==> small plots)/SmallBoxCount	0		def/TermRadius	1 32 div inch	def/LineWidth	currentlinewidth	def% Define the clipping region to be the inside edge of the box./ClipHeight	BigBoxSize LineWidth sub def/ClipWidth	ClipHeight def% Define the plotting region so that points plotted at the extremes will% exactly meet the edge of the clipping region.  (Reduce by the terminal% radius on each side.)/PlotHeight	ClipHeight TermRadius 2 mul sub def/PlotWidth	ClipWidth  TermRadius 2 mul sub	def/XlateX { MinX sub MaxX MinX sub div PlotWidth mul } def/XlateY { MinY sub MaxY MinY sub div PlotHeight mul } def/XlateXY { exch XlateX exch XlateY } def/Dup2 { dup 3 -1 roll dup 4 1 roll exch } def/Swap2 { 4 2 roll } def% define the two fonts we will use:%	- one for numbering the terminals%	- one for printing the plot's title/TermNumPointsize	8	def/TitlePointsize		15	def/TermNumFont	/Times-Roman findfont TermNumPointsize scalefontdef/UseTermNumFont { TermNumFont setfont } def/TitleFont	/Times-Roman findfont TitlePointsize scalefontdef/UseTitleFont { TitleFont setfont } def/DefineTerminals {	/NumTerms exch def	/TermX NumTerms array def	/TermY NumTerms array def	/TermIndex 0 def} def/DT {	TermY TermIndex 3 -1 roll put	TermX TermIndex 3 -1 roll put	/TermIndex TermIndex 1 add def} def/SetAxes {	% minx maxx miny maxy	/MaxY exch def	/MinY exch def	/MaxX exch def	/MinX exch def} def/PTString	12 string	def/Plot_Terminals {	LabelTerminals 0 eq {		% Display terminals, no labels		0 1 NumTerms 1 sub {			% i			dup				% i i			TermX exch get exch		% x i			TermY exch get			newpath			XlateXY			TermRadius 0 360 arc fill		} for	}	{	% Display terminals, with labels		0 1 NumTerms 1 sub {			% i			dup				% i i			PTString cvs exch dup		% str i i			TermX exch get exch		% str x i			TermY exch get			% str x y			newpath			XlateXY			Dup2			TermRadius 0 360 arc fill			moveto TermRadius 3 mul dup neg rmoveto			UseTermNumFont			show		} for	} ifelse} def% n T ==> Xn Yn, get coordinates of terminal n./T {	dup	TermX exch get exch	TermY exch get} def% Draw a line segment./S {	newpath	XlateXY	moveto	XlateXY	lineto	stroke} def% Draw a corner.  First point is incident to vertical segment.% Second point is incident to horizontal segment./C {	% x1 y1 x2 y2	newpath	% x1 y1 x2 y2 -> x1 y1 x1 y2 x2 y2	4 -1 roll dup 5 1 roll exch dup 4 -1 roll exch	XlateXY	moveto	XlateXY	lineto	XlateXY	lineto	stroke} def/BeginPlot {	FlushSmallPlot	gsave	PaperWidth BoxWidth sub 2 div	 PaperHeight BoxHeight sub 2 div	  translate	newpath	0 0 moveto	BoxWidth 0 lineto	BoxWidth BoxHeight lineto	0 BoxHeight lineto	closepath	stroke	gsave	% establish a clipping region at the inside edge of the box	LineWidth 2 div dup moveto	ClipWidth 0 rlineto	0 ClipHeight rlineto	ClipWidth neg 0 rlineto	closepath	clip	% establish the origin for the plotting region	LineWidth 2 div TermRadius add	 dup	  translate} def/EndPlot {	grestore	newpath	UseTitleFont	0 0 moveto		dup stringwidth pop BigBoxSize exch sub 2 div		TitlePointsize -2 mul	rmoveto	show	grestore	showpage} def/BeginSmallPlot {	gsave	.75 inch SmallBoxCount 3 mod SmallBoxWidth .5 inch add mul add	  .75 inch 3 SmallBoxCount 3 idiv sub SmallBoxHeight .5 inch add mul add	    translate	SmallBoxWidth BoxWidth div	 SmallBoxHeight BoxHeight div	  scale	newpath	0 0 moveto	BoxWidth 0 lineto	BoxWidth BoxHeight lineto	0 BoxHeight lineto	closepath	stroke	gsave	% establish a clipping region at the inside edge of the box	LineWidth 2 div dup moveto	ClipWidth 0 rlineto	0 ClipHeight rlineto	ClipWidth neg 0 rlineto	closepath	clip	% establish the origin for the plotting region	LineWidth 2 div TermRadius add	 dup	  translate} def/EndSmallPlot2 {	grestore	newpath	UseTitleFont	0 0 moveto		dup stringwidth pop BigBoxSize exch sub 2 div		TitlePointsize -2 mul	rmoveto	show	grestore	/SmallBoxCount SmallBoxCount 1 add def	SmallBoxCount 12 ge {		FlushSmallPlot	} if} def/FlushSmallPlot {	SmallBoxCount 0 gt {		showpage		/SmallBoxCount	0 def	} if} def/PT {	dup				% i i	TermX exch get exch		% x i	TermY exch get	newpath	XlateXY	TermRadius 0 360 arc fill} def%%EndProcSet%%EndProlog % Phase 1: 0.00 seconds%%BeginSetup0 10000 0 10000 SetAxes5 DefineTerminals	1857	2738	DT	2894	8773	DT	1463	5183	DT	6905	8268	DT	3221	2457	DT%%EndSetup%%Page: 1 1BeginSmallPlot	Plot_Terminals % fs0: 2 0 1 3	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S  (FST 0,  Length = 11477)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs1: 2 0 1	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	1 T	C  (FST 1,  Length = 7466)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs2: 2 1 3	2 T	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S  (FST 2,  Length = 9032)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs3: 0 4	0 T	4 T	C  (FST 3,  Length = 1645)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs4: 0 2	2 T	0 T	C  (FST 4,  Length = 2839)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs5: 1 3	1 T	3 T	C  (FST 5,  Length = 4516)EndSmallPlot2BeginSmallPlot	Plot_Terminals % fs6: 1 2	2 T	1 T	C  (FST 6,  Length = 5021)EndSmallPlot2FlushSmallPlot%%Page: 2 2BeginSmallPlot % fs6: 1 2	2 T	1 T	C % fs3: 0 4	0 T	4 T	C	Plot_Terminals  (FSTs 3, 6.)EndSmallPlot2BeginSmallPlot % fs5: 1 3	1 T	3 T	C % fs4: 0 2	2 T	0 T	C	Plot_Terminals  (FSTs 4, 5.)EndSmallPlot2BeginSmallPlot % fs2: 2 1 3	2 T	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S	Plot_Terminals  (FST 2.)EndSmallPlot2BeginSmallPlot % fs1: 2 0 1	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	1 T	C	Plot_Terminals  (FST 1.)EndSmallPlot2BeginSmallPlot % fs0: 2 0 1 3	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S	Plot_Terminals  (FST 0.)EndSmallPlot2FlushSmallPlot%%Page: 3 3BeginPlot	Plot_Terminals % fs0: 2 0 1 3	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S % fs1: 2 0 1	2 T	1857	5183	S	1857	5183	0 T	S	1857	5183	1 T	C % fs2: 2 1 3	2 T	2894	8268	C	2894	8268	1 T	S	2894	8268	3 T	S % fs3: 0 4	0 T	4 T	C % fs4: 0 2	2 T	0 T	C % fs5: 1 3	1 T	3 T	C % fs6: 1 2	2 T	1 T	C  (All FSTs:  5 points,  0.00 seconds)EndPlot

⌨️ 快捷键说明

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