September 2 2021 7:23:21.014 PM bezier_surface_test(): FORTRAN90 version Test bezier_surface(). test01() bezier_surface_node_size() determines the number of nodes in a Bezier surface node file. bezier_surface_node_read() reads the nodes in a Bezier surface node file. bezier_surface_rectangles_size() determines the number of rectangles in a Bezier surface rectangle file. bezier_surface_rectangles_read() reads the rectangles in a Bezier surface rectangle file. Bezier Surface Nodes: Row 1 2 3 Col 1 1.40000 0.00000 2.40000 2 1.40000 -0.784000 2.40000 3 0.784000 -1.40000 2.40000 4 0.00000 -1.40000 2.40000 5 1.33750 0.00000 2.53125 6 1.33750 -0.749000 2.53125 7 0.749000 -1.33750 2.53125 8 0.00000 -1.33750 2.53125 9 1.43750 0.00000 2.53125 10 1.43750 -0.805000 2.53125 11 0.805000 -1.43750 2.53125 12 0.00000 -1.43750 2.53125 13 1.50000 0.00000 2.40000 14 1.50000 -0.840000 2.40000 15 0.840000 -1.50000 2.40000 16 0.00000 -1.50000 2.40000 17 -0.784000 -1.40000 2.40000 18 -1.40000 -0.784000 2.40000 19 -1.40000 0.00000 2.40000 20 -0.749000 -1.33750 2.53125 21 -1.33750 -0.749000 2.53125 22 -1.33750 0.00000 2.53125 23 -0.805000 -1.43750 2.53125 24 -1.43750 -0.805000 2.53125 25 -1.43750 0.00000 2.53125 26 -0.840000 -1.50000 2.40000 27 -1.50000 -0.840000 2.40000 28 -1.50000 0.00000 2.40000 29 -1.40000 0.784000 2.40000 30 -0.784000 1.40000 2.40000 31 0.00000 1.40000 2.40000 32 -1.33750 0.749000 2.53125 33 -0.749000 1.33750 2.53125 34 0.00000 1.33750 2.53125 35 -1.43750 0.805000 2.53125 36 -0.805000 1.43750 2.53125 37 0.00000 1.43750 2.53125 38 -1.50000 0.840000 2.40000 39 -0.840000 1.50000 2.40000 40 0.00000 1.50000 2.40000 41 0.784000 1.40000 2.40000 42 1.40000 0.784000 2.40000 43 0.749000 1.33750 2.53125 44 1.33750 0.749000 2.53125 45 0.805000 1.43750 2.53125 46 1.43750 0.805000 2.53125 47 0.840000 1.50000 2.40000 48 1.50000 0.840000 2.40000 49 1.75000 0.00000 1.87500 50 1.75000 -0.980000 1.87500 51 0.980000 -1.75000 1.87500 52 0.00000 -1.75000 1.87500 53 2.00000 0.00000 1.35000 54 2.00000 -1.12000 1.35000 55 1.12000 -2.00000 1.35000 56 0.00000 -2.00000 1.35000 57 2.00000 0.00000 0.900000 58 2.00000 -1.12000 0.900000 59 1.12000 -2.00000 0.900000 60 0.00000 -2.00000 0.900000 61 -0.980000 -1.75000 1.87500 62 -1.75000 -0.980000 1.87500 63 -1.75000 0.00000 1.87500 64 -1.12000 -2.00000 1.35000 65 -2.00000 -1.12000 1.35000 66 -2.00000 0.00000 1.35000 67 -1.12000 -2.00000 0.900000 68 -2.00000 -1.12000 0.900000 69 -2.00000 0.00000 0.900000 70 -1.75000 0.980000 1.87500 71 -0.980000 1.75000 1.87500 72 0.00000 1.75000 1.87500 73 -2.00000 1.12000 1.35000 74 -1.12000 2.00000 1.35000 75 0.00000 2.00000 1.35000 76 -2.00000 1.12000 0.900000 77 -1.12000 2.00000 0.900000 78 0.00000 2.00000 0.900000 79 0.980000 1.75000 1.87500 80 1.75000 0.980000 1.87500 81 1.12000 2.00000 1.35000 82 2.00000 1.12000 1.35000 83 1.12000 2.00000 0.900000 84 2.00000 1.12000 0.900000 85 2.00000 0.00000 0.450000 86 2.00000 -1.12000 0.450000 87 1.12000 -2.00000 0.450000 88 0.00000 -2.00000 0.450000 89 1.50000 0.00000 0.225000 90 1.50000 -0.840000 0.225000 91 0.840000 -1.50000 0.225000 92 0.00000 -1.50000 0.225000 93 1.50000 0.00000 0.150000 94 1.50000 -0.840000 0.150000 95 0.840000 -1.50000 0.150000 96 0.00000 -1.50000 0.150000 97 -1.12000 -2.00000 0.450000 98 -2.00000 -1.12000 0.450000 99 -2.00000 0.00000 0.450000 100 -0.840000 -1.50000 0.225000 101 -1.50000 -0.840000 0.225000 102 -1.50000 0.00000 0.225000 103 -0.840000 -1.50000 0.150000 104 -1.50000 -0.840000 0.150000 105 -1.50000 0.00000 0.150000 106 -2.00000 1.12000 0.450000 107 -1.12000 2.00000 0.450000 108 0.00000 2.00000 0.450000 109 -1.50000 0.840000 0.225000 110 -0.840000 1.50000 0.225000 111 0.00000 1.50000 0.225000 112 -1.50000 0.840000 0.150000 113 -0.840000 1.50000 0.150000 114 0.00000 1.50000 0.150000 115 1.12000 2.00000 0.450000 116 2.00000 1.12000 0.450000 117 0.840000 1.50000 0.225000 118 1.50000 0.840000 0.225000 119 0.840000 1.50000 0.150000 120 1.50000 0.840000 0.150000 121 -1.60000 0.00000 2.02500 122 -1.60000 -0.300000 2.02500 123 -1.50000 -0.300000 2.25000 124 -1.50000 0.00000 2.25000 125 -2.30000 0.00000 2.02500 126 -2.30000 -0.300000 2.02500 127 -2.50000 -0.300000 2.25000 128 -2.50000 0.00000 2.25000 129 -2.70000 0.00000 2.02500 130 -2.70000 -0.300000 2.02500 131 -3.00000 -0.300000 2.25000 132 -3.00000 0.00000 2.25000 133 -2.70000 0.00000 1.80000 134 -2.70000 -0.300000 1.80000 135 -3.00000 -0.300000 1.80000 136 -3.00000 0.00000 1.80000 137 -1.50000 0.300000 2.25000 138 -1.60000 0.300000 2.02500 139 -2.50000 0.300000 2.25000 140 -2.30000 0.300000 2.02500 141 -3.00000 0.300000 2.25000 142 -2.70000 0.300000 2.02500 143 -3.00000 0.300000 1.80000 144 -2.70000 0.300000 1.80000 145 -2.70000 0.00000 1.57500 146 -2.70000 -0.300000 1.57500 147 -3.00000 -0.300000 1.35000 148 -3.00000 0.00000 1.35000 149 -2.50000 0.00000 1.12500 150 -2.50000 -0.300000 1.12500 151 -2.65000 -0.300000 0.937500 152 -2.65000 0.00000 0.937500 153 -2.00000 -0.300000 0.900000 154 -1.90000 -0.300000 0.600000 155 -1.90000 0.00000 0.600000 156 -3.00000 0.300000 1.35000 157 -2.70000 0.300000 1.57500 158 -2.65000 0.300000 0.937500 159 -2.50000 0.300000 1.12500 160 -1.90000 0.300000 0.600000 161 -2.00000 0.300000 0.900000 162 1.70000 0.00000 1.42500 163 1.70000 -0.660000 1.42500 164 1.70000 -0.660000 0.600000 165 1.70000 0.00000 0.600000 166 2.60000 0.00000 1.42500 167 2.60000 -0.660000 1.42500 168 3.10000 -0.660000 0.825000 169 3.10000 0.00000 0.825000 170 2.30000 0.00000 2.10000 171 2.30000 -0.250000 2.10000 172 2.40000 -0.250000 2.02500 173 2.40000 0.00000 2.02500 174 2.70000 0.00000 2.40000 175 2.70000 -0.250000 2.40000 176 3.30000 -0.250000 2.40000 177 3.30000 0.00000 2.40000 178 1.70000 0.660000 0.600000 179 1.70000 0.660000 1.42500 180 3.10000 0.660000 0.825000 181 2.60000 0.660000 1.42500 182 2.40000 0.250000 2.02500 183 2.30000 0.250000 2.10000 184 3.30000 0.250000 2.40000 185 2.70000 0.250000 2.40000 186 2.80000 0.00000 2.47500 187 2.80000 -0.250000 2.47500 188 3.52500 -0.250000 2.49375 189 3.52500 0.00000 2.49375 190 2.90000 0.00000 2.47500 191 2.90000 -0.150000 2.47500 192 3.45000 -0.150000 2.51250 193 3.45000 0.00000 2.51250 194 2.80000 0.00000 2.40000 195 2.80000 -0.150000 2.40000 196 3.20000 -0.150000 2.40000 197 3.20000 0.00000 2.40000 198 3.52500 0.250000 2.49375 199 2.80000 0.250000 2.47500 200 3.45000 0.150000 2.51250 201 2.90000 0.150000 2.47500 202 3.20000 0.150000 2.40000 203 2.80000 0.150000 2.40000 204 0.00000 0.00000 3.15000 205 0.00000 -0.200000E-02 3.15000 206 0.200000E-02 0.00000 3.15000 207 0.800000 0.00000 3.15000 208 0.800000 -0.450000 3.15000 209 0.450000 -0.800000 3.15000 210 0.00000 -0.800000 3.15000 211 0.00000 0.00000 2.85000 212 0.200000 0.00000 2.70000 213 0.200000 -0.112000 2.70000 214 0.112000 -0.200000 2.70000 215 0.00000 -0.200000 2.70000 216 -0.200000E-02 0.00000 3.15000 217 -0.450000 -0.800000 3.15000 218 -0.800000 -0.450000 3.15000 219 -0.800000 0.00000 3.15000 220 -0.112000 -0.200000 2.70000 221 -0.200000 -0.112000 2.70000 222 -0.200000 0.00000 2.70000 223 0.00000 0.200000E-02 3.15000 224 -0.800000 0.450000 3.15000 225 -0.450000 0.800000 3.15000 226 0.00000 0.800000 3.15000 227 -0.200000 0.112000 2.70000 228 -0.112000 0.200000 2.70000 229 0.00000 0.200000 2.70000 230 0.450000 0.800000 3.15000 231 0.800000 0.450000 3.15000 232 0.112000 0.200000 2.70000 233 0.200000 0.112000 2.70000 234 0.400000 0.00000 2.55000 235 0.400000 -0.224000 2.55000 236 0.224000 -0.400000 2.55000 237 0.00000 -0.400000 2.55000 238 1.30000 0.00000 2.55000 239 1.30000 -0.728000 2.55000 240 0.728000 -1.30000 2.55000 241 0.00000 -1.30000 2.55000 242 1.30000 0.00000 2.40000 243 1.30000 -0.728000 2.40000 244 0.728000 -1.30000 2.40000 245 0.00000 -1.30000 2.40000 246 -0.224000 -0.400000 2.55000 247 -0.400000 -0.224000 2.55000 248 -0.400000 0.00000 2.55000 249 -0.728000 -1.30000 2.55000 250 -1.30000 -0.728000 2.55000 251 -1.30000 0.00000 2.55000 252 -0.728000 -1.30000 2.40000 253 -1.30000 -0.728000 2.40000 254 -1.30000 0.00000 2.40000 255 -0.400000 0.224000 2.55000 256 -0.224000 0.400000 2.55000 257 0.00000 0.400000 2.55000 258 -1.30000 0.728000 2.55000 259 -0.728000 1.30000 2.55000 260 0.00000 1.30000 2.55000 261 -1.30000 0.728000 2.40000 262 -0.728000 1.30000 2.40000 263 0.00000 1.30000 2.40000 264 0.224000 0.400000 2.55000 265 0.400000 0.224000 2.55000 266 0.728000 1.30000 2.55000 267 1.30000 0.728000 2.55000 268 0.728000 1.30000 2.40000 269 1.30000 0.728000 2.40000 270 0.00000 0.00000 0.00000 271 1.50000 0.00000 0.150000 272 1.50000 0.840000 0.150000 273 0.840000 1.50000 0.150000 274 0.00000 1.50000 0.150000 275 1.50000 0.00000 0.750000E-01 276 1.50000 0.840000 0.750000E-01 277 0.840000 1.50000 0.750000E-01 278 0.00000 1.50000 0.750000E-01 279 1.42500 0.00000 0.00000 280 1.42500 0.798000 0.00000 281 0.798000 1.42500 0.00000 282 0.00000 1.42500 0.00000 283 -0.840000 1.50000 0.150000 284 -1.50000 0.840000 0.150000 285 -1.50000 0.00000 0.150000 286 -0.840000 1.50000 0.750000E-01 287 -1.50000 0.840000 0.750000E-01 288 -1.50000 0.00000 0.750000E-01 289 -0.798000 1.42500 0.00000 290 -1.42500 0.798000 0.00000 291 -1.42500 0.00000 0.00000 292 -1.50000 -0.840000 0.150000 293 -0.840000 -1.50000 0.150000 294 0.00000 -1.50000 0.150000 295 -1.50000 -0.840000 0.750000E-01 296 -0.840000 -1.50000 0.750000E-01 297 0.00000 -1.50000 0.750000E-01 298 -1.42500 -0.798000 0.00000 299 -0.798000 -1.42500 0.00000 300 0.00000 -1.42500 0.00000 301 0.840000 -1.50000 0.150000 302 1.50000 -0.840000 0.150000 303 0.840000 -1.50000 0.750000E-01 304 1.50000 -0.840000 0.750000E-01 305 0.798000 -1.42500 0.00000 306 1.42500 -0.798000 0.00000 Bezier Rectangles: Row 1 2 3 4 5 6 7 8 9 10 Col 1 1 2 3 4 5 6 7 8 9 10 2 4 17 18 19 8 20 21 22 12 23 3 19 29 30 31 22 32 33 34 25 35 4 31 41 42 1 34 43 44 5 37 45 5 13 14 15 16 49 50 51 52 53 54 6 16 26 27 28 52 61 62 63 56 64 7 28 38 39 40 63 70 71 72 66 73 8 40 47 48 13 72 79 80 49 75 81 9 57 58 59 60 85 86 87 88 89 90 10 60 67 68 69 88 97 98 99 92 100 11 69 76 77 78 99 106 107 108 102 109 12 78 83 84 57 108 115 116 85 111 117 13 121 122 123 124 125 126 127 128 129 130 14 124 137 138 121 128 139 140 125 132 141 15 133 134 135 136 145 146 147 148 149 150 16 136 143 144 133 148 156 157 145 152 158 17 162 163 164 165 166 167 168 169 170 171 18 165 178 179 162 169 180 181 166 173 182 19 174 175 176 177 186 187 188 189 190 191 20 177 184 185 174 189 198 199 186 193 200 21 204 204 204 204 207 208 209 210 211 211 22 204 204 204 204 210 217 218 219 211 211 23 204 204 204 204 219 224 225 226 211 211 24 204 204 204 204 226 230 231 207 211 211 25 212 213 214 215 234 235 236 237 238 239 26 215 220 221 222 237 246 247 248 241 249 27 222 227 228 229 248 255 256 257 251 258 28 229 232 233 212 257 264 265 234 260 266 29 270 270 270 270 279 280 281 282 275 276 30 270 270 270 270 282 289 290 291 278 286 31 270 270 270 270 291 298 299 300 288 295 32 270 270 270 270 300 305 306 279 297 303 Row 11 12 13 14 15 16 Col 1 11 12 13 14 15 16 2 24 25 16 26 27 28 3 36 37 28 38 39 40 4 46 9 40 47 48 13 5 55 56 57 58 59 60 6 65 66 60 67 68 69 7 74 75 69 76 77 78 8 82 53 78 83 84 57 9 91 92 93 94 95 96 10 101 102 96 103 104 105 11 110 111 105 112 113 114 12 118 89 114 119 120 93 13 131 132 133 134 135 136 14 142 129 136 143 144 133 15 151 152 69 153 154 155 16 159 149 155 160 161 69 17 172 173 174 175 176 177 18 183 170 177 184 185 174 19 192 193 194 195 196 197 20 201 190 197 202 203 194 21 211 211 212 213 214 215 22 211 211 215 220 221 222 23 211 211 222 227 228 229 24 211 211 229 232 233 212 25 240 241 242 243 244 245 26 250 251 245 252 253 254 27 259 260 254 261 262 263 28 267 238 263 268 269 242 29 277 278 271 272 273 274 30 287 288 274 283 284 285 31 296 297 285 292 293 294 32 304 275 294 301 302 271 test02(): bezier_surface_neighbors() determines patch neighbors. Note that, for this example, the teapot, there are cases where more than two patches meet at a (degenerate) side. This routine will not handle such cases completely. Bezier patch neighbors: Row 1 2 3 4 Col 1 -1 2 5 4 2 -1 3 6 1 3 -1 4 7 2 4 -1 1 8 3 5 1 6 9 8 6 2 7 10 5 7 3 8 11 6 8 4 5 12 7 9 5 10 -1 12 10 6 11 -1 9 11 7 12 -1 10 12 8 9 -1 11 13 14 14 14 14 14 13 13 13 13 15 16 16 16 16 16 15 15 15 15 17 18 18 18 18 18 17 17 17 17 19 20 20 20 20 20 19 19 19 19 21 22 22 25 24 22 21 23 26 21 23 24 24 27 22 24 23 21 28 23 25 21 26 -1 28 26 22 27 -1 25 27 23 28 -1 26 28 24 25 -1 27 29 30 30 -1 32 30 29 31 -1 29 31 32 32 -1 30 32 31 29 -1 31 test03(): bezier_patch_evaluate() evaluates points in one patch of a Bezier surface. Nodal coordinates: 1 0.000 0.000 0.000 2 0.3333 0.000 0.000 3 0.6667 0.000 0.000 4 1.000 0.000 0.000 5 0.000 0.3333 0.000 6 0.3333 0.3333 0.2469E-01 7 0.6667 0.3333 0.2469E-01 8 1.000 0.3333 0.000 9 0.000 0.6667 0.000 10 0.3333 0.6667 0.9877E-01 11 0.6667 0.6667 0.9877E-01 12 1.000 0.6667 0.000 13 0.000 1.000 0.000 14 0.3333 1.000 0.2222 15 0.6667 1.000 0.2222 16 1.000 1.000 0.000 (U,V) --> (X,Y,Z) coordinates: 1 0.000 0.000 0.000 0.000 0.000 2 0.3333 0.000 0.3333 0.000 0.000 3 0.6667 0.000 0.6667 0.000 0.000 4 1.000 0.000 1.000 0.000 0.000 5 0.000 0.3333 0.000 0.3333 0.000 6 0.3333 0.3333 0.3333 0.3333 0.2743E-01 7 0.6667 0.3333 0.6667 0.3333 0.2743E-01 8 1.000 0.3333 1.000 0.3333 0.000 9 0.000 0.6667 0.000 0.6667 0.000 10 0.3333 0.6667 0.3333 0.6667 0.7682E-01 11 0.6667 0.6667 0.6667 0.6667 0.7682E-01 12 1.000 0.6667 1.000 0.6667 0.000 13 0.000 1.000 0.000 1.000 0.000 14 0.3333 1.000 0.3333 1.000 0.1481 15 0.6667 1.000 0.6667 1.000 0.1481 16 1.000 1.000 1.000 1.000 0.000 bezier_surface_test() Normal end of execution. September 2 2021 7:23:21.017 PM