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

📄 libgm.ps

📁 This contains Graphic gems code
💻 PS
📖 第 1 页 / 共 4 页
字号:
601E03C078C01E03C070C01E03C0F1801E03C073803C07807F001803003C0023147D9325>I E /Fs 3 126 df<400004C0000C6000183000301800600C00C006018003030001860000CC0000780000300000300000780000CC000186000303000601800C00C0180060300030600018C0000C40000416187A9623>2 D<C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0022D7BA10D>106D<000C0000000C0000001E0000001E00000033000000330000006180000061800000C0C00001806000018060000300300006001800060018000C000C00180006003000030060000180C00000C0C00000E0C00000E0C00000C06000018030000300180006000C000C00060018000600180003003000018060000180600000C0C00000618000006180000033000000330000001E0000001E0000000C0000000C00001B287CA023>125 D E/Ft 134[17 2[17 18 9 17 11 1[18 18 18 28 7 2[7 18 189 18 18 17 18 18 11[24 20 22 3[26 5[9 4[24 24 1[22 20[944[{}29 33.333332 /Helvetica-Oblique rf /Fu 134[28 4[1728 19 1[30 30 30 4[14 30 2[28 30 28 1[28 13[33 5[41 6[301[36 14[28 28 28 28 28 2[14 46[{}23 50.000000 /Helvetica-Boldrf /Fv 134[55 4[33 55 39 1[61 6[28 61 4[55 61 55 19[8361 4[78 5[72 65[{}14 100.000000 /Helvetica-Bold rf /Fw206[111 2[55 46[{}2 200.000000 /Helvetica-Bold rf /Fx2 66 df<0000000000020000000000000F0000000000001F8000000000001FC000000000003FC000000000003F8000000000007F0000000000007F000000000000FE000000000000FE000000000001FC000000000001FC000000000003F8000000000003F8000000000007F0000000000007F000000000000FE000000000000FE000000000001FC000000000001FC000000000003F8000000000003F8000000000007F0000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F8000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F8000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F8000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F8000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F8000000000007F000000000000FF000000000000FE000000000001FE000000000001FC000000000003FC000000000003F8000000000007F800000000000FF000000000000FF000000000001FE000000000001FE000000000003FC000000000003FC000000000007F8000000000007F800000000000FF000000000000FF000000000001FE000000000001FE000000000003FC000000000003FC000000000007F8000000000007F800000000000FF000000000000FF000000000000FE000000000000FE000000000000FC00000000000078000000000000325D83D92B>1 D<1000000000000078000000000000FC000000000000FE000000000000FE000000000000FE0000000000007F0000000000007F0000000000003F8000000000003F8000000000001FC000000000001FC000000000000FE000000000000FE0000000000007F0000000000007F0000000000003F8000000000003F8000000000001FC000000000001FC000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000003F8000000000003FC000000000001FC000000000001FE000000000000FE000000000000FF0000000000007F0000000000007F8000000000007F8000000000003FC000000000003FC000000000001FE000000000001FE000000000000FF000000000000FF0000000000007F8000000000007F8000000000003FC000000000003FC000000000001FE000000000001FE000000000000FF000000000000FF0000000000007F8000000000007F8000000000003FC000000000001FC000000000001F8000000000000F00325D83D92B>65 D Eend%%EndProlog%%BeginSetup%%Feature: *Resolution 300dpiTeXDict begin%%EndSetup%%Page: 1 11 0 bop 150 110 a Fx(\001)-36 b(\001)p 193 28 14 8 v1 w(A)f(A)150 196 y(A)h(A)p 193 201 V -1 w(\001)h(\001)300200 y Fw(.1)299 359 y Fv(A)28 b(Graphics)g(Math)g(Librar)q(y)306534 y Fu(Fer)o(di)15 b(Scheeper)o(s)e(and)i(Stephen)f(F)-5b(.)14 b(Ma)o(y)306 584 y Ft(Adv)o(anced)d(Computing)h(Center)f(f)o(or)f(the)g(Ar)q(ts)g(and)h(Design)306 626 y(Depar)q(tment)h(of)e(Computer)h(and)g(Inf)o(or)q(mation)h(Science)306 668 y(The)f(Ohio)f(State)h(Univ)o(ersity)306 710 y(Columb)o(us,)g(Ohio)o(,)f(USA)782844 y Fs(})881 850 y Fu(Description)1219 844 y Fs(})150929 y Fr(lib)n(gm)23 b Fq(pro)o(vides)d(fundamen)o(tal)f(data)g(t)o(yp)q(es)i(often)f(required)g(b)o(y)h(graphics-related)e(programs.)150983 y(Included)g(are)e(data)f(t)o(yp)q(es)i(for)f(2D)f(and)i(3D)f(v)o(ectors,)f(and)i(for)f(3)11 b Fs(\002)h Fq(3)17 b(and)g(4)12b Fs(\002)g Fq(4)17 b(matrices.)24 b(In)150 1037 y(addition,)19b Fr(lib)n(gm)j Fq(pro)o(vides)c(a)h(set)g(of)g(constan)o(ts)f(and)i(utilit)o(y)d(functions)i(whic)o(h)g(are)g(useful)g(for)1501091 y(graphics)e(programm)o(ing)d(and)j(a)g(b)q(o)q(olean)g(data)g(t)o(yp)q(e)g Fp(bool)i Fq(with)d(b)q(o)q(olean)h(constan)o(ts)gFp(false)150 1145 y Fq(and)e Fp(true)p Fq(.)195 1199y(The)21 b(constan)o(ts)f(de\014ned)i(b)o(y)e Fr(lib)n(gm)kFq(are)c(sho)o(wn)g(in)h(T)l(able)f Fo(??)p Fq(.)35 b(All)20b(constan)o(ts)g(are)g(double)150 1253 y(precision,)12b(\015oating)f(p)q(oin)o(t)h(n)o(um)o(b)q(ers)g(de\014ned)h(to)f(20)g(digits)f(of)g(precision,)h(although)g(only)g(6)g(digits)1501307 y(are)h(sho)o(wn)h(in)f(the)h(table.)19 b(T)l(ables)14b Fo(??)p Fq(|)p Fo(??)k Fq(sho)o(w)c(the)f(scalar)g(utilit)o(y)f(functions,)h(and)h(the)g(v)o(ector)150 1361 y(and)j(matrix)e(op)q(erations)h(pro)o(vided)h(b)o(y)g Fr(lib)n(gm)p Fq(.)25b(Notationally)l(,)15 b(w)o(e)h(use)i Fp(f)f Fq(or)gFp(f)p Fn(k)h Fq(\()p Fn(k)f Fq(=)f(1)p Fn(;)8 b Fq(2)pFn(;)g(:)g(:)f(:)m Fq(\))150 1415 y(to)16 b(denote)h(v)m(ariables)f(of)g(t)o(yp)q(e)h Fp(double)p Fq(,)i(and)e Fp(i)g Fq(or)fFp(i)p Fn(k)i Fq(\()p Fn(k)e Fq(=)f(1)p Fn(;)8 b Fq(2)pFn(;)g(:)g(:)f(:)m Fq(\))16 b(to)g(denote)h(v)m(ariables)f(of)1501469 y(t)o(yp)q(e)j Fp(int)p Fq(.)34 b(W)l(e)20 b(use)fFp(v)h Fq(or)f Fp(v)p Fn(i)g Fq(\()p Fn(i)g Fq(=)h(1)pFn(;)8 b Fq(2)p Fn(;)g(:)g(:)g(:)l Fq(\))19 b(to)g(denote)h(instances)f(of)g(v)o(ectors)f(and)i Fp(M)g Fq(or)e Fp(M)p Fn(i)1501523 y Fq(\()p Fn(i)12 b Fq(=)h(1)p Fn(;)8 b Fq(2)p Fn(;)g(:)g(:)f(:)mFq(\))14 b(to)h(denote)g(instances)f(of)h(matrices.)i(Matrix)d(elemen)o(ts)f(are)i(stored)f(in)h(ro)o(w-ma)s(jor)150 1577 y(order)h(and)h(can)g(b)q(e)g(accessed)g(or)f(c)o(hanged)h(b)o(y)g(using)f(t)o(w)o(o,)f(zero-indexed)i(subscript)g(op)q(erators.)150 1631 y(Note)f(that)f(the)i(adjoin)o(t)e(matrix)f Fn(M)793 1614 y Fm(\003)826 1631y Fq(=)h(\(1)p Fn(=)p Fs(j)p Fn(M)5 b Fs(j)p Fq(\))pFn(M)1082 1614 y Fm(\000)p Fl(1)1141 1631 y Fq(is)15b(used)i(to)f(determine)f(the)h(in)o(v)o(erse)g(of)g(a)1501685 y(non-singular)e(matrix)f Fn(M)607 1668 y Fl(1)6261685 y Fq(.)202 2394 y Fk(1)219 2410 y Fj(see)g(v)o(olume)f(I,)h(pages)h(470-471.)995 2578 y Fu(1)1242 2512 y Fl(Cop)o(yrigh)o(t)14072511 y(c)1398 2512 y Fm(\015)d Fl(1994)f(b)o(y)i(Academic)c(Press,)k(Inc.)1179 2545 y(All)d(righ)o(ts)i(of)g(repro)q(duction)f(in)h(an)o(y)h(form)e(reserv)o(ed.)1525 2578 y(ISBN)h(0-12-XXXXX)o(X-X)peop%%Page: 2 22 1 bop 150 125 a Fu(2)62 b Fs(})766 249 y Fi(T)m(able)10b(1.)66 b Fr(lib)n(gm)13 b Fh(Constants)p 232 281 15435 v 257 342 a Fg(gm2PI)149 b Ff(6.283185)p Fe(:)s(:)5b(:)74 b Ff(2)p Fe(\031)p 962 356 2 46 v 196 w Fg(gmPIDIV4)89b Ff(0.785398)p Fe(:)s(:)5 b(:)74 b(\031)q(=)p Ff(4)257388 y Fg(gmDEGTORAD)49 b Ff(0.017453)p Fe(:)s(:)5 b(:)74b(\031)q(=)p Ff(180)p 962 401 V 141 w Fg(gmPIDIV4)89b Ff(0.785398)p Fe(:)s(:)5 b(:)74 b(\031)q(=)p Ff(4)257433 y Fg(gmE)189 b Ff(2.718281)p Fe(:)s(:)5 b(:)74 b(e)p962 447 V 218 w Fg(gmRADTODEG)49 b Ff(57.295779)p Fe(:)r(:)6b(:)56 b Ff(180)p Fe(=\031)257 479 y Fg(gmEEXPPI)89 bFf(23.140692)p Fe(:)r(:)6 b(:)56 b(e)770 467 y Fd(\031)p962 493 V 988 479 a Fg(gmSQRT2)109 b Ff(1.414213)p Fe(:)s(:)5b(:)1485 451 y Fc(p)p 1514 451 18 2 v 28 x Ff(2)257 525y Fg(gmGOLDEN)89 b Ff(1.618033)p Fe(:)s(:)5 b(:)74 bFf(golden)9 b(ratio)p 962 538 2 46 v 49 w Fg(gmSQRT3)109b Ff(1.732050)p Fe(:)s(:)5 b(:)1485 497 y Fc(p)p 1514497 18 2 v 28 x Ff(3)257 570 y Fg(gmINVPI)109 b Ff(0.318309)pFe(:)s(:)5 b(:)74 b(\031)775 559 y Fb(\000)p Fk(1)p 962584 2 46 v 988 570 a Fg(gmSQRT10)89 b Ff(3.162277)p Fe(:)s(:)5b(:)1485 543 y Fc(p)p 1514 543 36 2 v 27 x Ff(10)257616 y Fg(gmLN10)129 b Ff(2.302585)p Fe(:)s(:)5 b(:)74b Ff(ln)5 b(10)p 962 630 2 46 v 163 w Fg(gmSQRTE)109b Ff(1.648721)p Fe(:)s(:)5 b(:)1485 592 y Fc(p)p 1514592 17 2 v 24 x Fe(e)257 662 y Fg(gmLN2)149 b Ff(0.693147)pFe(:)s(:)5 b(:)74 b Ff(ln)5 b(2)p 962 675 2 46 v 181w Fg(gmSQRTHALF)49 b Ff(0.707106)p Fe(:)s(:)5 b(:)1485634 y Fc(p)p 1514 634 46 2 v 28 x Ff(0)p Fe(:)p Ff(5)257707 y Fg(gmLOG10E)89 b Ff(0.434294)p Fe(:)s(:)5 b(:)74b Ff(log)5 b Fe(e)p 962 721 2 46 v 167 w Fg(gmSQRTLN2)69b Ff(0.832554)p Fe(:)s(:)5 b(:)1485 679 y Fc(p)p 1514679 53 2 v 28 x Ff(ln)g(2)257 753 y Fg(gmLOG2E)109 bFf(1.442695)p Fe(:)s(:)5 b(:)74 b Ff(lg)5 b Fe(e)p 962767 2 46 v 185 w Fg(gmSQRTPI)89 b Ff(1.772453)p Fe(:)s(:)5b(:)1485 729 y Fc(p)p 1514 729 22 2 v 24 x Fe(\031)257799 y Fg(gmPI)169 b Ff(3.141592)p Fe(:)s(:)5 b(:)74 b(\031)p962 812 2 46 v 214 w Fg(gmEPSILON)69 b Ff(1.0e-10)138b(next)10 b Fg(double)h Fe(>)f Ff(0)257 844 y Fg(gmPIDIV2)89b Ff(1.570796)p Fe(:)s(:)5 b(:)74 b(\031)q(=)p Ff(2)p962 858 V 177 w Fg(gmGOOGOL)89 b Ff(1.0e50)150 b(large)10b Fg(double)p 232 879 1543 5 v 719 973 a Fi(T)m(able)f(2.)66b Fr(lib)n(gm)13 b Fh(Utility)f(Functions)p 170 10051668 5 v 194 1053 a Ff(function)240 b(description)612b(usage)p 170 1077 1668 2 v 194 1121 a Fg(gmAbs\(f\))209b Ff(absolute)9 b(v)n(alue)i(of)g Fg(f)493 b(f1)20 b(=)g(gmAbs\(f2\);)194 1167 y(gmCeil\(f\))189 b Ff(least)11 b(in)o(teger)e(greater)h(than)g(or)h(equal)f(to)i Fg(f)183 b(f1)20 b(=)g(gmCeil\(f2\);)1941212 y(gmClamp\(f,f1,f2\))49 b Ff(clamp)10 b Fg(f)i Ff(to)fFg([f2,f3])465 b(gmClamp\(f,f1,f2\);)194 1258 y(gmCube\(f\))189b(f)583 1246 y Fk(3)1347 1258 y Fg(f1)20 b(=)g(gmCube\(f2\);)1941304 y(gmDegrees\(f\))129 b Ff(con)o(v)o(ert)10 b(angle)g(in)h(radians,)e Fg(f)p Ff(,)j(to)f(angle)f(in)h(degrees)61b Fg(f1)20 b(=)g(gmDegrees\(f2\);)194 1349 y(gmFloor\(f\))169b Ff(greatest)10 b(in)o(teger)f(less)i(than)g(or)g(equal)f(to)hFg(f)187 b(f1)20 b(=)g(gmFloor\(f2\);)194 1395 y(gmFuzEQ\(f1,f2\))89b(true)12 b Ff(i\013)f Fg(f1)g Ff(is)h(fuzzy)e(equal)g(to)hFg(f2)295 b(if)20 b(\(gmFuzEQ\(f1,f2\)\))e Fe(:)6 b(:)g(:)1941441 y Fg(gmFuzGEQ\(f1,f2\))69 b(true)12 b Ff(i\013)fFg(f1)g Ff(is)h(fuzzy)e(greater)g(than)g(or)h(equal)f(to)hFg(f2)50 b(if)20 b(\(gmFuzGEQ\(f1,f2\)\))e Fe(:)6 b(:)g(:)1941486 y Fg(gmFuzLEQ\(f1,f2\))69 b(true)12 b Ff(i\013)fFg(f1)g Ff(is)h(fuzzy)e(less)h(than)f(or)h(equal)g(to)gFg(f2)104 b(if)20 b(\(gmFuzLEQ\(f1,f2\)\))e Fe(:)6 b(:)g(:)1941532 y Fg(gmInv\(f\))209 b Ff(in)o(v)o(erse)10 b(of)hFg(f)p Ff(,)h Fg(f)f Fc(\031)-22 b Fe(=)18 b Ff(0)495b Fg(f1)20 b(=)g(gmInv\(f2\);)194 1578 y(gmIsZero\(f\))149b(true)12 b Ff(i\013)f Fg(f)g Ff(is)h(fuzzy)e(equal)g(to)h(0)337b Fg(if)20 b(\(gmIsZero\(f\)\))f Fe(:)5 b(:)h(:)194 1623y Fg(gmLerp\(f,f1,f2\))69 b Ff(linear)10 b(in)o(terp)q(olatio)o(n)f(from)h Fg(f1)i Ff(\(when)f Fg(f)g Ff(=)g(0\))134 b Fg(f3)20b(=)g(gmLerp\(f,f1,f2\);)598 1669 y Ff(to)11 b Fg(f2)hFf(\(when)f Fg(f)h Ff(=)e(1\))194 1715 y Fg(gmMax\(f1,f2\))129b Ff(maxim)o(um)9 b(of)i Fg(f1)g Ff(and)g Fg(f2)419 b(f)20b(=)g(gmMax\(f1,f2\);)194 1760 y(gmMax\(f1,f2,f3\))69b Ff(maxim)o(um)9 b(of)i Fg(f1)g Ff(and)g Fg(f2)h Ff(and)eFg(f3)299 b(f)20 b(=)g(gmMax\(f1,f2,f3\);)194 1806 y(gmMin\(f1,f2\))129b Ff(minim)o(um)9 b(of)i Fg(f1)h Ff(and)e Fg(f2)426 b(f)20

⌨️ 快捷键说明

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