Skip to navigation

Aviator on the BBC Micro

3D geometry: xObjectPoint

Name: xObjectPoint [Show more] Type: Variable Category: 3D geometry Summary: Scaled x-coordinates of the points that make up objects, relative to the object's anchor point Deep dive: 3D objects Rotating and translating points in 3D space
Context: See this variable in context in the source code References: This variable is used as follows: * SetObjPointCoords (Part 1 of 2) calls xObjectPoint

For a point within an object, (xObjectPoint, yObjectPoint, zObjectPoint) are the coordinates of this point relative to the object's anchor. This is the same as saying (xObjectPoint, yObjectPoint, zObjectPoint) is the vector from the object's anchor to the point. This table effectively defines the shape of each object. Each vector is stored as three coordinates, with each coordinate being in the range 0 to 15, plus a scale factor, which is stored in bits 4 to 7 of the z-coordinate in zObjectPoint. The scale is given as a power of 2, so a scale factor of n means we scale the coordinates by 2^n (where n = 0 to 9). All vectors are positive in all three axes, so the anchor point for an object is therefore the closest point to the origin.
.xObjectPoint EQUB 13 \ Point ID 0 is (13, 61, 13) with scale factor 2^0 EQUB 0 \ Point ID 1 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 2 is ( 0, 0, 12) with scale factor 2^9 EQUB 0 \ Point ID 3 is ( 0, 0, 0) with scale factor 2^0 EQUB 8 \ Point ID 4 is ( 8, 0, 0) with scale factor 2^5 EQUB 0 \ Point ID 5 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 6 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 7 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 8 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 9 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 10 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 11 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 12 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 13 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 14 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 15 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 16 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 17 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 18 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 19 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 20 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 21 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 22 is ( 0, 0, 8) with scale factor 2^4 EQUB 0 \ Point ID 23 is ( 0, 0, 8) with scale factor 2^4 EQUB 10 \ Point ID 24 is (10, 0, 0) with scale factor 2^6 EQUB 0 \ Point ID 25 is ( 0, 1, 0) with scale factor 2^8 EQUB 0 \ Point ID 26 is ( 0, 1, 0) with scale factor 2^8 EQUB 0 \ Point ID 27 is ( 0, 1, 0) with scale factor 2^8 EQUB 0 \ Point ID 28 is ( 0, 1, 0) with scale factor 2^8 EQUB 4 \ Point ID 29 is ( 4, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 30 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 31 is ( 0, 0, 0) with scale factor 2^0 EQUB 4 \ Point ID 32 is ( 4, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 33 is ( 0, 0, 10) with scale factor 2^5 EQUB 0 \ Point ID 34 is ( 0, 0, 12) with scale factor 2^4 EQUB 0 \ Point ID 35 is ( 0, 0, 0) with scale factor 2^0 EQUB 4 \ Point ID 36 is ( 4, 0, 2) with scale factor 2^8 EQUB 0 \ Point ID 37 is ( 0, 0, 2) with scale factor 2^8 EQUB 12 \ Point ID 38 is (12, 0, 0) with scale factor 2^4 EQUB 5 \ Point ID 39 is ( 5, 0, 10) with scale factor 2^5 EQUB 8 \ Point ID 40 is ( 8, 0, 0) with scale factor 2^4 EQUB 0 \ Point ID 41 is ( 0, 0, 8) with scale factor 2^3 EQUB 0 \ Point ID 42 is ( 0, 10, 0) with scale factor 2^3 EQUB 0 \ Point ID 43 is ( 0, 10, 0) with scale factor 2^3 EQUB 0 \ Point ID 44 is ( 0, 0, 8) with scale factor 2^3 EQUB 0 \ Point ID 45 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 46 is ( 0, 10, 0) with scale factor 2^3 EQUB 0 \ Point ID 47 is ( 0, 10, 0) with scale factor 2^3 EQUB 12 \ Point ID 48 is (12, 0, 0) with scale factor 2^5 EQUB 0 \ Point ID 49 is ( 0, 0, 8) with scale factor 2^3 EQUB 0 \ Point ID 50 is ( 0, 0, 8) with scale factor 2^3 EQUB 12 \ Point ID 51 is (12, 0, 0) with scale factor 2^5 EQUB 11 \ Point ID 52 is (11, 0, 0) with scale factor 2^6 EQUB 0 \ Point ID 53 is ( 0, 10, 0) with scale factor 2^4 EQUB 0 \ Point ID 54 is ( 0, 10, 0) with scale factor 2^4 EQUB 0 \ Point ID 55 is ( 0, 10, 0) with scale factor 2^4 EQUB 0 \ Point ID 56 is ( 0, 10, 0) with scale factor 2^4 EQUB 2 \ Point ID 57 is ( 2, 0, 14) with scale factor 2^8 EQUB 1 \ Point ID 58 is ( 1, 0, 11) with scale factor 2^8 EQUB 3 \ Point ID 59 is ( 3, 0, 9) with scale factor 2^9 EQUB 6 \ Point ID 60 is ( 6, 0, 12) with scale factor 2^8 EQUB 10 \ Point ID 61 is (10, 0, 1) with scale factor 2^8 EQUB 3 \ Point ID 62 is ( 3, 0, 9) with scale factor 2^7 EQUB 9 \ Point ID 63 is ( 9, 0, 15) with scale factor 2^6 EQUB 6 \ Point ID 64 is ( 6, 0, 13) with scale factor 2^8 EQUB 13 \ Point ID 65 is (13, 0, 3) with scale factor 2^4 EQUB 0 \ Point ID 66 is ( 0, 0, 14) with scale factor 2^9 EQUB 1 \ Point ID 67 is ( 1, 0, 0) with scale factor 2^8 EQUB 5 \ Point ID 68 is ( 5, 0, 12) with scale factor 2^9 EQUB 1 \ Point ID 69 is ( 1, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 70 is ( 0, 0, 0) with scale factor 2^0 EQUB 9 \ Point ID 71 is ( 9, 0, 0) with scale factor 2^5 EQUB 0 \ Point ID 72 is ( 0, 0, 9) with scale factor 2^5 EQUB 8 \ Point ID 73 is ( 8, 0, 6) with scale factor 2^9 EQUB 0 \ Point ID 74 is ( 0, 0, 1) with scale factor 2^8 EQUB 14 \ Point ID 75 is (14, 0, 7) with scale factor 2^9 EQUB 0 \ Point ID 76 is ( 0, 0, 1) with scale factor 2^8 EQUB 13 \ Point ID 77 is (13, 0, 2) with scale factor 2^9 EQUB 5 \ Point ID 78 is ( 5, 0, 13) with scale factor 2^4 EQUB 12 \ Point ID 79 is (12, 0, 0) with scale factor 2^8 EQUB 15 \ Point ID 80 is (15, 0, 15) with scale factor 2^1 EQUB 0 \ Point ID 81 is ( 0, 12, 0) with scale factor 2^2 EQUB 7 \ Point ID 82 is ( 7, 12, 7) with scale factor 2^1 EQUB 6 \ Point ID 83 is ( 6, 7, 11) with scale factor 2^2 EQUB 12 \ Point ID 84 is (12, 8, 5) with scale factor 2^2 EQUB 0 \ Point ID 85 is ( 0, 10, 0) with scale factor 2^0 EQUB 0 \ Point ID 86 is ( 0, 0, 1) with scale factor 2^8 EQUB 8 \ Point ID 87 is ( 8, 0, 0) with scale factor 2^4 EQUB 0 \ Point ID 88 is ( 0, 2, 0) with scale factor 2^8 EQUB 15 \ Point ID 89 is (15, 0, 15) with scale factor 2^1 EQUB 0 \ Point ID 90 is ( 0, 10, 0) with scale factor 2^2 EQUB 4 \ Point ID 91 is ( 4, 12, 4) with scale factor 2^1 EQUB 3 \ Point ID 92 is ( 3, 5, 12) with scale factor 2^2 EQUB 10 \ Point ID 93 is (10, 7, 8) with scale factor 2^2 EQUB 0 \ Point ID 94 is ( 0, 10, 0) with scale factor 2^0 EQUB 0 \ Point ID 95 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 96 is ( 0, 0, 1) with scale factor 2^8 EQUB 10 \ Point ID 97 is (10, 0, 0) with scale factor 2^1 EQUB 0 \ Point ID 98 is ( 0, 0, 1) with scale factor 2^8 EQUB 0 \ Point ID 99 is ( 0, 2, 0) with scale factor 2^8 EQUB 0 \ Point ID 100 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 101 is ( 0, 0, 11) with scale factor 2^4 EQUB 0 \ Point ID 102 is ( 0, 0, 10) with scale factor 2^4 EQUB 11 \ Point ID 103 is (11, 0, 7) with scale factor 2^8 EQUB 11 \ Point ID 104 is (11, 0, 4) with scale factor 2^9 EQUB 13 \ Point ID 105 is (13, 0, 13) with scale factor 2^3 EQUB 14 \ Point ID 106 is (14, 0, 0) with scale factor 2^9 EQUB 4 \ Point ID 107 is ( 4, 0, 10) with scale factor 2^3 EQUB 4 \ Point ID 108 is ( 4, 0, 0) with scale factor 2^8 EQUB 13 \ Point ID 109 is (13, 0, 3) with scale factor 2^8 EQUB 12 \ Point ID 110 is (12, 0, 0) with scale factor 2^8 EQUB 13 \ Point ID 111 is (13, 0, 10) with scale factor 2^9 EQUB 4 \ Point ID 112 is ( 4, 0, 12) with scale factor 2^8 EQUB 14 \ Point ID 113 is (14, 0, 1) with scale factor 2^9 EQUB 0 \ Point ID 114 is ( 0, 0, 12) with scale factor 2^8 EQUB 3 \ Point ID 115 is ( 3, 0, 5) with scale factor 2^8 EQUB 15 \ Point ID 116 is (15, 0, 0) with scale factor 2^8 EQUB 10 \ Point ID 117 is (10, 0, 5) with scale factor 2^8 EQUB 11 \ Point ID 118 is (11, 0, 4) with scale factor 2^8 EQUB 2 \ Point ID 119 is ( 2, 0, 14) with scale factor 2^8 EQUB 14 \ Point ID 120 is (14, 0, 0) with scale factor 2^4 EQUB 0 \ Point ID 121 is ( 0, 0, 9) with scale factor 2^8 EQUB 11 \ Point ID 122 is (11, 0, 7) with scale factor 2^9 EQUB 10 \ Point ID 123 is (10, 0, 3) with scale factor 2^9 EQUB 10 \ Point ID 124 is (10, 0, 3) with scale factor 2^9 EQUB 5 \ Point ID 125 is ( 5, 0, 9) with scale factor 2^9 EQUB 14 \ Point ID 126 is (14, 0, 2) with scale factor 2^8 EQUB 0 \ Point ID 127 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 128 is ( 0, 0, 7) with scale factor 2^8 EQUB 11 \ Point ID 129 is (11, 0, 14) with scale factor 2^8 EQUB 14 \ Point ID 130 is (14, 0, 10) with scale factor 2^8 EQUB 5 \ Point ID 131 is ( 5, 0, 0) with scale factor 2^8 EQUB 4 \ Point ID 132 is ( 4, 0, 14) with scale factor 2^8 EQUB 9 \ Point ID 133 is ( 9, 0, 4) with scale factor 2^9 EQUB 10 \ Point ID 134 is (10, 0, 2) with scale factor 2^9 EQUB 0 \ Point ID 135 is ( 0, 0, 0) with scale factor 2^0 EQUB 1 \ Point ID 136 is ( 1, 0, 15) with scale factor 2^8 EQUB 5 \ Point ID 137 is ( 5, 0, 10) with scale factor 2^9 EQUB 13 \ Point ID 138 is (13, 0, 4) with scale factor 2^8 EQUB 0 \ Point ID 139 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 140 is ( 0, 0, 11) with scale factor 2^8 EQUB 13 \ Point ID 141 is (13, 0, 9) with scale factor 2^8 EQUB 15 \ Point ID 142 is (15, 0, 0) with scale factor 2^7 EQUB 2 \ Point ID 143 is ( 2, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 144 is ( 0, 0, 13) with scale factor 2^8 EQUB 9 \ Point ID 145 is ( 9, 0, 9) with scale factor 2^9 EQUB 13 \ Point ID 146 is (13, 0, 11) with scale factor 2^8 EQUB 15 \ Point ID 147 is (15, 0, 5) with scale factor 2^8 EQUB 11 \ Point ID 148 is (11, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 149 is ( 0, 0, 11) with scale factor 2^8 EQUB 11 \ Point ID 150 is (11, 0, 13) with scale factor 2^8 EQUB 13 \ Point ID 151 is (13, 0, 2) with scale factor 2^8 EQUB 2 \ Point ID 152 is ( 2, 0, 0) with scale factor 2^8 EQUB 3 \ Point ID 153 is ( 3, 0, 8) with scale factor 2^8 EQUB 10 \ Point ID 154 is (10, 0, 7) with scale factor 2^8 EQUB 8 \ Point ID 155 is ( 8, 0, 2) with scale factor 2^8 EQUB 0 \ Point ID 156 is ( 0, 0, 0) with scale factor 2^0 EQUB 0 \ Point ID 157 is ( 0, 0, 6) with scale factor 2^8 EQUB 4 \ Point ID 158 is ( 4, 0, 8) with scale factor 2^8 EQUB 12 \ Point ID 159 is (12, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 160 is ( 0, 0, 6) with scale factor 2^8 EQUB 6 \ Point ID 161 is ( 6, 0, 9) with scale factor 2^9 EQUB 14 \ Point ID 162 is (14, 0, 12) with scale factor 2^8 EQUB 11 \ Point ID 163 is (11, 0, 0) with scale factor 2^7 EQUB 0 \ Point ID 164 is ( 0, 0, 3) with scale factor 2^8 EQUB 5 \ Point ID 165 is ( 5, 0, 12) with scale factor 2^9 EQUB 10 \ Point ID 166 is (10, 0, 9) with scale factor 2^9 EQUB 14 \ Point ID 167 is (14, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 168 is ( 0, 0, 12) with scale factor 2^8 EQUB 5 \ Point ID 169 is ( 5, 0, 11) with scale factor 2^9 EQUB 11 \ Point ID 170 is (11, 0, 7) with scale factor 2^8 EQUB 5 \ Point ID 171 is ( 5, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 172 is ( 0, 0, 9) with scale factor 2^8 EQUB 5 \ Point ID 173 is ( 5, 0, 8) with scale factor 2^9 EQUB 13 \ Point ID 174 is (13, 0, 13) with scale factor 2^8 EQUB 2 \ Point ID 175 is ( 2, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 176 is ( 0, 0, 8) with scale factor 2^8 EQUB 2 \ Point ID 177 is ( 2, 0, 0) with scale factor 2^8 EQUB 0 \ Point ID 178 is ( 0, 0, 12) with scale factor 2^0 EQUB 12 \ Point ID 179 is (12, 0, 0) with scale factor 2^0 EQUB 14 \ Point ID 180 is (14, 0, 14) with scale factor 2^2 EQUB 5 \ Point ID 181 is ( 5, 0, 5) with scale factor 2^8 EQUB 5 \ Point ID 182 is ( 5, 0, 5) with scale factor 2^8 EQUB 0 \ Point ID 183 is ( 0, 0, 3) with scale factor 2^2 EQUB 3 \ Point ID 184 is ( 3, 0, 0) with scale factor 2^2 EQUB 14 \ Point ID 185 is (14, 0, 14) with scale factor 2^2 EQUB 3 \ Point ID 186 is ( 3, 4, 3) with scale factor 2^2 EQUB 5 \ Point ID 187 is ( 5, 0, 5) with scale factor 2^8 EQUB 0 \ Point ID 188 is ( 0, 0, 3) with scale factor 2^2 EQUB 3 \ Point ID 189 is ( 3, 0, 0) with scale factor 2^2 EQUB 14 \ Point ID 190 is (14, 0, 14) with scale factor 2^2 EQUB 3 \ Point ID 191 is ( 3, 4, 3) with scale factor 2^2 EQUB 9 \ Point ID 192 is ( 9, 0, 9) with scale factor 2^7 EQUB 4 \ Point ID 193 is ( 4, 0, 5) with scale factor 2^5 EQUB 5 \ Point ID 194 is ( 5, 0, 4) with scale factor 2^5 EQUB 9 \ Point ID 195 is ( 9, 0, 8) with scale factor 2^6 EQUB 7 \ Point ID 196 is ( 7, 4, 5) with scale factor 2^5 EQUB 4 \ Point ID 197 is ( 4, 0, 0) with scale factor 2^4 EQUB 4 \ Point ID 198 is ( 4, 3, 2) with scale factor 2^5 EQUB 0 \ Point ID 199 is ( 0, 0, 4) with scale factor 2^4 EQUB 2 \ Point ID 200 is ( 2, 3, 4) with scale factor 2^5 EQUB 0 \ Point ID 201 is ( 0, 2, 0) with scale factor 2^8 EQUB 0 \ Point ID 202 is ( 0, 2, 0) with scale factor 2^8 EQUB 0 \ Point ID 203 is ( 0, 0, 12) with scale factor 2^4 EQUB 11 \ Point ID 204 is (11, 0, 0) with scale factor 2^5 EQUB 12 \ Point ID 205 is (12, 0, 0) with scale factor 2^4 EQUB 11 \ Point ID 206 is (11, 0, 0) with scale factor 2^5 EQUB 0 \ Point ID 207 is ( 0, 8, 0) with scale factor 2^4 EQUB 0 \ Point ID 208 is ( 0, 8, 0) with scale factor 2^4 EQUB 0 \ Point ID 209 is ( 0, 8, 0) with scale factor 2^4 EQUB 0 \ Point ID 210 is ( 0, 8, 0) with scale factor 2^4 EQUB 4 \ Point ID 211 is ( 4, 1, 4) with scale factor 2^7 EQUB 1 \ Point ID 212 is ( 1, 0, 4) with scale factor 2^8 EQUB 0 \ Point ID 213 is ( 0, 0, 2) with scale factor 2^8 EQUB 0 \ Point ID 214 is ( 0, 0, 5) with scale factor 2^8 EQUB 4 \ Point ID 215 is ( 4, 2, 5) with scale factor 2^7