home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Updaters / WhiteCap 3.0.4 / WhiteCap Source.sit / WhiteCap Source / Common / math / V3.cpp < prev   
MacBinary  |  1999-07-24  |  3.5 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: V3.cpp

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sat Jul 24 18:15:49 1999, modified Sat Jul 24 18:15:49 1999, creator 'CWIE', type ASCII, 2832 bytes "V3.cpp" , at 0xb90 410 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-4K) default (weak)
16% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 06 56 33 2e 63 70 70 | 00 00 00 00 00 00 00 00 |..V3.cpp|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 0b 10 00 | 00 01 9a b3 bf eb 95 b3 |........|........|
|00000060| bf eb 95 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 87 50 00 00 |........|.....P..|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 56 33 2e 68 22 0d |#include| "V3.h".|
|00000090| 23 69 6e 63 6c 75 64 65 | 20 22 52 33 4d 61 74 72 |#include| "R3Matr|
|000000a0| 69 78 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |ix.h".#i|nclude "|
|000000b0| 50 6c 61 6e 65 2e 68 22 | 0d 0d 76 6f 69 64 20 56 |Plane.h"|..void V|
|000000c0| 33 3a 3a 6e 6f 72 6d 61 | 6c 69 7a 65 28 29 20 7b |3::norma|lize() {|
|000000d0| 0d 09 50 46 6c 6f 61 74 | 09 64 3b 0d 09 0d 09 64 |..PFloat|.d;....d|
|000000e0| 20 3d 20 31 20 2f 20 6d | 61 67 6e 69 74 75 64 65 | = 1 / m|agnitude|
|000000f0| 28 29 3b 0d 09 6d 58 20 | 2a 3d 20 64 3b 0d 09 6d |();..mX |*= d;..m|
|00000100| 59 20 2a 3d 20 64 3b 0d | 09 6d 5a 20 2a 3d 20 64 |Y *= d;.|.mZ *= d|
|00000110| 3b 0d 7d 0d 0d 0d 0d 0d | 76 6f 69 64 20 56 33 3a |;.}.....|void V3:|
|00000120| 3a 74 72 61 6e 73 66 6f | 72 6d 28 20 63 6f 6e 73 |:transfo|rm( cons|
|00000130| 74 20 52 33 4d 61 74 72 | 69 78 26 20 69 6e 4d 61 |t R3Matr|ix& inMa|
|00000140| 74 72 69 78 20 29 20 7b | 0d 09 50 46 6c 6f 61 74 |trix ) {|..PFloat|
|00000150| 20 79 20 3d 20 6d 59 2c | 20 78 20 3d 20 6d 58 3b | y = mY,| x = mX;|
|00000160| 0d 09 0d 09 6d 58 20 3d | 20 69 6e 4d 61 74 72 69 |....mX =| inMatri|
|00000170| 78 2e 6d 4d 5b 30 5d 20 | 2a 20 78 20 2b 20 69 6e |x.mM[0] |* x + in|
|00000180| 4d 61 74 72 69 78 2e 6d | 4d 5b 31 5d 20 2a 20 79 |Matrix.m|M[1] * y|
|00000190| 20 2b 20 69 6e 4d 61 74 | 72 69 78 2e 6d 4d 5b 32 | + inMat|rix.mM[2|
|000001a0| 5d 20 2a 20 6d 5a 3b 20 | 0d 09 6d 59 20 3d 20 69 |] * mZ; |..mY = i|
|000001b0| 6e 4d 61 74 72 69 78 2e | 6d 4d 5b 33 5d 20 2a 20 |nMatrix.|mM[3] * |
|000001c0| 78 20 2b 20 69 6e 4d 61 | 74 72 69 78 2e 6d 4d 5b |x + inMa|trix.mM[|
|000001d0| 34 5d 20 2a 20 79 20 2b | 20 69 6e 4d 61 74 72 69 |4] * y +| inMatri|
|000001e0| 78 2e 6d 4d 5b 35 5d 20 | 2a 20 6d 5a 3b 20 0d 09 |x.mM[5] |* mZ; ..|
|000001f0| 6d 5a 20 3d 20 69 6e 4d | 61 74 72 69 78 2e 6d 4d |mZ = inM|atrix.mM|
|00000200| 5b 36 5d 20 2a 20 78 20 | 2b 20 69 6e 4d 61 74 72 |[6] * x |+ inMatr|
|00000210| 69 78 2e 6d 4d 5b 37 5d | 20 2a 20 79 20 2b 20 69 |ix.mM[7]| * y + i|
|00000220| 6e 4d 61 74 72 69 78 2e | 6d 4d 5b 38 5d 20 2a 20 |nMatrix.|mM[8] * |
|00000230| 6d 5a 3b 20 0d 7d 0d 0d | 0d 0d 76 6f 69 64 20 56 |mZ; .}..|..void V|
|00000240| 33 3a 3a 74 72 61 6e 73 | 66 6f 72 6d 28 20 63 6f |3::trans|form( co|
|00000250| 6e 73 74 20 52 33 4d 61 | 74 72 69 78 26 20 69 6e |nst R3Ma|trix& in|
|00000260| 4d 61 74 72 69 78 2c 20 | 66 6c 6f 61 74 20 69 6e |Matrix, |float in|
|00000270| 50 65 72 73 70 65 63 74 | 69 76 65 5a 20 29 20 7b |Perspect|iveZ ) {|
|00000280| 0d 09 50 46 6c 6f 61 74 | 20 79 20 3d 20 6d 59 2c |..PFloat| y = mY,|
|00000290| 20 78 20 3d 20 6d 58 3b | 0d 09 50 46 6c 6f 61 74 | x = mX;|..PFloat|
|000002a0| 20 78 74 2c 20 79 74 3b | 0d 09 0d 09 78 74 20 3d | xt, yt;|....xt =|
|000002b0| 20 69 6e 4d 61 74 72 69 | 78 2e 6d 4d 5b 30 5d 20 | inMatri|x.mM[0] |
|000002c0| 2a 20 78 20 2b 20 69 6e | 4d 61 74 72 69 78 2e 6d |* x + in|Matrix.m|
|000002d0| 4d 5b 31 5d 20 2a 20 79 | 20 2b 20 69 6e 4d 61 74 |M[1] * y| + inMat|
|000002e0| 72 69 78 2e 6d 4d 5b 32 | 5d 20 2a 20 6d 5a 3b 20 |rix.mM[2|] * mZ; |
|000002f0| 0d 09 79 74 20 3d 20 69 | 6e 4d 61 74 72 69 78 2e |..yt = i|nMatrix.|
|00000300| 6d 4d 5b 33 5d 20 2a 20 | 78 20 2b 20 69 6e 4d 61 |mM[3] * |x + inMa|
|00000310| 74 72 69 78 2e 6d 4d 5b | 34 5d 20 2a 20 79 20 2b |trix.mM[|4] * y +|
|00000320| 20 69 6e 4d 61 74 72 69 | 78 2e 6d 4d 5b 35 5d 20 | inMatri|x.mM[5] |
|00000330| 2a 20 6d 5a 3b 20 0d 09 | 6d 5a 20 3d 20 69 6e 4d |* mZ; ..|mZ = inM|
|00000340| 61 74 72 69 78 2e 6d 4d | 5b 36 5d 20 2a 20 78 20 |atrix.mM|[6] * x |
|00000350| 2b 20 69 6e 4d 61 74 72 | 69 78 2e 6d 4d 5b 37 5d |+ inMatr|ix.mM[7]|
|00000360| 20 2a 20 79 20 2b 20 69 | 6e 4d 61 74 72 69 78 2e | * y + i|nMatrix.|
|00000370| 6d 4d 5b 38 5d 20 2a 20 | 6d 5a 3b 20 0d 09 0d 09 |mM[8] * |mZ; ....|
|00000380| 6d 58 20 3d 20 78 74 20 | 2f 20 28 20 6d 5a 20 2b |mX = xt |/ ( mZ +|
|00000390| 20 69 6e 50 65 72 73 70 | 65 63 74 69 76 65 5a 20 | inPersp|ectiveZ |
|000003a0| 29 3b 0d 09 6d 59 20 3d | 20 79 74 20 2f 20 28 20 |);..mY =| yt / ( |
|000003b0| 6d 5a 20 2b 20 69 6e 50 | 65 72 73 70 65 63 74 69 |mZ + inP|erspecti|
|000003c0| 76 65 5a 20 29 3b 0d 7d | 0d 0d 0d 0d 0d 76 6f 69 |veZ );.}|.....voi|
|000003d0| 64 20 56 33 3a 3a 74 72 | 61 6e 73 66 6f 72 6d 28 |d V3::tr|ansform(|
|000003e0| 20 63 6f 6e 73 74 20 52 | 33 4d 61 74 72 69 78 26 | const R|3Matrix&|
|000003f0| 20 69 6e 4d 61 74 72 69 | 78 2c 20 63 6f 6e 73 74 | inMatri|x, const|
|00000400| 20 56 33 26 20 69 6e 50 | 74 20 29 20 7b 0d 09 50 | V3& inP|t ) {..P|
|00000410| 46 6c 6f 61 74 20 79 20 | 3d 20 69 6e 50 74 2e 6d |Float y |= inPt.m|
|00000420| 59 2c 20 78 20 3d 20 69 | 6e 50 74 2e 6d 58 2c 20 |Y, x = i|nPt.mX, |
|00000430| 7a 20 3d 20 69 6e 50 74 | 2e 6d 5a 3b 0d 09 0d 09 |z = inPt|.mZ;....|
|00000440| 6d 58 20 3d 20 69 6e 4d | 61 74 72 69 78 2e 6d 4d |mX = inM|atrix.mM|
|00000450| 5b 30 5d 20 2a 20 78 20 | 2b 20 69 6e 4d 61 74 72 |[0] * x |+ inMatr|
|00000460| 69 78 2e 6d 4d 5b 31 5d | 20 2a 20 79 20 2b 20 69 |ix.mM[1]| * y + i|
|00000470| 6e 4d 61 74 72 69 78 2e | 6d 4d 5b 32 5d 20 2a 20 |nMatrix.|mM[2] * |
|00000480| 7a 3b 20 0d 09 6d 59 20 | 3d 20 69 6e 4d 61 74 72 |z; ..mY |= inMatr|
|00000490| 69 78 2e 6d 4d 5b 33 5d | 20 2a 20 78 20 2b 20 69 |ix.mM[3]| * x + i|
|000004a0| 6e 4d 61 74 72 69 78 2e | 6d 4d 5b 34 5d 20 2a 20 |nMatrix.|mM[4] * |
|000004b0| 79 20 2b 20 69 6e 4d 61 | 74 72 69 78 2e 6d 4d 5b |y + inMa|trix.mM[|
|000004c0| 35 5d 20 2a 20 7a 3b 20 | 0d 09 6d 5a 20 3d 20 69 |5] * z; |..mZ = i|
|000004d0| 6e 4d 61 74 72 69 78 2e | 6d 4d 5b 36 5d 20 2a 20 |nMatrix.|mM[6] * |
|000004e0| 78 20 2b 20 69 6e 4d 61 | 74 72 69 78 2e 6d 4d 5b |x + inMa|trix.mM[|
|000004f0| 37 5d 20 2a 20 79 20 2b | 20 69 6e 4d 61 74 72 69 |7] * y +| inMatri|
|00000500| 78 2e 6d 4d 5b 38 5d 20 | 2a 20 7a 3b 20 0d 7d 0d |x.mM[8] |* z; .}.|
|00000510| 0d 0d 0d 76 6f 69 64 20 | 56 33 3a 3a 63 72 6f 73 |...void |V3::cros|
|00000520| 73 28 20 63 6f 6e 73 74 | 20 56 33 26 20 69 6e 56 |s( const| V3& inV|
|00000530| 20 29 20 7b 0d 09 50 46 | 6c 6f 61 74 20 78 20 3d | ) {..PF|loat x =|
|00000540| 20 6d 58 2c 20 79 20 3d | 20 6d 59 3b 0d 09 0d 09 | mX, y =| mY;....|
|00000550| 6d 58 20 3d 20 69 6e 56 | 2e 6d 5a 20 2a 20 79 20 |mX = inV|.mZ * y |
|00000560| 2d 20 6d 5a 20 2a 20 69 | 6e 56 2e 6d 59 3b 0d 09 |- mZ * i|nV.mY;..|
|00000570| 6d 59 20 3d 20 6d 5a 20 | 2a 20 69 6e 56 2e 6d 58 |mY = mZ |* inV.mX|
|00000580| 20 2d 20 69 6e 56 2e 6d | 5a 20 2a 20 78 3b 0d 09 | - inV.m|Z * x;..|
|00000590| 6d 5a 20 3d 20 78 20 2a | 20 69 6e 56 2e 6d 59 20 |mZ = x *| inV.mY |
|000005a0| 2d 20 69 6e 56 2e 6d 58 | 20 2a 20 79 3b 0d 7d 0d |- inV.mX| * y;.}.|
|000005b0| 0d 0d 0d 0d 76 6f 69 64 | 20 56 33 3a 3a 63 72 6f |....void| V3::cro|
|000005c0| 73 73 28 20 63 6f 6e 73 | 74 20 56 33 26 20 69 6e |ss( cons|t V3& in|
|000005d0| 41 2c 20 63 6f 6e 73 74 | 20 56 33 26 20 69 6e 42 |A, const| V3& inB|
|000005e0| 20 29 20 7b 0d 09 0d 09 | 6d 58 20 3d 20 69 6e 41 | ) {....|mX = inA|
|000005f0| 2e 6d 5a 20 2a 20 69 6e | 42 2e 6d 59 20 2d 20 69 |.mZ * in|B.mY - i|
|00000600| 6e 42 2e 6d 5a 20 2a 20 | 69 6e 41 2e 6d 59 3b 0d |nB.mZ * |inA.mY;.|
|00000610| 09 6d 59 20 3d 20 69 6e | 42 2e 6d 5a 20 2a 20 69 |.mY = in|B.mZ * i|
|00000620| 6e 41 2e 6d 58 20 2d 20 | 69 6e 41 2e 6d 5a 20 2a |nA.mX - |inA.mZ *|
|00000630| 20 69 6e 42 2e 6d 58 3b | 0d 09 6d 5a 20 3d 20 69 | inB.mX;|..mZ = i|
|00000640| 6e 42 2e 6d 58 20 2a 20 | 69 6e 41 2e 6d 59 20 2d |nB.mX * |inA.mY -|
|00000650| 20 69 6e 41 2e 6d 58 20 | 2a 20 69 6e 42 2e 6d 59 | inA.mX |* inB.mY|
|00000660| 3b 0d 7d 0d 0d 0d 76 6f | 69 64 20 56 33 3a 3a 72 |;.}...vo|id V3::r|
|00000670| 6f 74 61 74 65 28 20 63 | 6f 6e 73 74 20 56 33 26 |otate( c|onst V3&|
|00000680| 20 69 6e 50 74 31 2c 20 | 63 6f 6e 73 74 20 56 33 | inPt1, |const V3|
|00000690| 26 20 69 6e 50 74 32 2c | 20 50 46 6c 6f 61 74 20 |& inPt2,| PFloat |
|000006a0| 69 6e 41 6e 67 20 29 20 | 7b 0d 09 50 46 6c 6f 61 |inAng ) |{..PFloa|
|000006b0| 74 20 78 2c 20 73 2c 20 | 63 3b 0d 09 56 33 20 6c |t x, s, |c;..V3 l|
|000006c0| 69 6e 65 3b 20 0d 09 0d | 09 6c 69 6e 65 2e 73 65 |ine; ...|.line.se|
|000006d0| 74 28 20 69 6e 50 74 31 | 20 29 3b 0d 09 6c 69 6e |t( inPt1| );..lin|
|000006e0| 65 2e 73 75 62 74 72 61 | 63 74 28 20 69 6e 50 74 |e.subtra|ct( inPt|
|000006f0| 32 20 29 3b 0d 09 73 75 | 62 74 72 61 63 74 28 20 |2 );..su|btract( |
|00000700| 69 6e 50 74 31 20 29 3b | 0d 09 74 6f 50 6c 61 6e |inPt1 );|..toPlan|
|00000710| 65 28 20 6c 69 6e 65 20 | 29 3b 0d 09 73 20 3d 20 |e( line |);..s = |
|00000720| 73 69 6e 28 20 69 6e 41 | 6e 67 20 29 3b 0d 09 63 |sin( inA|ng );..c|
|00000730| 20 3d 20 63 6f 73 28 20 | 69 6e 41 6e 67 20 29 3b | = cos( |inAng );|
|00000740| 0d 09 78 20 3d 20 6d 58 | 3b 0d 09 6d 58 20 3d 20 |..x = mX|;..mX = |
|00000750| 78 20 2a 20 63 20 2d 20 | 6d 59 20 2a 20 73 3b 0d |x * c - |mY * s;.|
|00000760| 09 6d 59 20 3d 20 78 20 | 2a 20 73 20 2b 20 6d 59 |.mY = x |* s + mY|
|00000770| 20 2a 20 63 3b 0d 09 66 | 72 6f 6d 50 6c 61 6e 65 | * c;..f|romPlane|
|00000780| 28 20 6c 69 6e 65 20 29 | 3b 0d 09 61 64 64 28 20 |( line )|;..add( |
|00000790| 69 6e 50 74 31 20 29 3b | 0d 7d 0d 0d 23 64 65 66 |inPt1 );|.}..#def|
|000007a0| 69 6e 65 20 54 4f 4f 5f | 42 49 47 09 31 2e 30 65 |ine TOO_|BIG.1.0e|
|000007b0| 32 30 0d 0d 0d 62 6f 6f | 6c 20 56 33 3a 3a 69 6e |20...boo|l V3::in|
|000007c0| 74 65 72 73 65 63 74 69 | 6f 6e 28 20 63 6f 6e 73 |tersecti|on( cons|
|000007d0| 74 20 50 6c 61 6e 65 26 | 20 69 6e 50 6c 61 6e 65 |t Plane&| inPlane|
|000007e0| 2c 20 63 6f 6e 73 74 20 | 56 33 26 20 69 6e 4c 69 |, const |V3& inLi|
|000007f0| 6e 65 2c 20 63 6f 6e 73 | 74 20 56 33 26 20 69 6e |ne, cons|t V3& in|
|00000800| 50 74 20 29 20 7b 0d 0d | 09 50 46 6c 6f 61 74 20 |Pt ) {..|.PFloat |
|00000810| 74 20 3d 20 28 20 69 6e | 50 6c 61 6e 65 2e 6d 44 |t = ( in|Plane.mD|
|00000820| 20 2d 20 69 6e 50 6c 61 | 6e 65 2e 64 6f 74 28 20 | - inPla|ne.dot( |
|00000830| 69 6e 50 74 20 29 20 29 | 20 2f 20 69 6e 50 6c 61 |inPt ) )| / inPla|
|00000840| 6e 65 2e 64 6f 74 28 20 | 69 6e 4c 69 6e 65 20 29 |ne.dot( |inLine )|
|00000850| 3b 0d 09 73 65 74 28 20 | 69 6e 4c 69 6e 65 20 29 |;..set( |inLine )|
|00000860| 3b 0d 09 73 63 61 6c 65 | 28 20 74 20 29 3b 0d 09 |;..scale|( t );..|
|00000870| 61 64 64 28 20 69 6e 50 | 74 20 29 3b 0d 09 0d 09 |add( inP|t );....|
|00000880| 72 65 74 75 72 6e 20 74 | 20 3e 20 2d 20 54 4f 4f |return t| > - TOO|
|00000890| 5f 42 49 47 20 26 26 20 | 74 20 3c 20 54 4f 4f 5f |_BIG && |t < TOO_|
|000008a0| 42 49 47 3b 0d 7d 0d 0d | 0d 0d 0d 0d 23 64 65 66 |BIG;.}..|....#def|
|000008b0| 69 6e 65 20 41 09 69 6e | 4e 6f 72 6d 61 6c 2e 6d |ine A.in|Normal.m|
|000008c0| 58 0d 23 64 65 66 69 6e | 65 20 42 09 69 6e 4e 6f |X.#defin|e B.inNo|
|000008d0| 72 6d 61 6c 2e 6d 59 0d | 23 64 65 66 69 6e 65 20 |rmal.mY.|#define |
|000008e0| 43 09 69 6e 4e 6f 72 6d | 61 6c 2e 6d 5a 0d 0d 76 |C.inNorm|al.mZ..v|
|000008f0| 6f 69 64 20 56 33 3a 3a | 74 6f 50 6c 61 6e 65 28 |oid V3::|toPlane(|
|00000900| 20 63 6f 6e 73 74 20 56 | 33 26 20 69 6e 4e 6f 72 | const V|3& inNor|
|00000910| 6d 61 6c 20 29 20 7b 0d | 09 50 46 6c 6f 61 74 09 |mal ) {.|.PFloat.|
|00000920| 42 43 09 09 3d 20 73 71 | 72 74 28 20 42 2a 42 20 |BC..= sq|rt( B*B |
|00000930| 2b 20 43 2a 43 20 29 3b | 0d 09 50 46 6c 6f 61 74 |+ C*C );|..PFloat|
|00000940| 09 41 42 43 09 09 3d 20 | 69 6e 4e 6f 72 6d 61 6c |.ABC..= |inNormal|
|00000950| 2e 6d 61 67 6e 69 74 75 | 64 65 28 29 3b 0d 09 50 |.magnitu|de();..P|
|00000960| 46 6c 6f 61 74 09 78 20 | 3d 20 6d 58 2c 20 79 20 |Float.x |= mX, y |
|00000970| 3d 20 6d 59 3b 0d 09 0d | 09 69 66 20 28 20 42 43 |= mY;...|.if ( BC|
|00000980| 20 3e 20 30 2e 30 30 30 | 31 20 29 20 7b 0d 09 09 | > 0.000|1 ) {...|
|00000990| 6d 58 20 3d 20 78 20 2a | 20 42 43 20 2f 20 41 42 |mX = x *| BC / AB|
|000009a0| 43 20 2d 20 41 20 2a 20 | 28 20 42 2a 79 20 2b 20 |C - A * |( B*y + |
|000009b0| 43 2a 6d 5a 20 29 20 2f | 20 28 41 42 43 20 2a 20 |C*mZ ) /| (ABC * |
|000009c0| 42 43 29 3b 0d 09 09 6d | 59 20 3d 20 28 43 2a 79 |BC);...m|Y = (C*y|
|000009d0| 20 2d 20 42 2a 6d 5a 29 | 20 2f 20 42 43 3b 0d 09 | - B*mZ)| / BC;..|
|000009e0| 09 6d 5a 20 3d 20 28 41 | 2a 78 20 2b 20 42 2a 79 |.mZ = (A|*x + B*y|
|000009f0| 20 2b 20 43 2a 6d 5a 29 | 20 2f 20 41 42 43 3b 20 | + C*mZ)| / ABC; |
|00000a00| 7d 0d 09 65 6c 73 65 20 | 7b 20 0d 09 09 6d 58 20 |}..else |{ ...mX |
|00000a10| 3d 20 6d 5a 3b 0d 09 09 | 6d 5a 20 3d 20 2d 20 78 |= mZ;...|mZ = - x|
|00000a20| 3b 0d 09 7d 0d 09 09 0d | 7d 0d 0d 0d 0d 0d 76 6f |;..}....|}.....vo|
|00000a30| 69 64 20 56 33 3a 3a 66 | 72 6f 6d 50 6c 61 6e 65 |id V3::f|romPlane|
|00000a40| 28 20 63 6f 6e 73 74 20 | 56 33 26 20 69 6e 4e 6f |( const |V3& inNo|
|00000a50| 72 6d 61 6c 20 29 20 7b | 0d 09 50 46 6c 6f 61 74 |rmal ) {|..PFloat|
|00000a60| 09 42 43 09 09 3d 20 73 | 71 72 74 28 20 42 2a 42 |.BC..= s|qrt( B*B|
|00000a70| 20 2b 20 43 2a 43 20 29 | 3b 0d 09 50 46 6c 6f 61 | + C*C )|;..PFloa|
|00000a80| 74 09 41 42 43 09 09 3d | 20 69 6e 4e 6f 72 6d 61 |t.ABC..=| inNorma|
|00000a90| 6c 2e 6d 61 67 6e 69 74 | 75 64 65 28 29 3b 0d 09 |l.magnit|ude();..|
|00000aa0| 50 46 6c 6f 61 74 09 78 | 20 3d 20 6d 58 2c 20 79 |PFloat.x| = mX, y|
|00000ab0| 20 3d 20 6d 59 3b 0d 09 | 0d 09 69 66 20 28 20 42 | = mY;..|..if ( B|
|00000ac0| 43 20 3e 20 30 2e 30 30 | 30 31 20 29 20 7b 0d 09 |C > 0.00|01 ) {..|
|00000ad0| 09 6d 58 20 3d 20 28 78 | 20 2a 20 42 43 20 2b 20 |.mX = (x| * BC + |
|00000ae0| 41 20 2a 20 6d 5a 20 29 | 20 2f 20 41 42 43 3b 0d |A * mZ )| / ABC;.|
|00000af0| 09 09 6d 59 20 3d 20 43 | 20 2a 20 79 20 2f 20 42 |..mY = C| * y / B|
|00000b00| 43 20 2d 20 41 20 2a 20 | 42 20 2a 20 78 20 2f 20 |C - A * |B * x / |
|00000b10| 28 20 42 43 2a 41 42 43 | 20 29 20 2b 20 42 20 2a |( BC*ABC| ) + B *|
|00000b20| 20 6d 5a 20 2f 20 41 42 | 43 3b 20 0d 09 09 6d 5a | mZ / AB|C; ...mZ|
|00000b30| 20 3d 20 2d 20 42 20 2a | 20 79 20 2f 20 42 43 20 | = - B *| y / BC |
|00000b40| 2d 20 41 20 2a 20 43 20 | 2a 20 78 20 2f 20 28 20 |- A * C |* x / ( |
|00000b50| 42 43 2a 41 42 43 20 29 | 20 2b 20 43 20 2a 20 6d |BC*ABC )| + C * m|
|00000b60| 5a 20 2f 20 41 42 43 3b | 20 7d 20 0d 09 65 6c 73 |Z / ABC;| } ..els|
|00000b70| 65 20 7b 0d 09 09 6d 58 | 20 3d 20 2d 20 6d 5a 3b |e {...mX| = - mZ;|
|00000b80| 0d 09 09 6d 5a 20 3d 20 | 78 3b 20 0d 09 7d 0d 7d |...mZ = |x; ..}.}|
|00000b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c00| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00000c10| 3e cf 38 52 c7 09 b7 66 | bc 30 56 42 56 9f 80 bc |>.8R...f|.0VBV...|
|00000c20| 82 65 a9 c1 f8 77 1e 22 | ec 3a d4 ce c9 f1 73 6a |.e...w."|.:....sj|
|00000c30| 06 56 33 2e 63 70 70 2e | 63 70 70 64 65 72 35 36 |.V3.cpp.|cppder56|
|00000c40| 2e 32 35 30 63 65 72 61 | 74 6f 72 2e 65 78 65 33 |.250cera|tor.exe3|
|00000c50| 00 6a 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |.jPartSI|T!......|
|00000c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c70| 00 00 b2 c4 42 cc 00 00 | 00 00 00 00 01 9a ae 5b |....B...|.......[|
|00000c80| 3d e9 b6 dc 8e 2c 22 13 | 96 63 96 20 2b 5c 1c 82 |=....,".|.c. +\..|
|00000c90| 30 2d 09 c4 21 5a 6d 9e | d0 db 85 1c 43 e9 4a 35 |0-..!Zm.|....C.J5|
|00000ca0| 26 bd 0a c9 d9 e6 1e 6c | 4c 2a 00 05 af ce b0 5b |&......l|L*.....[|
|00000cb0| 2b 81 37 89 80 f5 33 28 | 35 4f 3c 10 2c 3e 5a a2 |+.7...3(|5O<.,>Z.|
|00000cc0| a7 6f 21 ce 6b 12 1a b2 | 2d b5 18 b2 dd 7d 0a 8e |.o!.k...|-....}..|
|00000cd0| 8e 12 31 c4 4f d5 41 6b | 04 09 b8 53 9b c0 fd 80 |..1.O.Ak|...S....|
|00000ce0| 82 7a 3f 53 1f bc 07 9a | 5d 84 ab fc 23 cb d0 50 |.z?S....|]...#..P|
|00000cf0| bf ae b2 70 fe 72 cd ad | de 9f e5 dd 59 5c d2 59 |...p.r..|....Y\.Y|
|00000d00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00000d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d20| 00 00 00 00 00 00 00 03 | 00 04 00 82 00 ca 02 48 |........|.......H|
|00000d30| 03 1f 00 82 00 ca 02 48 | 03 1f b3 bf a5 45 00 00 |.......H|.....E..|
|00000d40| 00 5e 00 00 00 92 00 00 | 00 3a 01 00 00 00 00 04 |.^......|.:......|
|00000d50| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00000d60| 00 00 00 46 05 c8 3d 80 | 18 fa 00 00 00 1c 00 46 |...F..=.|.......F|
|00000d70| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00000d80| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00000d90| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00000da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000db0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+