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

📄 fgluperspective.ps

📁 计算机图形学~想必是很多人需要的~在此共享一下
💻 PS
字号:
%!PS-Adobe-1.0%%Creator: splat:n8 (Nate Robins,,,,,,,<engr>)%%Title: stdin (ditroff)%%CreationDate: Tue Jul 22 19:19:50 1997%%EndComments% Start of psdit.pro -- prolog for ditroff translator% Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved. % GOVERNMENT END USERS: See Notice file in TranScript library directory% -- probably /usr/lib/ps/Notice% $Revision: 1.2 $/$DITroff 140 dict def $DITroff begin/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def/xi {0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto  /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F  /pagesave save def}def/PB{save /psv exch def currentpoint translate  resolution 72 div dup neg scale 0 0 moveto}def/PE{psv restore}def/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def/tan{dup sin exch cos div}bind def/point{resolution 72 div mul}bind def/dround	{transform round exch round exch itransform}bind def/xT{/devname exch def}def/xr{/mh exch def /my exch def /resolution exch def}def/xp{}def/xs{docsave restore end}def/xt{}def/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not {fonts slotno fontname findfont put fontnames slotno fontname put}if}def/xH{/fontheight exch def F}bind def/xS{/fontslant exch def F}bind def/s{/fontsize exch def /fontheight fontsize def F}bind def/f{/fontnum exch def F}bind def/F{fontheight 0 le {/fontheight fontsize def}if   fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore   fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if   makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}bind def/X{exch currentpoint exch pop moveto show}bind def/N{3 1 roll moveto show}bind def/Y{exch currentpoint pop exch moveto show}bind def/S /show load def/ditpush{}def/ditpop{}def/AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}bind def/AN{4 2 roll moveto 0 exch ashow}bind def/AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}bind def/AS{0 exch ashow}bind def/MX{currentpoint exch pop moveto}bind def/MY{currentpoint pop exch moveto}bind def/MXY /moveto load def/cb{pop}def	% action on unknown char -- nothing for now/n{}def/w{}def/p{pop showpage pagesave restore /pagesave save def}def/abspoint{currentpoint exch pop add exch currentpoint pop add exch}def/dstroke{currentpoint stroke moveto}bind def/Dl{2 copy gsave rlineto stroke grestore rmoveto}bind def/arcellipse{oldmat currentmatrix pop currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def rad 0 rad -180 180 arc oldmat setmatrix}def/Dc{gsave dup /diamv exch def /diamh exch def arcellipse dstroke     grestore diamh 0 rmoveto}def/De{gsave /diamv exch def /diamh exch def arcellipse dstroke    grestore diamh 0 rmoveto}def/Da{currentpoint /by exch def /bx exch def /fy exch def /fx exch def   /cy exch def /cx exch def /rad cx cx mul cy cy mul add sqrt def   /ang1 cy neg cx neg atan def /ang2 fy fx atan def cx bx add cy by add   2 copy rad ang1 ang2 arcn stroke exch fx add exch fy add moveto}def/Barray 200 array def % 200 values in a wiggle/D~{mark}def/D~~{counttomark Barray exch 0 exch getinterval astore /Bcontrol exch def pop /Blen Bcontrol length def Blen 4 ge Blen 2 mod 0 eq and {Bcontrol 0 get Bcontrol 1 get abspoint /Ycont exch def /Xcont exch def  Bcontrol 0 2 copy get 2 mul put Bcontrol 1 2 copy get 2 mul put  Bcontrol Blen 2 sub 2 copy get 2 mul put  Bcontrol Blen 1 sub 2 copy get 2 mul put  /Ybi /Xbi currentpoint 3 1 roll def def 0 2 Blen 4 sub  {/i exch def   Bcontrol i get 3 div Bcontrol i 1 add get 3 div   Bcontrol i get 3 mul Bcontrol i 2 add get add 6 div   Bcontrol i 1 add get 3 mul Bcontrol i 3 add get add 6 div   /Xbi Xcont Bcontrol i 2 add get 2 div add def   /Ybi Ycont Bcontrol i 3 add get 2 div add def   /Xcont Xcont Bcontrol i 2 add get add def   /Ycont Ycont Bcontrol i 3 add get add def   Xbi currentpoint pop sub Ybi currentpoint exch pop sub rcurveto  }for dstroke}if}defend/ditstart{$DITroff begin /nfonts 60 def			% NFONTS makedev/ditroff dependent! /fonts[nfonts{0}repeat]def /fontnames[nfonts{()}repeat]def/docsave save def}def% character outcalls/oc {/pswid exch def /cc exch def /name exch def   /ditwid pswid fontsize mul resolution mul 72000 div def   /ditsiz fontsize resolution mul 72 div def   ocprocs name known{ocprocs name get exec}{name cb}   ifelse}def/fractm [.65 0 0 .6 0 0] def/fraction {/fden exch def /fnum exch def gsave /cf currentfont def  cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto  fnum show rmoveto currentfont cf setfont(\244)show setfont fden show   grestore ditwid 0 rmoveto} def/oce {grestore ditwid 0 rmoveto}def/dm {ditsiz mul}def/ocprocs 50 dict def ocprocs begin(14){(1)(4)fraction}def(12){(1)(2)fraction}def(34){(3)(4)fraction}def(13){(1)(3)fraction}def(23){(2)(3)fraction}def(18){(1)(8)fraction}def(38){(3)(8)fraction}def(58){(5)(8)fraction}def(78){(7)(8)fraction}def(sr){gsave .05 dm .16 dm rmoveto(\326)show oce}def(is){gsave 0 .15 dm rmoveto(\362)show oce}def(->){gsave 0 .02 dm rmoveto(\256)show oce}def(<-){gsave 0 .02 dm rmoveto(\254)show oce}def(==){gsave 0 .05 dm rmoveto(\272)show oce}defend% DIThacks fonts for some special chars50 dict dup begin/FontType 3 def/FontName /DIThacks def/FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def/FontBBox [-220 -280 900 900] def% a lie but .../Encoding 256 array def0 1 255{Encoding exch /.notdef put}forEncoding dup 8#040/space put %space dup 8#110/rc put %right ceil dup 8#111/lt put %left  top curl dup 8#112/bv put %bold vert dup 8#113/lk put %left  mid curl dup 8#114/lb put %left  bot curl dup 8#115/rt put %right top curl dup 8#116/rk put %right mid curl dup 8#117/rb put %right bot curl dup 8#120/rf put %right floor dup 8#121/lf put %left  floor dup 8#122/lc put %left  ceil dup 8#140/sq put %square dup 8#141/bx put %box dup 8#142/ci put %circle dup 8#143/br put %box rule dup 8#144/rn put %root extender dup 8#145/vr put %vertical rule dup 8#146/ob put %outline bullet dup 8#147/bu put %bullet dup 8#150/ru put %rule dup 8#151/ul put %underline pop/DITfd 100 dict def/BuildChar{0 begin /cc exch def /fd exch def /charname fd /Encoding get cc get def /charwid fd /Metrics get charname get def /charproc fd /CharProcs get charname get def charwid 0 fd /FontBBox get aload pop setcachedevice 40 setlinewidth newpath 0 0 moveto gsave charproc grestore end}def/BuildChar load 0 DITfd put%/UniqueID 5 def/CharProcs 50 dict defCharProcs begin/space{}def/.notdef{}def/ru{500 0 rls}def/rn{0 750 moveto 500 0 rls}def/vr{20 800 moveto 0 -770 rls}def/bv{20 800 moveto 0 -1000 rls}def/br{20 770 moveto 0 -1040 rls}def/ul{0 -250 moveto 500 0 rls}def/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def/sq{80 0 rmoveto currentpoint dround newpath moveto    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def/bx{80 0 rmoveto currentpoint dround newpath moveto    640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def/ci{355 333 rmoveto currentpoint newpath 333 0 360 arc    50 setlinewidth stroke}def/lt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def/lb{20 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def/rt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def/rb{20 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def/lk{20 800 moveto 20 300 -280 300 s4 arcto pop pop 1000 sub    currentpoint stroke moveto    20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def/rk{20 800 moveto 20 300 320 300 s4 arcto pop pop 1000 sub    currentpoint stroke moveto    20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def/lf{20 800 moveto 0 -1000 rlineto s4 0 rls}def/rf{20 800 moveto 0 -1000 rlineto s4 neg 0 rls}def/lc{20 -200 moveto 0 1000 rlineto s4 0 rls}def/rc{20 -200 moveto 0 1000 rlineto s4 neg 0 rls}defend/Metrics 50 dict def Metrics begin/.notdef 0 def/space 500 def/ru 500 def/br 0 def/lt 250 def/lb 250 def/rt 250 def/rb 250 def/lk 250 def/rk 250 def/rc 250 def/lc 250 def/rf 250 def/lf 250 def/bv 250 def/ob 350 def/bu 350 def/ci 750 def/bx 750 def/sq 750 def/rn 500 def/ul 500 def/vr 0 defendDITfd begin/s2 500 def /s4 250 def /s3 333 def/a4p{arcto pop pop pop pop}def/2cx{2 copy exch}def/rls{rlineto stroke}def/currx{currentpoint pop}def/dround{transform round exch round exch itransform} defendend/DIThacks exch definefont popditstart(psc)xT576 1 1 xr1(Times-Roman)xf 1 f2(Times-Italic)xf 2 f3(Times-Bold)xf 3 f4(Times-BoldItalic)xf 4 f5(Helvetica)xf 5 f6(Helvetica-Bold)xf 6 f7(Courier)xf 7 f8(Courier-Bold)xf 8 f9(Symbol)xf 9 f10(DIThacks)xf 10 f10 s1 fxi%%EndProlog%%Page: 1 110 s 0 xH 0 xS 1 f10 f96(h)Y24(hhh)X4176(h)X4200(hhh)X9 s1 f266 480(F)N268(FG)X310(GL)X364(LU)X410(UP)X464(PE)X506(ER)X552(RS)X602(SP)X644(PE)X686(EC)X732(CT)X782(TI)X828(IV)X854(VE)X908(E)X958(\()X960(\()X996(\))X998(\))X1885(U)X1887(UN)X1941(NI)X1995(IX)X2021(X)X2093(S)X2095(Sy)X2137(ys)X2175(st)X2205(te)X2227(em)X2261(m)X2337(V)X2339(V)X3254(F)X3256(FG)X3298(GL)X3352(LU)X3398(UP)X3452(PE)X3494(ER)X3540(RS)X3590(SP)X3632(PE)X3674(EC)X3720(CT)X3770(TI)X3816(IV)X3842(VE)X3896(E)X3946(\()X3948(\()X3984(\))X3986(\))X266 864(N)N268(NA)X322(AM)X376(ME)X442(E)X3 f10 s554 960(fgluPerspective)N1 f9 f1100(-)X1 f1164(set)X1273(up)X1373(a)X1429(perspective)X1815(projection)X2160(matrix)X9 s266 1190(F)N268(FO)X310(OR)X364(RT)X414(TR)X460(RA)X510(AN)X564(N)X648(S)X650(SP)X692(PE)X734(EC)X780(CI)X830(IF)X856(FI)X898(IC)X924(CA)X974(AT)X1028(TI)X1074(IO)X1100(ON)X1154(N)X10 s554 1286(SUBROUTINE)N3 f1081(fgluPerspective)X1 f1607(\()X1654(REAL*8)X2 f1963(fovy)X1 f2097(,)X1648 1382(REAL*8)N2 f1957(aspect)X1 f2162(,)X1648 1478(REAL*8)N2 f1957(zNear)X1 f2148(,)X1648 1574(REAL*8)N2 f1957(zFar)X1 f2128(\))X554 1766(delim)N756($$)X9 s266 1900(P)N268(PA)X310(AR)X364(RA)X414(AM)X468(ME)X534(ET)X580(TE)X626(ER)X672(RS)X722(S)X2 f10 s554 1996(fovy)N1 f799(Speci\256es)X1108(the)X1226(\256eld)X1388(of)X1475(view)X1651(angle,)X1865(in)X1947(degrees,)X2233(in)X2315(the)X2 f2433(y)X1 f2489(direction.)X2 f554 2130(aspect)N1 f799(Speci\256es)X1110(the)X1230(aspect)X1453(ratio)X1622(that)X1764(determines)X2138(the)X2258(\256eld)X2422(of)X2511(view)X2689(in)X2773(the)X2 f2893(x)X1 f2951(direction.)X3298(The)X3445(aspect)X3668(ratio)X3837(is)X3912(the)X799 2226(ratio)N966(of)X2 f1053(x)X1 f1109(\(width\))X1365(to)X2 f1447(y)X1 f1503(\(height\).)X2 f554 2360(zNear)N1 f799(Speci\256es)X1108(the)X1226(distance)X1509(from)X1685(the)X1803(viewer)X2042(to)X2124(the)X2242(near)X2401(clipping)X2683(plane)X2877(\(always)X3147(positive\).)X2 f554 2494(zFar)N1 f799(Speci\256es)X1108(the)X1226(distance)X1509(from)X1685(the)X1803(viewer)X2042(to)X2124(the)X2242(far)X2352(clipping)X2634(plane)X2828(\(always)X3098(positive\).)X9 s266 2628(D)N268(DE)X322(ES)X368(SC)X410(CR)X460(RI)X510(IP)X536(PT)X578(TI)X624(IO)X650(ON)X704(N)X3 f10 s554 2724(fgluPerspective)N1 f1103(speci\256es)X1402(a)X1461(viewing)X1742(frustum)X2014(into)X2162(the)X2284(world)X2495(coordinate)X2858(system.)X3144(In)X3235(general,)X3516(the)X3638(aspect)X3863(ratio)X554 2820(in)N3 f639(fgluPerspective)X1 f1188(should)X1424(match)X1643(the)X1764(aspect)X1988(ratio)X2157(of)X2246(the)X2366(associated)X2718(viewport.)X3045(For)X3178(example,)X3492($)X3554("aspect")X3843(=)X3910(2.0)X554 2916($)N616(means)X843(the)X963(viewer's)X1262(angle)X1458(of)X1547(view)X1725(is)X1801(twice)X1998(as)X2088(wide)X2267(in)X2 f2352(x)X1 f2411(as)X2501(it)X2568(is)X2644(in)X2 f2729(y)X1 f2765(.)X2828(If)X2905(the)X3026(viewport)X3334(is)X3410(twice)X3607(as)X3697(wide)X3876(as)X3966(it)X554 3012(is)N627(tall,)X769(it)X833(displays)X1115(the)X1233(image)X1449(without)X1713(distortion.)X554 3146(The)N702(matrix)X934(generated)X1270(by)X3 f1373(fgluPerspective)X1 f1922(is)X1998(multipled)X2327(by)X2430(the)X2551(current)X2802(matrix,)X3054(just)X3193(as)X3284(if)X3 f3357(glMultMatrix)X1 f3853(were)X554 3242(called)N768(with)X932(the)X1052(generated)X1387(matrix.)X1658(To)X1769(load)X1929(the)X2048(perspective)X2435(matrix)X2665(onto)X2828(the)X2947(current)X3196(matrix)X3426(stack)X3612(instead,)X3880(pre-)X554 3338(cede)N722(the)X840(call)X976(to)X3 f1058(fgluPerspective)X1 f1604(with)X1766(a)X1822(call)X1958(to)X3 f2040(glLoadIdentity)X1 f2550(.)X554 3472(Given)N2 f770(f)X1 f812(de\256ned)X1068(as)X1155(follows:)X1684 3664(f)N1751(\304=\304)X1870(cotangent"\("{"fovy")X2546(over)X2709(2}"\)")X554 3856(The)N699(generated)X1032(matrix)X1261(is)X1826 4048(left)N1953(\()X2000(\304\304)X2074(down)X2272(130)X2412({)X2470(matrix)X2699({)X614 4144(ccol)N768({)X826({f)X911(over)X1074("aspect"})X1399(above)X1611(0)X1671(above)X1883(0)X1943(above)X2155(0)X2215(})X614 4240(ccol)N768({)X826(0)X886(above)X1098(f)X1145(above)X1357(0)X1417(above)X1629(0)X1689(})X614 4336(ccol)N768({)X826(0)X886(above)X1098(0)X1158(above)X1370({{"zFar")X1675(+)X1740("zNear"})X2057(over)X2220({"zNear")X2537(-)X2584("zFar"}})X2889(above)X3101(-1)X3188(})X614 4432(ccol)N768({)X826(0)X886(above)X1098(0)X1158(above)X1370({{2)X1506(*)X1566("zFar")X1795(*)X1855("zNear"})X2172(over)X2335({"zNear")X2652(-)X2699("zFar"}})X3004(above)X3216(0})X3314(}})X3430(\304\304\304)X3531(right)X3702(\))X9 s266 4662(N)N268(NO)X322(OT)X376(TE)X422(ES)X468(S)X10 s554 4758(Depth)N771(buffer)X989(precision)X1304(is)X1378(affected)X1659(by)X1760(the)X1879(values)X2105(speci\256ed)X2411(for)X2 f2526(zNear)X1 f2738(and)X2 f2875(zFar)X1 f3026(.)X3088(The)X3235(greater)X3481(the)X3601(ratio)X3770(of)X2 f3859(zFar)X1 f554 4854(to)N2 f639(zNear)X1 f853(is,)X949(the)X1070(less)X1213(effective)X1518(the)X1639(depth)X1840(buffer)X2060(will)X2207(be)X2306(at)X2387(distinguishing)X2862(between)X3152(surfaces)X3438(that)X3580(are)X3701(near)X3862(each)X554 4950(other.)N779(If)X1833 5142($r)N1920(\304=\304)X2039("zFar")X2268(over)X2431("zNear"$)X554 5372(roughly)N833($log)X1005(sub)X1146(2)X1216(r$)X1313(bits)X1458(of)X1555(depth)X1763(buffer)X1990(precision)X2314(are)X2444(lost.)X2630(Because)X2929($r$)X3067(approaches)X3460(in\256nity)X3721(as)X2 f3819(zNear)X1 f554 5468(approaches)N936(0,)X2 f1016(zNear)X1 f1227(must)X1402(never)X1601(be)X1697(set)X1806(to)X1888(0.)X9 s266 5602(S)N268(SE)X310(EE)X356(E)X432(A)X434(AL)X488(LS)X534(SO)X576(O)X3 f10 s554 5698(glFrustum)N1 f(,)S3 f954(glLoadIdentity)X1 f1464(,)X3 f1504(glMultMatrix)X1 f1976(,)X3 f2016(fgluOrtho2D)X1 f266 6144(Page)N442(1)X3577(July)X3730(22,)X3850(1997)X10 f0 6428(h)N24(hhh)X4176(h)X4200(hhh)X1 p%%Trailerxtxs

⌨️ 快捷键说明

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