From d3685202702edd3db2dc2e129e2d4fe6059cc3ea Mon Sep 17 00:00:00 2001 From: ansgar <ansgar@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Tue, 13 Apr 2010 12:55:28 +0000 Subject: [PATCH] more work on ambient occlusion; fixed some double precision fixes git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@1981 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- examples/misc/ambient_occlusion.py | 10 + examples/misc/fragment.face | 1417 ++++++++++++++++++++++++++ examples/misc/fragment.vert | 710 +++++++++++++ modules/gfx/src/impl/calc_ambient.cc | 64 +- modules/gfx/src/vertex_array.cc | 17 +- 5 files changed, 2183 insertions(+), 35 deletions(-) create mode 100644 examples/misc/ambient_occlusion.py create mode 100644 examples/misc/fragment.face create mode 100644 examples/misc/fragment.vert diff --git a/examples/misc/ambient_occlusion.py b/examples/misc/ambient_occlusion.py new file mode 100644 index 000000000..f9232b77d --- /dev/null +++ b/examples/misc/ambient_occlusion.py @@ -0,0 +1,10 @@ +surf=io.LoadSurface("fragment","msms") +scene.Add(gfx.Surface("surf",surf)) +scene.CenterOn("surf") +scene.SetFog(False) +#scene["surf"].Debug(1) +scene["surf"].SetColor(gfx.Color(1,1,0)) +scene["surf"].SetMat(0,1,0,0) +scene.AutoAutoslab(False) +scene.Autoslab() +scene["surf"].AmbientOcclusion(True) diff --git a/examples/misc/fragment.face b/examples/misc/fragment.face new file mode 100644 index 000000000..8d8051710 --- /dev/null +++ b/examples/misc/fragment.face @@ -0,0 +1,1417 @@ +# MSMS solvent excluded surface faces for t.xyz +#faces #sphere density probe_r + 1414 81 0.50 1.50 + 1 5 533 3 3 + 533 5 534 3 3 + 533 534 2 3 3 + 2 534 4 3 3 + 5 535 6 3 5 + 6 535 536 3 5 + 535 8 536 3 5 + 536 8 7 3 5 + 8 11 9 3 7 + 9 11 10 3 7 + 11 537 12 3 8 + 12 537 538 3 8 + 537 539 538 3 8 + 538 539 540 3 8 + 539 541 540 3 8 + 540 541 542 3 8 + 541 1 542 3 8 + 542 1 3 3 8 + 12 14 10 3 10 + 10 14 13 3 10 + 14 17 15 3 12 + 15 17 16 3 12 + 17 20 543 3 14 + 543 20 544 3 14 + 543 544 18 3 14 + 18 544 19 3 14 + 20 23 21 3 16 + 21 23 22 3 16 + 23 26 545 3 18 + 545 26 546 3 18 + 545 546 24 3 18 + 24 546 25 3 18 + 26 3 27 3 19 + 27 3 2 3 19 + 27 29 25 3 21 + 25 29 28 3 21 + 29 32 30 3 23 + 30 32 31 3 23 + 32 35 33 3 25 + 33 35 34 3 25 + 35 38 36 3 27 + 36 38 37 3 27 + 38 41 39 3 29 + 39 41 40 3 29 + 41 4 42 3 30 + 42 4 6 3 30 + 42 44 40 3 32 + 40 44 43 3 32 + 44 47 45 3 34 + 45 47 46 3 34 + 47 50 48 3 36 + 48 50 49 3 36 + 50 7 51 3 37 + 51 7 9 3 37 + 51 53 49 3 39 + 49 53 52 3 39 + 53 13 54 3 40 + 54 13 15 3 40 + 54 56 52 3 42 + 52 56 55 3 42 + 56 547 57 3 44 + 57 547 548 3 44 + 547 549 548 3 44 + 548 549 550 3 44 + 549 59 550 3 44 + 550 59 58 3 44 + 59 62 60 3 46 + 60 62 61 3 46 + 62 65 63 3 48 + 63 65 64 3 48 + 65 16 66 3 49 + 66 16 18 3 49 + 66 68 64 3 51 + 64 68 67 3 51 + 68 71 69 3 53 + 69 71 70 3 53 + 71 74 72 3 55 + 72 74 73 3 55 + 74 77 75 3 57 + 75 77 76 3 57 + 77 19 78 3 58 + 78 19 21 3 58 + 78 22 76 3 59 + 76 22 24 3 59 + 75 80 73 3 61 + 73 80 79 3 61 + 80 83 81 3 63 + 81 83 82 3 63 + 83 28 84 3 64 + 84 28 30 3 64 + 84 86 82 3 66 + 82 86 85 3 66 + 86 89 87 3 68 + 87 89 88 3 68 + 89 92 90 3 70 + 90 92 91 3 70 + 92 31 93 3 71 + 93 31 33 3 71 + 93 95 91 3 73 + 91 95 94 3 73 + 95 98 96 3 75 + 96 98 97 3 75 + 98 101 99 3 77 + 99 101 100 3 77 + 101 104 102 3 79 + 102 104 103 3 79 + 104 34 105 3 80 + 105 34 36 3 80 + 105 107 103 3 82 + 103 107 106 3 82 + 107 551 108 3 83 + 108 551 552 3 83 + 551 37 552 3 83 + 552 37 39 3 83 + 108 110 106 3 85 + 106 110 109 3 85 + 110 113 111 3 87 + 111 113 112 3 87 + 113 116 114 3 89 + 114 116 115 3 89 + 116 119 117 3 91 + 117 119 118 3 91 + 119 122 553 3 93 + 553 122 554 3 93 + 553 554 120 3 93 + 120 554 121 3 93 + 122 43 123 3 94 + 123 43 45 3 94 + 123 125 121 3 96 + 121 125 124 3 96 + 125 128 126 3 98 + 126 128 127 3 98 + 128 46 129 3 99 + 129 46 48 3 99 + 129 131 127 3 101 + 127 131 130 3 101 + 131 134 132 3 103 + 132 134 133 3 103 + 134 137 135 3 105 + 135 137 136 3 105 + 141 138 140 3 107 + 137 142 139 3 108 + 142 145 143 3 110 + 143 145 144 3 110 + 145 148 146 3 112 + 146 148 147 3 112 + 148 151 149 3 114 + 149 151 150 3 114 + 151 55 555 3 115 + 555 55 556 3 115 + 555 556 152 3 115 + 152 556 57 3 115 + 152 557 150 3 117 + 150 557 558 3 117 + 557 559 558 3 117 + 558 559 560 3 117 + 559 154 560 3 117 + 560 154 153 3 117 + 154 157 155 3 119 + 155 157 156 3 119 + 157 160 561 3 121 + 561 160 562 3 121 + 561 562 158 3 121 + 158 562 159 3 121 + 160 58 161 3 122 + 161 58 60 3 122 + 161 61 159 3 123 + 159 61 63 3 123 + 158 163 156 3 125 + 156 163 162 3 125 + 163 166 164 3 127 + 164 166 165 3 127 + 166 169 167 3 129 + 167 169 168 3 129 + 169 172 170 3 131 + 170 172 171 3 131 + 172 175 173 3 133 + 173 175 174 3 133 + 175 563 176 3 135 + 176 563 564 3 135 + 563 178 564 3 135 + 564 178 177 3 135 + 178 181 179 3 137 + 179 181 180 3 137 + 181 67 182 3 138 + 182 67 69 3 138 + 182 184 180 3 140 + 180 184 183 3 140 + 184 187 185 3 142 + 185 187 186 3 142 + 187 190 188 3 144 + 188 190 189 3 144 + 190 70 191 3 145 + 191 70 72 3 145 + 191 79 189 3 146 + 189 79 81 3 146 + 188 193 186 3 148 + 186 193 192 3 148 + 193 85 194 3 149 + 194 85 87 3 149 + 194 196 192 3 151 + 192 196 195 3 151 + 196 199 197 3 153 + 197 199 198 3 153 + 199 202 200 3 155 + 200 202 201 3 155 + 202 565 203 3 157 + 203 565 566 3 157 + 565 205 566 3 157 + 566 205 204 3 157 + 205 208 206 3 159 + 206 208 207 3 159 + 208 88 209 3 160 + 209 88 90 3 160 + 209 94 207 3 161 + 207 94 96 3 161 + 206 211 204 3 163 + 204 211 210 3 163 + 211 214 212 3 165 + 212 214 213 3 165 + 214 217 215 3 167 + 215 217 216 3 167 + 217 97 218 3 168 + 218 97 99 3 168 + 218 100 216 3 169 + 216 100 102 3 169 + 215 220 567 3 171 + 567 220 568 3 171 + 567 568 213 3 171 + 213 568 219 3 171 + 220 223 221 3 173 + 221 223 222 3 173 + 223 226 224 3 175 + 224 226 225 3 175 + 226 229 227 3 177 + 227 229 228 3 177 + 229 109 230 3 178 + 230 109 111 3 178 + 230 232 228 3 180 + 228 232 231 3 180 + 232 235 233 3 182 + 233 235 234 3 182 + 235 112 236 3 183 + 236 112 114 3 183 + 149 234 238 3 184 + 236 147 237 3 185 + 233 240 231 3 187 + 231 240 239 3 187 + 240 243 241 3 189 + 241 243 242 3 189 + 243 165 244 3 190 + 244 165 167 3 190 + 244 246 242 3 192 + 242 246 245 3 192 + 246 249 247 3 194 + 247 249 248 3 194 + 249 252 250 3 196 + 250 252 251 3 196 + 252 168 253 3 197 + 253 168 170 3 197 + 253 255 251 3 199 + 251 255 254 3 199 + 255 258 256 3 201 + 256 258 257 3 201 + 258 261 259 3 203 + 259 261 260 3 203 + 261 171 262 3 204 + 262 171 173 3 204 + 262 264 260 3 206 + 260 264 263 3 206 + 268 265 267 3 208 + 264 269 266 3 209 + 269 272 270 3 211 + 270 272 271 3 211 + 272 275 273 3 213 + 273 275 274 3 213 + 275 278 276 3 215 + 276 278 277 3 215 + 278 569 279 3 217 + 279 569 570 3 217 + 569 281 570 3 217 + 570 281 280 3 217 + 281 284 282 3 219 + 282 284 283 3 219 + 284 174 285 3 220 + 285 174 176 3 220 + 285 287 283 3 222 + 283 287 286 3 222 + 287 571 288 3 224 + 288 571 572 3 224 + 571 573 572 3 224 + 572 573 574 3 224 + 573 290 574 3 224 + 574 290 289 3 224 + 290 274 291 3 225 + 291 274 276 3 225 + 291 293 289 3 227 + 289 293 292 3 227 + 293 277 294 3 228 + 294 277 279 3 228 + 294 575 292 3 230 + 292 575 576 3 230 + 575 296 576 3 230 + 576 296 295 3 230 + 296 280 297 3 231 + 297 280 282 3 231 + 297 286 295 3 232 + 295 286 288 3 232 + 273 577 271 3 233 + 271 577 578 3 233 + 577 579 578 3 233 + 578 579 580 3 233 + 579 177 580 3 233 + 580 177 179 3 233 + 270 299 268 3 235 + 268 299 298 3 235 + 299 183 300 3 236 + 300 183 185 3 236 + 300 302 298 3 238 + 298 302 301 3 238 + 302 195 303 3 239 + 303 195 197 3 239 + 303 198 301 3 240 + 301 198 200 3 240 + 265 257 263 3 241 + 263 257 259 3 241 + 256 305 254 3 243 + 254 305 304 3 243 + 305 581 306 3 245 + 306 581 582 3 245 + 581 308 582 3 245 + 582 308 307 3 245 + 308 201 309 3 246 + 309 201 203 3 246 + 309 311 307 3 248 + 307 311 310 3 248 + 311 210 312 3 249 + 312 210 212 3 249 + 312 583 310 3 251 + 310 583 584 3 251 + 583 585 584 3 251 + 584 585 586 3 251 + 585 314 586 3 251 + 586 314 313 3 251 + 314 219 315 3 252 + 315 219 221 3 252 + 315 304 313 3 253 + 313 304 306 3 253 + 250 317 248 3 255 + 248 317 316 3 255 + 317 222 318 3 256 + 318 222 224 3 256 + 318 225 316 3 257 + 316 225 227 3 257 + 247 239 245 3 258 + 245 239 241 3 258 + 164 153 162 3 259 + 162 153 155 3 259 + 146 320 144 3 261 + 144 320 319 3 261 + 320 323 587 3 263 + 587 323 588 3 263 + 587 588 321 3 263 + 321 588 322 3 263 + 323 326 324 3 265 + 324 326 325 3 265 + 326 329 327 3 267 + 327 329 328 3 267 + 329 332 330 3 269 + 330 332 331 3 269 + 332 115 333 3 270 + 333 115 117 3 270 + 333 118 331 3 271 + 331 118 120 3 271 + 330 335 328 3 273 + 328 335 334 3 273 + 335 589 336 3 275 + 336 589 590 3 275 + 589 338 590 3 275 + 590 338 337 3 275 + 338 591 339 3 277 + 339 591 592 3 277 + 591 341 592 3 277 + 592 341 340 3 277 + 341 124 342 3 278 + 342 124 126 3 278 + 342 344 340 3 280 + 340 344 343 3 280 + 344 130 345 3 281 + 345 130 132 3 281 + 345 347 343 3 283 + 343 347 346 3 283 + 347 350 348 3 285 + 348 350 349 3 285 + 350 593 351 3 287 + 351 593 594 3 287 + 593 353 594 3 287 + 594 353 352 3 287 + 353 356 354 3 289 + 354 356 355 3 289 + 356 133 357 3 290 + 357 133 135 3 290 + 357 136 355 3 291 + 355 136 138 3 291 + 354 359 352 3 293 + 352 359 358 3 293 + 359 362 360 3 295 + 360 362 361 3 295 + 362 365 363 3 297 + 363 365 364 3 297 + 365 368 366 3 299 + 366 368 367 3 299 + 368 371 369 3 301 + 369 371 370 3 301 + 371 374 372 3 303 + 372 374 373 3 303 + 374 322 375 3 304 + 375 322 324 3 304 + 375 377 373 3 306 + 373 377 376 3 306 + 377 380 378 3 308 + 378 380 379 3 308 + 380 383 381 3 310 + 381 383 382 3 310 + 383 325 384 3 311 + 384 325 327 3 311 + 384 334 382 3 312 + 382 334 336 3 312 + 381 386 379 3 314 + 379 386 385 3 314 + 386 389 387 3 316 + 387 389 388 3 316 + 389 392 390 3 318 + 390 392 391 3 318 + 392 337 393 3 319 + 393 337 339 3 319 + 393 346 391 3 320 + 391 346 348 3 320 + 390 349 388 3 321 + 388 349 351 3 321 + 387 395 385 3 323 + 385 395 394 3 323 + 395 595 396 3 324 + 396 595 596 3 324 + 595 358 596 3 324 + 596 358 360 3 324 + 396 398 394 3 326 + 394 398 397 3 326 + 398 597 399 3 328 + 399 597 598 3 328 + 597 401 598 3 328 + 598 401 400 3 328 + 401 361 402 3 329 + 402 361 363 3 329 + 402 404 400 3 331 + 400 404 403 3 331 + 404 407 405 3 333 + 405 407 406 3 333 + 407 410 599 3 335 + 599 410 600 3 335 + 599 600 408 3 335 + 408 600 409 3 335 + 410 413 411 3 337 + 411 413 412 3 337 + 413 364 414 3 338 + 414 364 366 3 338 + 414 416 412 3 340 + 412 416 415 3 340 + 416 419 417 3 342 + 417 419 418 3 342 + 419 367 420 3 343 + 420 367 369 3 343 + 420 601 418 3 345 + 418 601 602 3 345 + 601 422 602 3 345 + 602 422 421 3 345 + 422 425 423 3 347 + 423 425 424 3 347 + 425 428 426 3 349 + 426 428 427 3 349 + 428 370 603 3 350 + 603 370 604 3 350 + 603 604 429 3 350 + 429 604 372 3 350 + 429 431 427 3 352 + 427 431 430 3 352 + 431 434 432 3 354 + 432 434 433 3 354 + 434 437 435 3 356 + 435 437 436 3 356 + 437 376 438 3 357 + 438 376 378 3 357 + 438 440 436 3 359 + 436 440 439 3 359 + 440 397 441 3 360 + 441 397 399 3 360 + 441 443 439 3 362 + 439 443 442 3 362 + 443 446 444 3 364 + 444 446 445 3 364 + 446 605 447 3 366 + 447 605 606 3 366 + 605 607 606 3 366 + 606 607 608 3 366 + 607 449 608 3 366 + 608 449 448 3 366 + 449 403 450 3 367 + 450 403 405 3 367 + 450 452 448 3 369 + 448 452 451 3 369 + 452 406 453 3 370 + 453 406 408 3 370 + 453 455 451 3 372 + 451 455 454 3 372 + 455 458 456 3 374 + 456 458 457 3 374 + 458 461 459 3 376 + 459 461 460 3 376 + 461 609 462 3 378 + 462 609 610 3 378 + 609 464 610 3 378 + 610 464 463 3 378 + 464 611 465 3 380 + 465 611 612 3 380 + 611 467 612 3 380 + 612 467 466 3 380 + 467 470 468 3 382 + 468 470 469 3 382 + 470 409 471 3 383 + 471 409 411 3 383 + 471 473 469 3 385 + 469 473 472 3 385 + 473 415 474 3 386 + 474 415 417 3 386 + 474 476 472 3 388 + 472 476 475 3 388 + 476 479 477 3 390 + 477 479 478 3 390 + 479 613 480 3 392 + 480 613 614 3 392 + 613 482 614 3 392 + 614 482 481 3 392 + 482 421 483 3 393 + 483 421 423 3 393 + 483 485 481 3 395 + 481 485 484 3 395 + 485 488 486 3 397 + 486 488 487 3 397 + 488 491 489 3 399 + 489 491 490 3 399 + 491 424 492 3 400 + 492 424 426 3 400 + 492 430 490 3 401 + 490 430 432 3 401 + 489 494 487 3 403 + 487 494 493 3 403 + 494 497 495 3 405 + 495 497 496 3 405 + 497 433 498 3 406 + 498 433 435 3 406 + 498 500 496 3 408 + 496 500 499 3 408 + 500 442 501 3 409 + 501 442 444 3 409 + 501 503 499 3 411 + 499 503 502 3 411 + 503 445 504 3 412 + 504 445 447 3 412 + 504 615 502 3 413 + 502 615 616 3 413 + 615 454 616 3 413 + 616 454 456 3 413 + 495 506 493 3 415 + 493 506 505 3 415 + 506 457 507 3 416 + 507 457 459 3 416 + 507 509 505 3 418 + 505 509 508 3 418 + 509 512 510 3 420 + 510 512 511 3 420 + 512 460 513 3 421 + 513 460 462 3 421 + 513 515 511 3 423 + 511 515 514 3 423 + 515 463 516 3 424 + 516 463 465 3 424 + 516 518 514 3 426 + 514 518 517 3 426 + 518 521 519 3 428 + 519 521 520 3 428 + 521 466 522 3 429 + 522 466 468 3 429 + 522 475 520 3 430 + 520 475 477 3 430 + 519 524 517 3 432 + 517 524 523 3 432 + 524 478 525 3 433 + 525 478 480 3 433 + 525 527 523 3 435 + 523 527 526 3 435 + 527 484 528 3 436 + 528 484 486 3 436 + 528 508 526 3 437 + 526 508 510 3 437 + 321 141 617 3 438 + 617 141 618 3 438 + 617 618 319 3 438 + 319 618 143 3 438 + 529 620 619 3 439 + 619 620 621 3 439 + 619 621 530 3 439 + 530 621 622 3 439 + 620 623 621 3 439 + 621 623 624 3 439 + 621 624 622 3 439 + 622 624 625 3 439 + 623 626 624 3 439 + 624 626 627 3 439 + 624 627 625 3 439 + 625 627 628 3 439 + 626 629 627 3 439 + 627 629 630 3 439 + 627 630 628 3 439 + 628 630 631 3 439 + 629 632 630 3 439 + 630 632 633 3 439 + 630 633 631 3 439 + 631 633 634 3 439 + 632 529 633 3 439 + 633 529 619 3 439 + 633 619 634 3 439 + 634 619 530 3 439 + 531 635 532 3 440 + 532 635 636 3 440 + 635 637 636 3 440 + 636 637 638 3 440 + 637 639 638 3 440 + 638 639 640 3 440 + 639 641 640 3 440 + 640 641 642 3 440 + 641 643 642 3 440 + 642 643 644 3 440 + 643 531 644 3 440 + 644 531 532 3 440 + 3 1 533 2 1 + 3 533 2 2 1 + 6 4 534 2 2 + 6 534 5 2 2 + 9 7 8 2 4 + 12 10 11 2 6 + 15 13 14 2 9 + 18 16 543 2 11 + 543 16 17 2 11 + 21 19 544 2 13 + 21 544 20 2 13 + 24 22 545 2 15 + 545 22 23 2 15 + 27 25 546 2 17 + 27 546 26 2 17 + 30 28 29 2 20 + 33 31 32 2 22 + 36 34 35 2 24 + 39 37 38 2 26 + 42 40 41 2 28 + 45 43 44 2 31 + 48 46 47 2 33 + 51 49 50 2 35 + 54 52 53 2 38 + 556 55 56 2 41 + 556 56 57 2 41 + 60 58 59 2 43 + 63 61 62 2 45 + 66 64 65 2 47 + 69 67 68 2 50 + 72 70 71 2 52 + 75 73 74 2 54 + 78 76 77 2 56 + 81 79 80 2 60 + 84 82 83 2 62 + 87 85 86 2 65 + 90 88 89 2 67 + 93 91 92 2 69 + 96 94 95 2 72 + 99 97 98 2 74 + 102 100 101 2 76 + 105 103 104 2 78 + 108 106 107 2 81 + 111 109 110 2 84 + 114 112 113 2 86 + 117 115 116 2 88 + 120 118 553 2 90 + 553 118 119 2 90 + 123 121 554 2 92 + 123 554 122 2 92 + 126 124 125 2 95 + 129 127 128 2 97 + 132 130 131 2 100 + 135 133 134 2 102 + 138 136 140 2 104 + 140 136 139 2 104 + 139 136 137 2 104 + 618 141 140 2 106 + 618 140 139 2 106 + 618 139 143 2 106 + 143 139 142 2 106 + 146 144 145 2 109 + 237 147 148 2 111 + 237 148 238 2 111 + 238 148 149 2 111 + 152 150 555 2 113 + 555 150 151 2 113 + 155 153 154 2 116 + 158 156 561 2 118 + 561 156 157 2 118 + 161 159 562 2 120 + 161 562 160 2 120 + 164 162 163 2 124 + 167 165 166 2 126 + 170 168 169 2 128 + 173 171 172 2 130 + 176 174 175 2 132 + 179 177 178 2 134 + 182 180 181 2 136 + 185 183 184 2 139 + 188 186 187 2 141 + 191 189 190 2 143 + 194 192 193 2 147 + 197 195 196 2 150 + 200 198 199 2 152 + 203 201 202 2 154 + 206 204 205 2 156 + 209 207 208 2 158 + 212 210 211 2 162 + 567 213 214 2 164 + 567 214 215 2 164 + 218 216 217 2 166 + 221 219 568 2 170 + 221 568 220 2 170 + 224 222 223 2 172 + 227 225 226 2 174 + 230 228 229 2 176 + 233 231 232 2 179 + 238 234 235 2 181 + 238 235 237 2 181 + 237 235 236 2 181 + 241 239 240 2 186 + 244 242 243 2 188 + 247 245 246 2 191 + 250 248 249 2 193 + 253 251 252 2 195 + 256 254 255 2 198 + 259 257 258 2 200 + 262 260 261 2 202 + 265 263 267 2 205 + 267 263 266 2 205 + 266 263 264 2 205 + 270 268 267 2 207 + 270 267 266 2 207 + 270 266 269 2 207 + 273 271 272 2 210 + 276 274 275 2 212 + 279 277 278 2 214 + 282 280 281 2 216 + 285 283 284 2 218 + 288 286 287 2 221 + 291 289 290 2 223 + 294 292 293 2 226 + 297 295 296 2 229 + 300 298 299 2 234 + 303 301 302 2 237 + 306 304 305 2 242 + 309 307 308 2 244 + 312 310 311 2 247 + 315 313 314 2 250 + 318 316 317 2 254 + 617 319 587 2 260 + 617 587 321 2 260 + 587 319 320 2 260 + 324 322 588 2 262 + 324 588 323 2 262 + 327 325 326 2 264 + 330 328 329 2 266 + 333 331 332 2 268 + 336 334 335 2 272 + 339 337 338 2 274 + 342 340 341 2 276 + 345 343 344 2 279 + 348 346 347 2 282 + 351 349 350 2 284 + 354 352 353 2 286 + 357 355 356 2 288 + 360 358 359 2 292 + 363 361 362 2 294 + 366 364 365 2 296 + 369 367 368 2 298 + 604 370 371 2 300 + 604 371 372 2 300 + 375 373 374 2 302 + 378 376 377 2 305 + 381 379 380 2 307 + 384 382 383 2 309 + 387 385 386 2 313 + 390 388 389 2 315 + 393 391 392 2 317 + 396 394 395 2 322 + 399 397 398 2 325 + 402 400 401 2 327 + 405 403 404 2 330 + 408 406 599 2 332 + 599 406 407 2 332 + 411 409 600 2 334 + 411 600 410 2 334 + 414 412 413 2 336 + 417 415 416 2 339 + 420 418 419 2 341 + 423 421 422 2 344 + 426 424 425 2 346 + 429 427 603 2 348 + 603 427 428 2 348 + 432 430 431 2 351 + 435 433 434 2 353 + 438 436 437 2 355 + 441 439 440 2 358 + 444 442 443 2 361 + 447 445 446 2 363 + 450 448 449 2 365 + 453 451 452 2 368 + 456 454 455 2 371 + 459 457 458 2 373 + 462 460 461 2 375 + 465 463 464 2 377 + 468 466 467 2 379 + 471 469 470 2 381 + 474 472 473 2 384 + 477 475 476 2 387 + 480 478 479 2 389 + 483 481 482 2 391 + 486 484 485 2 394 + 489 487 488 2 396 + 492 490 491 2 398 + 495 493 494 2 402 + 498 496 497 2 404 + 501 499 500 2 407 + 504 502 503 2 410 + 507 505 506 2 414 + 510 508 509 2 417 + 513 511 512 2 419 + 516 514 515 2 422 + 519 517 518 2 425 + 522 520 521 2 427 + 525 523 524 2 431 + 528 526 527 2 434 + 646 645 650 1 441 + 647 646 650 1 441 + 648 647 650 1 441 + 649 648 650 1 441 + 645 649 650 1 441 + 649 645 1 1 441 + 649 1 541 1 441 + 649 541 539 1 441 + 649 539 648 1 441 + 648 539 537 1 441 + 648 537 647 1 441 + 647 537 11 1 441 + 647 11 8 1 441 + 647 8 646 1 441 + 646 8 535 1 441 + 646 535 645 1 441 + 645 535 5 1 441 + 645 5 1 1 441 + 4 41 35 1 442 + 4 35 32 1 442 + 4 32 2 1 442 + 2 32 29 1 442 + 2 29 27 1 442 + 35 41 38 1 442 + 7 50 47 1 443 + 7 47 536 1 443 + 536 47 44 1 443 + 536 44 6 1 443 + 6 44 42 1 443 + 10 13 53 1 444 + 10 53 51 1 444 + 10 51 9 1 444 + 3 26 542 1 445 + 542 26 20 1 445 + 542 20 651 1 445 + 542 651 540 1 445 + 540 651 538 1 445 + 538 651 14 1 445 + 538 14 12 1 445 + 14 651 17 1 445 + 17 651 20 1 445 + 20 26 23 1 445 + 16 65 15 1 446 + 15 65 652 1 446 + 15 652 547 1 446 + 15 547 54 1 446 + 54 547 56 1 446 + 547 652 549 1 446 + 549 652 59 1 446 + 59 652 65 1 446 + 59 65 62 1 446 + 19 77 71 1 447 + 19 71 18 1 447 + 18 71 68 1 447 + 18 68 66 1 447 + 71 77 74 1 447 + 22 78 21 1 448 + 25 28 76 1 449 + 25 76 24 1 449 + 76 28 75 1 449 + 75 28 83 1 449 + 75 83 80 1 449 + 31 92 30 1 450 + 30 92 86 1 450 + 30 86 84 1 450 + 86 92 89 1 450 + 34 104 653 1 451 + 34 653 33 1 451 + 33 653 93 1 451 + 93 653 95 1 451 + 95 653 98 1 451 + 98 653 104 1 451 + 98 104 101 1 451 + 551 107 105 1 452 + 551 105 36 1 452 + 551 36 37 1 452 + 40 43 39 1 453 + 39 43 122 1 453 + 39 122 552 1 453 + 552 122 119 1 453 + 552 119 116 1 453 + 552 116 108 1 453 + 108 116 113 1 453 + 108 113 110 1 453 + 46 128 125 1 454 + 46 125 45 1 454 + 45 125 123 1 454 + 49 52 131 1 455 + 49 131 129 1 455 + 49 129 48 1 455 + 131 52 134 1 455 + 134 52 137 1 455 + 137 52 55 1 455 + 137 55 142 1 455 + 142 55 151 1 455 + 142 151 145 1 455 + 145 151 148 1 455 + 654 655 656 1 456 + 654 656 157 1 456 + 654 157 154 1 456 + 654 154 559 1 456 + 654 559 626 1 456 + 654 626 655 1 456 + 655 626 623 1 456 + 655 623 548 1 456 + 655 548 550 1 456 + 655 550 656 1 456 + 656 550 58 1 456 + 656 58 160 1 456 + 656 160 157 1 456 + 548 623 620 1 456 + 548 620 57 1 456 + 57 620 529 1 456 + 57 529 152 1 456 + 152 529 632 1 456 + 152 632 557 1 456 + 557 632 629 1 456 + 557 629 626 1 456 + 557 626 559 1 456 + 61 161 60 1 457 + 64 67 178 1 458 + 64 178 563 1 458 + 64 563 63 1 458 + 63 563 175 1 458 + 63 175 159 1 458 + 159 175 158 1 458 + 158 175 172 1 458 + 158 172 163 1 458 + 163 172 169 1 458 + 163 169 166 1 458 + 178 67 181 1 458 + 70 190 187 1 459 + 70 187 182 1 459 + 70 182 69 1 459 + 182 187 184 1 459 + 73 79 191 1 460 + 73 191 72 1 460 + 82 85 189 1 461 + 82 189 81 1 461 + 189 85 188 1 461 + 188 85 193 1 461 + 88 208 657 1 462 + 88 657 87 1 462 + 87 657 194 1 462 + 194 657 199 1 462 + 194 199 196 1 462 + 199 657 565 1 462 + 199 565 202 1 462 + 565 657 205 1 462 + 205 657 208 1 462 + 91 94 209 1 463 + 91 209 90 1 463 + 97 217 211 1 464 + 97 211 96 1 464 + 96 211 206 1 464 + 96 206 207 1 464 + 211 217 214 1 464 + 100 218 99 1 465 + 103 106 102 1 466 + 102 106 216 1 466 + 216 106 109 1 466 + 216 109 229 1 466 + 216 229 215 1 466 + 215 229 220 1 466 + 220 229 226 1 466 + 220 226 223 1 466 + 112 235 232 1 467 + 112 232 230 1 467 + 112 230 111 1 467 + 115 332 329 1 468 + 115 329 114 1 468 + 114 329 326 1 468 + 114 326 236 1 468 + 236 326 323 1 468 + 236 323 147 1 468 + 147 323 320 1 468 + 147 320 146 1 468 + 118 333 117 1 469 + 658 659 660 1 470 + 660 659 661 1 470 + 660 661 338 1 470 + 660 338 589 1 470 + 660 589 658 1 470 + 658 589 335 1 470 + 658 335 330 1 470 + 658 330 331 1 470 + 658 331 659 1 470 + 659 331 120 1 470 + 659 120 121 1 470 + 659 121 661 1 470 + 661 121 124 1 470 + 661 124 591 1 470 + 661 591 338 1 470 + 591 124 341 1 470 + 127 130 344 1 471 + 127 344 342 1 471 + 127 342 126 1 471 + 133 356 353 1 472 + 133 353 132 1 472 + 132 353 593 1 472 + 132 593 345 1 472 + 345 593 347 1 472 + 347 593 350 1 472 + 136 357 135 1 473 + 634 530 141 1 474 + 634 141 321 1 474 + 634 321 322 1 474 + 634 322 631 1 474 + 631 322 374 1 474 + 631 374 371 1 474 + 631 371 628 1 474 + 628 371 368 1 474 + 628 368 625 1 474 + 625 368 622 1 474 + 622 368 365 1 474 + 622 365 362 1 474 + 622 362 359 1 474 + 622 359 354 1 474 + 622 354 355 1 474 + 622 355 530 1 474 + 530 355 138 1 474 + 530 138 141 1 474 + 144 319 143 1 475 + 560 153 243 1 476 + 560 243 240 1 476 + 560 240 233 1 476 + 560 233 558 1 476 + 558 233 234 1 476 + 558 234 149 1 476 + 558 149 150 1 476 + 243 153 165 1 476 + 165 153 164 1 476 + 156 162 155 1 477 + 168 252 167 1 478 + 167 252 244 1 478 + 244 252 249 1 478 + 244 249 246 1 478 + 261 258 171 1 479 + 171 258 255 1 479 + 171 255 170 1 479 + 170 255 253 1 479 + 174 284 281 1 480 + 174 281 173 1 480 + 173 281 569 1 480 + 173 569 262 1 480 + 262 569 264 1 480 + 264 569 269 1 480 + 269 569 278 1 480 + 269 278 272 1 480 + 272 278 275 1 480 + 577 273 274 1 481 + 577 274 290 1 481 + 577 290 573 1 481 + 577 573 579 1 481 + 579 573 571 1 481 + 579 571 177 1 481 + 177 571 564 1 481 + 564 571 287 1 481 + 564 287 176 1 481 + 176 287 285 1 481 + 180 183 580 1 482 + 180 580 179 1 482 + 580 183 578 1 482 + 578 183 299 1 482 + 578 299 271 1 482 + 271 299 270 1 482 + 186 192 302 1 483 + 186 302 185 1 483 + 185 302 300 1 483 + 302 192 195 1 483 + 198 303 197 1 484 + 201 308 298 1 485 + 201 298 200 1 485 + 200 298 301 1 485 + 298 308 581 1 485 + 298 581 268 1 485 + 268 581 265 1 485 + 265 581 305 1 485 + 265 305 256 1 485 + 265 256 257 1 485 + 204 210 662 1 486 + 204 662 566 1 486 + 566 662 203 1 486 + 203 662 309 1 486 + 309 662 311 1 486 + 311 662 210 1 486 + 213 219 585 1 487 + 213 585 583 1 487 + 213 583 212 1 487 + 212 583 312 1 487 + 585 219 314 1 487 + 222 317 315 1 488 + 222 315 221 1 488 + 315 317 250 1 488 + 315 250 251 1 488 + 315 251 304 1 488 + 304 251 254 1 488 + 225 318 224 1 489 + 228 231 227 1 490 + 227 231 239 1 490 + 227 239 247 1 490 + 227 247 316 1 490 + 316 247 248 1 490 + 242 245 241 1 491 + 259 260 263 1 492 + 277 293 276 1 493 + 276 293 291 1 493 + 663 664 665 1 494 + 663 665 666 1 494 + 663 667 664 1 494 + 664 667 279 1 494 + 664 279 570 1 494 + 664 570 665 1 494 + 665 570 280 1 494 + 665 280 666 1 494 + 666 280 296 1 494 + 666 296 575 1 494 + 666 575 663 1 494 + 663 575 294 1 494 + 663 294 667 1 494 + 667 294 279 1 494 + 283 286 297 1 495 + 283 297 282 1 495 + 289 292 669 1 496 + 289 669 574 1 496 + 574 669 668 1 496 + 574 668 572 1 496 + 572 668 295 1 496 + 572 295 288 1 496 + 295 668 576 1 496 + 576 668 669 1 496 + 576 669 292 1 496 + 670 671 672 1 497 + 670 672 673 1 497 + 670 674 671 1 497 + 671 674 310 1 497 + 671 310 584 1 497 + 671 584 672 1 497 + 672 584 586 1 497 + 672 586 673 1 497 + 673 586 313 1 497 + 673 313 306 1 497 + 673 306 582 1 497 + 673 582 670 1 497 + 670 582 674 1 497 + 674 582 307 1 497 + 674 307 310 1 497 + 325 383 375 1 498 + 325 375 324 1 498 + 375 383 377 1 498 + 377 383 380 1 498 + 328 334 327 1 499 + 327 334 384 1 499 + 337 392 389 1 500 + 337 389 386 1 500 + 337 386 590 1 500 + 590 386 381 1 500 + 590 381 382 1 500 + 590 382 336 1 500 + 340 343 676 1 501 + 340 676 592 1 501 + 592 676 339 1 501 + 339 676 675 1 501 + 339 675 393 1 501 + 393 675 346 1 501 + 346 675 343 1 501 + 343 675 676 1 501 + 349 390 391 1 502 + 349 391 348 1 502 + 352 358 594 1 503 + 594 358 595 1 503 + 594 595 351 1 503 + 351 595 395 1 503 + 351 395 388 1 503 + 388 395 387 1 503 + 361 401 360 1 504 + 360 401 596 1 504 + 596 401 597 1 504 + 596 597 396 1 504 + 396 597 398 1 504 + 364 413 677 1 505 + 364 677 363 1 505 + 363 677 402 1 505 + 402 677 404 1 505 + 404 677 407 1 505 + 407 677 410 1 505 + 410 677 413 1 505 + 367 419 414 1 506 + 367 414 366 1 506 + 414 419 416 1 506 + 370 428 678 1 507 + 370 678 679 1 507 + 370 679 681 1 507 + 370 681 369 1 507 + 369 681 680 1 507 + 369 680 420 1 507 + 420 680 601 1 507 + 601 680 679 1 507 + 601 679 678 1 507 + 601 678 422 1 507 + 422 678 425 1 507 + 425 678 428 1 507 + 679 680 681 1 507 + 373 376 682 1 508 + 373 682 372 1 508 + 372 682 429 1 508 + 429 682 431 1 508 + 431 682 434 1 508 + 434 682 437 1 508 + 437 682 376 1 508 + 379 385 397 1 509 + 379 397 440 1 509 + 379 440 438 1 509 + 379 438 378 1 509 + 397 385 394 1 509 + 400 403 449 1 510 + 400 449 607 1 510 + 400 607 598 1 510 + 598 607 605 1 510 + 598 605 399 1 510 + 399 605 446 1 510 + 399 446 441 1 510 + 441 446 443 1 510 + 406 452 450 1 511 + 406 450 405 1 511 + 409 470 684 1 512 + 409 684 408 1 512 + 408 684 453 1 512 + 453 684 683 1 512 + 453 683 455 1 512 + 455 683 609 1 512 + 455 609 461 1 512 + 455 461 458 1 512 + 609 683 464 1 512 + 464 683 611 1 512 + 611 683 684 1 512 + 611 684 467 1 512 + 467 684 470 1 512 + 412 415 471 1 513 + 412 471 411 1 513 + 471 415 473 1 513 + 602 421 613 1 514 + 602 613 685 1 514 + 602 685 686 1 514 + 602 686 418 1 514 + 418 686 417 1 514 + 417 686 474 1 514 + 474 686 476 1 514 + 476 686 685 1 514 + 476 685 479 1 514 + 479 685 613 1 514 + 613 421 482 1 514 + 424 491 488 1 515 + 424 488 485 1 515 + 424 485 483 1 515 + 424 483 423 1 515 + 427 430 426 1 516 + 426 430 492 1 516 + 433 497 489 1 517 + 433 489 490 1 517 + 433 490 432 1 517 + 489 497 494 1 517 + 436 439 442 1 518 + 436 442 435 1 518 + 435 442 500 1 518 + 435 500 498 1 518 + 445 503 444 1 519 + 444 503 501 1 519 + 687 688 689 1 520 + 689 688 690 1 520 + 689 690 608 1 520 + 689 608 451 1 520 + 689 451 454 1 520 + 689 454 687 1 520 + 687 454 615 1 520 + 687 615 504 1 520 + 687 504 688 1 520 + 688 504 447 1 520 + 688 447 690 1 520 + 690 447 606 1 520 + 690 606 608 1 520 + 451 608 448 1 520 + 457 506 502 1 521 + 457 502 616 1 521 + 457 616 456 1 521 + 502 506 495 1 521 + 502 495 499 1 521 + 499 495 496 1 521 + 460 512 509 1 522 + 460 509 507 1 522 + 460 507 459 1 522 + 463 515 610 1 523 + 610 515 513 1 523 + 610 513 462 1 523 + 466 521 612 1 524 + 612 521 691 1 524 + 612 691 465 1 524 + 465 691 516 1 524 + 516 691 518 1 524 + 518 691 521 1 524 + 469 472 468 1 525 + 468 472 522 1 525 + 522 472 475 1 525 + 478 524 692 1 526 + 478 692 477 1 526 + 477 692 520 1 526 + 520 692 519 1 526 + 519 692 524 1 526 + 635 531 693 1 527 + 635 693 614 1 527 + 635 614 694 1 527 + 635 694 637 1 527 + 637 694 639 1 527 + 639 694 484 1 527 + 639 484 527 1 527 + 639 527 641 1 527 + 641 527 643 1 527 + 643 527 525 1 527 + 643 525 531 1 527 + 531 525 693 1 527 + 693 525 480 1 527 + 693 480 614 1 527 + 484 694 481 1 527 + 481 694 614 1 527 + 487 493 486 1 528 + 486 493 528 1 528 + 528 493 508 1 528 + 508 493 505 1 528 + 511 514 523 1 529 + 511 523 526 1 529 + 511 526 510 1 529 + 523 514 517 1 529 + 695 696 697 1 530 + 695 697 698 1 530 + 695 698 699 1 530 + 695 699 700 1 530 + 695 700 696 1 530 + 697 696 702 1 530 + 697 702 703 1 530 + 698 697 703 1 530 + 698 703 704 1 530 + 696 700 705 1 530 + 696 705 701 1 530 + 696 701 702 1 530 + 702 701 706 1 530 + 702 706 707 1 530 + 703 702 707 1 530 + 701 705 706 1 530 + 706 705 640 1 530 + 706 640 707 1 530 + 707 640 642 1 530 + 707 642 704 1 530 + 707 704 703 1 530 + 704 642 644 1 530 + 704 644 532 1 530 + 704 532 698 1 530 + 698 532 699 1 530 + 699 532 636 1 530 + 699 636 700 1 530 + 700 636 638 1 530 + 700 638 705 1 530 + 705 638 640 1 530 diff --git a/examples/misc/fragment.vert b/examples/misc/fragment.vert new file mode 100644 index 000000000..a163db55b --- /dev/null +++ b/examples/misc/fragment.vert @@ -0,0 +1,710 @@ +# MSMS solvent excluded surface vertices for t.xyz +#vertex #sphere density probe_r + 707 81 0.50 1.50 + 12.280 32.730 62.515 0.074 0.856 -0.511 0 44 1 + 13.658 34.798 61.934 -0.844 -0.522 -0.123 0 31 1 + 12.851 32.671 62.233 -0.306 0.896 -0.323 0 43 1 + 13.577 34.987 62.380 -0.901 -0.387 0.195 0 31 1 + 12.185 32.954 63.043 0.027 0.969 -0.247 0 44 1 + 13.199 33.580 63.457 -0.649 0.552 -0.523 0 41 1 + 13.623 31.298 65.863 -0.438 -0.589 0.680 0 41 1 + 12.609 30.673 65.449 0.238 -0.172 0.956 0 44 1 + 13.667 30.712 65.590 -0.467 -0.198 0.862 0 42 1 + 13.870 29.338 64.445 -0.366 -0.885 0.289 0 42 1 + 12.811 29.299 64.304 0.340 -0.859 0.383 0 44 1 + 13.382 29.240 64.022 -0.041 -0.820 0.571 0 43 1 + 15.011 29.290 63.139 0.205 -0.909 -0.363 0 42 1 + 14.524 29.192 62.716 0.530 -0.844 -0.081 0 43 1 + 16.666 28.583 62.519 -0.898 -0.438 0.050 0 27 1 + 16.786 29.392 61.329 -0.837 -0.034 -0.546 0 27 1 + 14.644 30.001 61.526 0.591 -0.440 -0.677 0 43 1 + 16.627 30.181 59.926 -0.731 -0.560 0.389 0 12 1 + 16.456 31.590 59.755 -0.854 0.447 0.267 0 12 1 + 14.441 31.669 61.323 0.489 0.394 -0.778 0 43 1 + 16.527 32.321 60.802 -0.902 -0.041 -0.431 0 21 1 + 16.481 32.560 60.918 -0.924 0.079 -0.373 0 21 1 + 14.395 31.908 61.439 0.466 0.514 -0.720 0 43 1 + 16.230 33.586 60.729 -0.757 -0.605 -0.247 0 28 1 + 16.056 33.813 60.812 -0.860 -0.471 -0.198 0 28 1 + 14.208 32.152 61.528 0.372 0.636 -0.676 0 43 1 + 14.804 34.360 61.338 -0.025 -0.835 -0.549 0 31 1 + 16.045 34.218 60.396 -0.866 -0.233 -0.443 0 28 1 + 14.794 34.727 60.960 -0.032 -0.573 -0.819 0 31 1 + 15.633 35.069 59.880 -0.591 -0.801 -0.099 0 32 1 + 14.919 37.225 60.399 -0.948 0.277 0.160 0 32 1 + 14.191 36.548 61.398 -0.463 0.728 -0.506 0 31 1 + 14.855 38.279 60.638 -0.905 -0.426 0.000 0 34 1 + 14.831 38.412 60.920 -0.922 -0.332 0.201 0 34 1 + 14.167 36.681 61.680 -0.480 0.823 -0.305 0 31 1 + 14.582 37.081 61.741 -0.756 0.556 -0.346 0 30 1 + 14.528 36.536 63.331 -0.787 0.243 0.568 0 30 1 + 14.119 36.191 63.109 -0.514 0.473 0.716 0 31 1 + 14.409 36.061 64.831 -0.707 0.559 -0.432 0 36 1 + 14.104 35.317 64.809 -0.887 0.122 -0.445 0 36 1 + 13.841 35.515 63.089 -0.713 -0.010 0.702 0 31 1 + 13.512 34.204 64.297 -0.493 0.864 -0.104 0 41 1 + 13.949 35.213 65.228 -0.978 0.061 -0.198 0 36 1 + 13.346 34.092 64.748 -0.576 0.808 0.122 0 41 1 + 13.713 34.719 65.557 -0.821 0.390 -0.417 0 37 1 + 13.830 32.793 66.996 -0.762 -0.572 0.302 0 37 1 + 13.463 32.166 66.187 -0.518 -0.155 0.842 0 41 1 + 13.913 32.247 66.644 -0.818 -0.209 0.537 0 40 1 + 14.303 31.350 66.420 -0.623 -0.657 0.424 0 40 1 + 13.853 31.269 65.963 -0.323 -0.603 0.729 0 41 1 + 13.897 30.683 65.689 -0.352 -0.212 0.912 0 42 1 + 16.476 30.894 65.629 0.464 -0.885 0.029 0 40 1 + 16.071 30.227 64.898 0.735 -0.440 0.516 0 42 1 + 17.725 29.520 64.279 -0.368 0.031 0.929 0 27 1 + 16.858 31.161 65.711 0.655 -0.752 0.070 0 40 1 + 18.107 29.787 64.361 -0.177 0.164 0.970 0 27 1 + 19.017 29.974 64.887 -0.784 0.039 0.620 0 26 1 + 20.932 28.866 61.970 0.174 -0.516 -0.839 0 26 1 + 20.022 28.678 61.444 0.781 -0.390 -0.488 0 27 1 + 20.499 29.133 61.540 0.462 -0.694 -0.552 0 25 1 + 20.411 29.276 61.325 0.412 -0.611 -0.676 0 25 1 + 19.928 28.830 61.215 0.734 -0.314 -0.602 0 27 1 + 20.710 29.354 59.236 0.213 -0.663 0.717 0 13 1 + 19.152 29.233 58.589 -0.566 -0.724 0.394 0 13 1 + 18.371 28.709 60.568 -0.045 -0.375 -0.926 0 27 1 + 17.966 29.604 59.284 0.225 -0.972 -0.070 0 12 1 + 18.468 30.001 57.311 -0.908 -0.340 -0.245 0 13 1 + 17.388 30.253 58.205 -0.188 -0.509 -0.840 0 12 1 + 18.088 30.524 57.411 -0.654 -0.689 -0.311 0 10 1 + 17.444 32.267 57.791 -0.976 0.182 -0.121 0 10 1 + 16.845 31.726 58.526 -0.576 0.543 -0.611 0 12 1 + 17.197 32.170 58.405 -0.811 0.247 -0.530 0 11 1 + 17.022 32.440 59.191 -0.912 0.403 -0.079 0 11 1 + 16.687 31.969 59.233 -0.689 0.717 -0.106 0 12 1 + 16.527 33.781 60.046 -0.582 -0.490 -0.649 0 28 1 + 16.362 33.572 60.464 -0.680 -0.613 -0.403 0 28 1 + 16.536 31.780 59.612 -0.796 0.582 0.165 0 12 1 + 16.623 32.546 60.632 -0.854 0.072 -0.516 0 21 1 + 17.174 32.650 58.952 -0.824 0.523 -0.216 0 11 1 + 16.678 33.987 59.810 -0.494 -0.369 -0.788 0 28 1 + 17.235 33.963 58.094 -0.865 -0.352 0.356 0 4 1 + 17.191 34.068 58.078 -0.897 -0.277 0.345 0 4 1 + 16.629 34.103 59.792 -0.522 -0.300 -0.798 0 28 1 + 16.261 34.946 59.231 -0.277 -0.862 -0.424 0 32 1 + 17.494 35.365 57.120 -0.681 0.649 -0.339 0 4 1 + 16.619 36.481 58.098 -0.097 -0.095 -0.991 0 32 1 + 17.894 36.529 57.052 -0.947 -0.127 -0.294 0 5 1 + 18.000 37.579 57.230 -0.894 0.398 -0.205 0 5 1 + 16.725 37.531 58.275 -0.044 0.430 -0.902 0 32 1 + 16.827 38.171 58.413 -0.112 0.003 -0.994 0 33 1 + 15.550 38.315 59.227 -0.846 0.086 -0.526 0 33 1 + 15.367 37.684 59.142 -0.724 0.507 -0.469 0 32 1 + 15.233 38.667 59.576 -0.635 -0.149 -0.758 0 34 1 + 17.038 39.856 59.727 0.009 0.971 -0.238 0 33 1 + 16.570 40.052 60.026 0.321 0.840 -0.437 0 34 1 + 17.594 39.924 59.540 -0.362 0.925 -0.114 0 35 1 + 17.999 39.824 60.421 -0.072 0.854 0.516 0 35 1 + 16.976 39.952 60.907 0.610 0.768 0.192 0 34 1 + 17.489 39.744 60.707 0.268 0.907 0.325 0 33 1 + 17.186 38.578 61.825 0.094 0.237 0.967 0 33 1 + 16.703 38.904 61.911 0.416 0.020 0.909 0 34 1 + 17.229 37.668 62.476 0.065 0.844 0.533 0 29 1 + 17.163 37.653 62.505 0.032 0.837 0.547 0 29 1 + 16.647 38.891 61.935 0.376 0.011 0.927 0 34 1 + 16.603 37.614 62.870 0.406 0.862 0.303 0 30 1 + 17.620 36.569 63.250 0.260 0.294 0.920 0 29 1 + 17.032 36.595 63.571 0.652 0.277 0.706 0 30 1 + 16.886 36.120 65.068 0.750 0.594 -0.292 0 36 1 + 17.770 36.352 63.258 0.335 0.186 0.924 0 29 1 + 17.025 35.918 65.075 0.831 0.475 -0.288 0 36 1 + 18.056 35.317 63.953 0.145 0.876 0.461 0 23 1 + 18.276 34.929 64.347 0.302 0.598 0.742 0 23 1 + 17.268 35.490 65.509 0.974 0.224 -0.033 0 36 1 + 18.023 35.102 66.568 0.471 0.482 -0.739 0 39 1 + 16.872 35.727 67.767 -0.351 0.929 0.118 0 39 1 + 16.001 36.178 66.829 0.229 0.628 0.743 0 36 1 + 16.300 35.629 67.792 0.030 0.994 0.102 0 38 1 + 15.918 35.586 67.885 -0.190 0.970 0.155 0 38 1 + 15.623 36.135 66.921 0.007 0.603 0.798 0 36 1 + 15.475 36.199 69.349 0.106 0.561 -0.821 0 51 1 + 15.073 36.164 69.323 -0.095 0.543 -0.834 0 51 1 + 15.250 36.103 66.897 -0.213 0.584 0.783 0 36 1 + 15.112 35.676 67.351 -0.121 0.869 0.480 0 37 1 + 13.820 34.657 69.671 -0.721 -0.210 -0.660 0 51 1 + 13.859 34.169 67.700 -0.747 0.116 0.654 0 37 1 + 14.150 33.835 68.676 -0.941 0.338 0.003 0 45 1 + 14.321 32.449 68.234 -0.840 -0.477 -0.256 0 45 1 + 14.043 32.678 67.225 -0.655 -0.630 0.417 0 37 1 + 14.127 32.133 66.873 -0.711 -0.266 0.651 0 40 1 + 14.895 31.835 68.315 -0.503 -0.839 -0.209 0 45 1 + 14.744 31.472 66.960 -0.402 -0.597 0.695 0 40 1 + 15.193 30.679 69.066 -0.702 -0.068 -0.709 0 48 1 + 16.615 30.450 68.770 0.314 -0.232 -0.920 0 48 1 + 16.427 31.200 66.610 0.440 -0.733 0.520 0 40 1 + 17.021 30.854 68.685 0.044 -0.502 -0.864 0 47 1 + 17.068 30.876 68.676 0.070 -0.489 -0.869 0 47 1 + 16.477 31.223 66.600 0.464 -0.721 0.515 0 40 1 + 18.270 30.027 68.389 -0.731 0.077 -0.678 0 56 1 + 17.112 31.621 67.132 0.754 -0.654 0.062 0 40 1 + 18.168 30.918 68.184 -0.272 0.030 -0.962 0 56 1 + 19.086 30.949 68.187 -0.323 0.537 -0.779 0 56 1 + 17.293 32.145 66.398 0.873 -0.260 0.413 0 40 1 + 17.512 32.747 67.294 0.727 -0.662 -0.184 0 38 1 + 17.593 32.883 67.185 0.773 -0.584 -0.247 0 38 1 + 17.380 32.289 66.281 0.916 -0.188 0.355 0 40 1 + 18.034 33.259 67.221 0.479 -0.834 -0.272 0 39 1 + 18.155 33.522 66.885 0.566 -0.646 -0.512 0 39 1 + 17.523 32.601 65.882 0.987 -0.032 0.156 0 40 1 + 19.117 32.227 64.656 -0.076 0.217 0.973 0 24 1 + 19.007 31.655 64.688 -0.131 -0.069 0.989 0 24 1 + 17.413 32.028 65.914 0.932 -0.318 0.172 0 40 1 + 19.571 30.842 65.090 -0.507 0.473 0.721 0 26 1 + 21.044 31.640 61.801 0.888 -0.076 -0.454 0 24 1 + 21.608 30.828 62.203 0.512 0.465 -0.722 0 26 1 + 21.134 30.977 61.759 0.827 0.366 -0.426 0 25 1 + 21.077 30.112 61.469 0.795 -0.131 -0.593 0 25 1 + 21.547 29.907 61.895 0.481 0.005 -0.877 0 26 1 + 21.418 30.243 59.389 0.567 -0.219 0.794 0 13 1 + 21.331 29.994 59.360 0.524 -0.344 0.779 0 13 1 + 21.460 29.658 61.866 0.438 -0.120 -0.891 0 26 1 + 20.996 29.877 61.442 0.748 -0.266 -0.609 0 25 1 + 20.988 30.968 61.520 0.743 0.361 -0.564 0 25 1 + 21.323 31.154 59.443 0.519 0.237 0.821 0 13 1 + 20.888 31.631 61.547 0.809 -0.081 -0.582 0 24 1 + 20.879 31.717 61.526 0.805 -0.038 -0.592 0 24 1 + 21.314 31.240 59.422 0.515 0.280 0.810 0 13 1 + 20.641 32.041 60.510 0.963 -0.254 0.085 0 20 1 + 20.695 32.310 60.349 0.995 -0.096 -0.010 0 20 1 + 21.372 31.529 59.249 0.544 0.424 0.724 0 13 1 + 21.257 32.609 59.246 0.621 -0.296 0.726 0 9 1 + 21.860 32.739 57.976 0.975 -0.219 -0.021 0 9 1 + 22.021 31.669 57.883 0.868 0.494 0.041 0 13 1 + 23.139 31.073 57.292 0.123 0.892 0.436 0 16 1 + 22.596 28.909 58.086 -0.197 -0.381 0.903 0 16 1 + 21.436 29.342 58.738 0.576 -0.670 0.469 0 13 1 + 21.982 28.742 58.032 0.212 -0.270 0.939 0 15 1 + 19.790 28.450 56.587 -0.883 -0.416 0.216 0 15 1 + 19.245 29.050 57.293 -0.520 -0.816 -0.254 0 13 1 + 19.408 28.967 56.668 -0.628 -0.761 0.163 0 14 1 + 18.715 30.043 56.344 -0.975 -0.222 0.001 0 14 1 + 18.552 30.126 56.969 -0.866 -0.277 -0.416 0 13 1 + 18.171 30.650 57.069 -0.612 -0.627 -0.482 0 10 1 + 19.758 32.037 55.459 -0.453 0.774 -0.441 0 14 1 + 19.214 32.643 56.184 -0.091 0.370 -0.925 0 10 1 + 19.345 33.708 56.182 -0.178 -0.340 -0.923 0 3 1 + 19.026 33.751 56.262 -0.361 -0.316 -0.878 0 3 1 + 18.875 32.688 56.269 -0.260 0.393 -0.882 0 10 1 + 18.465 33.887 56.316 0.013 -0.407 -0.914 0 4 1 + 17.286 33.675 57.638 -0.829 -0.558 0.031 0 4 1 + 17.479 32.438 57.834 -0.958 0.267 -0.100 0 10 1 + 17.230 32.330 58.445 -0.792 0.339 -0.507 0 11 1 + 19.165 34.710 56.170 -0.281 0.236 -0.930 0 3 1 + 18.590 34.750 56.234 0.102 0.210 -0.972 0 4 1 + 19.191 35.801 56.002 -0.299 -0.491 -0.818 0 5 1 + 19.319 34.700 56.129 -0.193 0.230 -0.954 0 3 1 + 19.355 35.789 55.958 -0.217 -0.497 -0.840 0 5 1 + 19.703 35.237 56.024 -0.449 -0.129 -0.884 0 2 1 + 19.807 35.295 55.968 -0.397 -0.099 -0.912 0 2 1 + 19.459 35.848 55.902 -0.165 -0.468 -0.868 0 5 1 + 20.335 35.258 55.587 -0.749 -0.074 -0.658 0 1 1 + 21.040 36.303 55.393 -0.335 0.541 -0.772 0 1 1 + 20.216 36.972 55.694 0.214 0.095 -0.972 0 5 1 + 20.576 37.518 55.680 -0.026 -0.269 -0.963 0 6 1 + 18.787 38.739 57.233 -0.921 0.342 -0.186 0 6 1 + 18.427 38.194 57.247 -0.681 0.706 -0.196 0 5 1 + 17.765 38.930 58.373 -0.239 0.215 -0.947 0 35 1 + 17.617 38.773 58.393 -0.345 0.103 -0.933 0 35 1 + 18.252 38.008 57.270 -0.769 0.613 -0.184 0 5 1 + 17.064 38.575 58.451 0.023 0.235 -0.972 0 33 1 + 20.105 39.737 58.552 -0.262 0.841 0.473 0 6 1 + 18.879 39.773 59.488 0.556 0.817 -0.151 0 35 1 + 20.588 39.784 59.181 -0.583 0.810 0.054 0 7 1 + 20.696 38.154 60.608 -0.523 -0.095 0.847 0 7 1 + 18.974 38.331 60.751 0.624 -0.213 0.751 0 35 1 + 18.706 37.141 61.678 0.803 0.580 0.134 0 29 1 + 18.460 37.367 61.885 0.680 0.694 0.237 0 29 1 + 18.766 38.522 60.926 0.476 -0.076 0.876 0 35 1 + 18.343 38.296 61.269 0.758 0.074 0.647 0 33 1 + 21.069 37.090 60.264 -0.316 -0.686 0.655 0 7 1 + 19.096 36.027 61.317 0.999 0.023 -0.047 0 29 1 + 20.597 35.818 59.767 -0.002 0.162 0.987 0 2 1 + 20.584 35.530 59.793 -0.008 0.018 1.000 0 2 1 + 19.083 35.739 61.343 0.992 -0.121 -0.034 0 29 1 + 19.140 35.115 61.225 0.954 0.295 0.045 0 28 1 + 19.136 35.090 61.353 0.953 0.280 0.120 0 28 1 + 19.080 35.711 61.480 0.990 -0.134 0.035 0 29 1 + 19.324 34.712 61.803 0.828 0.532 -0.180 0 22 1 + 19.092 34.909 62.674 0.694 0.645 0.320 0 22 1 + 18.833 35.921 62.407 0.867 -0.030 0.498 0 29 1 + 18.954 34.953 63.233 0.786 0.616 -0.053 0 23 1 + 19.355 34.409 62.808 0.845 0.357 0.397 0 22 1 + 19.190 34.503 63.354 0.955 0.295 0.033 0 23 1 + 20.043 33.594 63.106 0.387 0.901 0.198 0 24 1 + 19.342 32.819 64.425 0.036 0.513 0.858 0 24 1 + 18.598 33.849 64.468 0.532 -0.173 0.829 0 23 1 + 18.344 34.022 66.689 0.701 -0.289 -0.652 0 39 1 + 17.948 33.619 66.101 0.908 -0.397 -0.136 0 39 1 + 18.472 32.894 64.756 0.528 0.128 0.840 0 24 1 + 19.542 34.275 61.920 0.953 0.281 -0.113 0 22 1 + 20.242 33.452 62.161 0.487 0.829 -0.274 0 24 1 + 19.840 33.713 61.713 0.755 0.655 0.024 0 21 1 + 19.893 33.650 61.628 0.781 0.624 -0.018 0 21 1 + 20.295 33.389 62.077 0.513 0.798 -0.317 0 24 1 + 20.098 33.595 61.022 0.644 0.660 0.386 0 20 1 + 19.812 33.743 61.591 0.741 0.671 -0.036 0 21 1 + 20.023 33.682 60.988 0.600 0.711 0.366 0 20 1 + 19.516 34.304 61.806 0.938 0.297 -0.179 0 22 1 + 19.431 34.435 61.653 0.889 0.372 -0.267 0 22 1 + 19.939 33.812 60.837 0.550 0.788 0.277 0 20 1 + 20.694 35.208 59.770 0.047 -0.143 0.989 0 2 1 + 21.321 34.576 59.417 0.360 -0.459 0.812 0 2 1 + 20.521 33.224 60.509 0.893 0.442 0.084 0 20 1 + 21.083 33.524 59.405 0.518 0.242 0.820 0 9 1 + 22.161 34.328 58.247 0.780 -0.583 0.227 0 2 1 + 21.864 33.293 58.318 0.978 0.107 0.180 0 9 1 + 22.524 34.358 57.706 0.538 -0.603 0.589 0 1 1 + 22.486 33.949 56.954 0.516 -0.844 0.146 0 1 1 + 21.827 32.884 57.566 0.956 -0.134 -0.262 0 9 1 + 22.148 31.743 56.817 0.742 0.627 0.238 0 14 1 + 22.150 31.738 56.825 0.742 0.625 0.241 0 14 1 + 21.828 32.880 57.573 0.957 -0.136 -0.257 0 9 1 + 23.107 31.214 56.889 0.104 0.975 0.199 0 16 1 + 22.154 31.743 56.797 0.745 0.627 0.228 0 14 1 + 23.112 31.218 56.863 0.106 0.977 0.184 0 16 1 + 22.492 33.950 56.935 0.519 -0.844 0.135 0 1 1 + 22.485 31.525 56.603 0.572 0.813 0.108 0 16 1 + 22.055 33.416 56.653 0.868 -0.491 0.073 0 1 1 + 22.538 33.971 56.532 0.546 -0.831 -0.102 0 1 1 + 23.158 31.239 56.460 0.133 0.990 -0.054 0 16 1 + 22.204 31.766 56.363 0.769 0.639 0.011 0 14 1 + 22.080 31.184 55.112 0.707 0.348 -0.615 0 14 1 + 23.043 30.698 55.296 0.066 0.671 -0.738 0 16 1 + 22.462 30.666 55.031 0.453 0.693 -0.561 0 15 1 + 22.814 29.515 54.616 0.628 0.117 -0.769 0 15 1 + 23.369 29.628 54.910 0.258 0.042 -0.965 0 16 1 + 23.823 29.210 54.881 -0.045 0.320 -0.946 0 17 1 + 24.305 29.719 55.213 0.232 0.613 -0.756 0 17 1 + 23.846 30.131 55.238 0.538 0.338 -0.772 0 16 1 + 24.871 29.884 55.359 -0.145 0.502 -0.852 0 19 1 + 24.181 29.066 58.419 -0.528 0.048 0.848 0 19 1 + 23.174 29.334 58.219 0.143 -0.131 0.981 0 16 1 + 23.626 28.913 58.226 -0.158 0.150 0.976 0 17 1 + 23.087 28.340 58.034 -0.468 -0.180 0.865 0 17 1 + 22.641 28.767 58.028 -0.170 -0.464 0.869 0 16 1 + 22.030 28.589 57.970 0.237 -0.346 0.908 0 15 1 + 23.036 28.089 57.929 -0.497 -0.324 0.805 0 17 1 + 21.977 28.322 57.858 0.210 -0.480 0.852 0 15 1 + 22.904 27.518 57.770 -0.409 0.056 0.911 0 18 1 + 23.640 28.380 54.610 -0.000 0.535 -0.845 0 18 1 + 22.747 29.225 54.547 0.595 -0.028 -0.803 0 15 1 + 23.760 28.938 54.817 -0.081 0.164 -0.983 0 17 1 + 24.543 28.143 54.753 0.502 0.404 -0.765 0 18 1 + 24.650 28.704 54.958 0.431 0.030 -0.902 0 17 1 + 25.221 28.854 55.100 0.050 -0.070 -0.996 0 19 1 + 23.837 27.275 57.914 0.109 -0.079 0.991 0 18 1 + 24.515 27.985 58.260 -0.343 -0.553 0.760 0 19 1 + 23.955 27.849 58.070 0.031 -0.462 0.886 0 17 1 + 20.763 34.380 55.625 -0.498 -0.590 -0.635 0 1 1 + 20.294 32.206 55.388 -0.185 0.859 -0.477 0 14 1 + 19.849 33.867 56.115 0.112 -0.249 -0.962 0 3 1 + 20.340 35.124 55.605 -0.747 -0.153 -0.647 0 1 1 + 19.421 34.619 56.094 -0.134 0.183 -0.974 0 3 1 + 19.812 35.151 55.988 -0.395 -0.171 -0.903 0 2 1 + 22.369 34.779 58.395 0.884 -0.358 0.301 0 2 1 + 22.717 34.777 57.842 0.652 -0.357 0.669 0 1 1 + 23.497 35.723 58.710 0.132 -0.987 0.091 0 8 1 + 23.092 37.723 56.534 -0.070 0.013 -0.997 0 8 1 + 22.341 36.637 55.819 0.430 0.737 -0.521 0 1 1 + 21.976 37.877 56.139 0.674 -0.089 -0.734 0 6 1 + 22.885 39.535 57.821 -0.174 0.919 -0.354 0 8 1 + 21.769 39.688 57.425 0.570 0.817 -0.090 0 6 1 + 22.176 39.737 58.105 0.299 0.784 -0.544 0 7 1 + 22.456 36.547 59.969 -0.389 -0.575 0.720 0 8 1 + 21.766 36.884 60.155 0.071 -0.800 0.595 0 7 1 + 21.328 35.602 59.653 0.363 0.054 0.930 0 2 1 + 19.369 34.576 61.670 0.853 0.454 -0.257 0 22 1 + 20.628 35.358 59.788 0.014 -0.068 0.998 0 2 1 + 19.181 34.956 61.221 0.979 0.201 0.042 0 28 1 + 17.610 32.853 67.334 0.783 -0.601 -0.161 0 38 1 + 18.049 33.231 67.356 0.490 -0.854 -0.176 0 39 1 + 19.190 31.061 68.229 -0.271 0.593 -0.758 0 56 1 + 19.785 31.672 68.871 0.026 0.899 -0.437 0 56 1 + 18.551 33.748 67.898 0.849 -0.485 0.211 0 39 1 + 19.065 32.348 69.320 0.506 0.448 -0.737 0 52 1 + 19.049 32.840 69.795 0.496 0.738 -0.457 0 52 1 + 18.536 34.195 68.330 0.838 -0.165 0.520 0 39 1 + 18.375 33.606 69.459 0.946 0.227 -0.233 0 46 1 + 17.564 34.832 69.825 0.540 0.840 -0.050 0 46 1 + 17.851 35.231 68.639 0.349 0.574 0.741 0 39 1 + 17.041 35.657 70.282 0.889 0.290 -0.355 0 51 1 + 15.901 36.208 69.470 0.319 0.566 -0.760 0 51 1 + 16.888 35.696 67.953 -0.339 0.907 0.251 0 39 1 + 16.319 35.595 67.999 0.041 0.975 0.220 0 38 1 + 17.738 34.311 70.966 0.627 0.579 0.521 0 46 1 + 17.215 35.136 71.423 0.976 0.029 0.216 0 51 1 + 17.367 34.505 71.476 0.875 0.450 0.181 0 49 1 + 14.375 33.882 72.656 -0.621 0.139 0.771 0 49 1 + 14.223 34.513 72.604 -0.520 -0.282 0.806 0 51 1 + 13.910 33.484 72.523 -0.312 0.404 0.860 0 50 1 + 13.504 33.462 69.985 -0.565 0.390 -0.727 0 50 1 + 13.773 34.489 69.793 -0.745 -0.294 -0.599 0 51 1 + 14.106 33.679 68.789 -0.967 0.246 0.070 0 45 1 + 13.964 31.862 69.959 -0.278 -0.610 -0.742 0 50 1 + 14.579 32.032 68.763 -0.689 -0.723 0.055 0 45 1 + 14.906 30.858 69.473 -0.906 0.059 -0.418 0 48 1 + 15.019 31.664 72.048 0.381 -0.733 0.563 0 50 1 + 15.893 30.673 71.427 -0.201 -0.073 0.977 0 48 1 + 16.218 31.103 71.640 -0.418 -0.359 0.835 0 47 1 + 16.397 30.957 71.649 -0.315 -0.443 0.839 0 47 1 + 16.054 30.542 71.434 -0.086 -0.166 0.982 0 48 1 + 17.139 30.285 72.027 -0.810 0.005 0.587 0 53 1 + 17.632 29.107 69.684 -0.563 -0.583 -0.585 0 53 1 + 16.470 29.547 69.455 0.211 -0.877 -0.432 0 48 1 + 18.049 28.936 69.209 -0.841 -0.469 -0.268 0 56 1 + 18.244 29.983 68.413 -0.744 0.054 -0.666 0 56 1 + 16.635 30.432 68.782 0.329 -0.245 -0.912 0 48 1 + 17.043 30.834 68.698 0.057 -0.514 -0.856 0 47 1 + 18.650 28.277 70.877 -0.054 -0.998 0.011 0 53 1 + 19.067 28.106 70.401 -0.332 -0.884 0.328 0 56 1 + 18.847 27.889 71.864 -0.186 -0.740 -0.647 0 57 1 + 19.128 27.822 71.899 -0.021 -0.779 -0.627 0 57 1 + 19.369 28.033 70.439 -0.181 -0.920 0.347 0 56 1 + 19.766 26.684 72.301 -0.446 -0.021 -0.895 0 60 1 + 20.372 26.636 72.156 -0.013 -0.055 -0.998 0 60 1 + 20.086 27.976 70.267 0.177 -0.949 0.261 0 56 1 + 21.670 27.097 71.125 -0.879 -0.363 -0.311 0 70 1 + 22.461 27.456 70.035 -0.483 -0.183 -0.856 0 70 1 + 20.877 28.336 69.177 0.573 -0.769 -0.284 0 56 1 + 22.860 27.705 69.594 -0.750 -0.348 -0.563 0 72 1 + 23.367 30.133 70.855 -0.496 0.865 0.068 0 72 1 + 21.384 30.764 70.438 0.826 0.445 0.346 0 56 1 + 21.392 31.252 71.796 0.820 0.120 -0.559 0 55 1 + 20.646 32.009 71.608 0.287 0.661 -0.694 0 55 1 + 20.500 31.660 70.215 0.384 0.893 0.235 0 56 1 + 19.730 32.337 70.570 0.897 0.442 -0.002 0 52 1 + 19.237 31.949 73.024 -0.719 0.618 0.318 0 55 1 + 18.180 32.271 72.129 -0.015 0.403 0.915 0 52 1 + 18.761 31.637 72.906 -0.402 0.825 0.397 0 54 1 + 18.679 31.585 72.925 -0.449 0.795 0.408 0 54 1 + 18.099 32.219 72.147 -0.063 0.372 0.926 0 52 1 + 16.982 33.132 72.498 0.682 -0.237 0.692 0 49 1 + 17.476 33.962 71.762 0.929 0.179 0.324 0 49 1 + 18.558 32.991 71.463 0.208 0.826 0.523 0 52 1 + 17.847 33.768 71.252 0.682 0.308 0.664 0 46 1 + 17.965 30.771 72.899 -0.860 0.327 0.393 0 54 1 + 16.223 32.265 72.470 0.302 -0.670 0.678 0 49 1 + 17.569 30.838 72.359 -0.595 0.282 0.753 0 53 1 + 17.356 30.648 72.230 -0.701 0.187 0.688 0 53 1 + 16.010 32.075 72.341 0.196 -0.765 0.614 0 49 1 + 16.601 31.298 71.839 -0.198 -0.247 0.949 0 47 1 + 16.237 31.129 71.661 -0.407 -0.344 0.846 0 47 1 + 15.623 31.895 72.152 0.003 -0.855 0.519 0 49 1 + 15.038 31.689 72.067 0.393 -0.717 0.575 0 50 1 + 17.922 30.617 72.913 -0.884 0.238 0.401 0 54 1 + 17.523 30.674 72.374 -0.618 0.200 0.760 0 53 1 + 17.799 30.117 73.256 -0.802 0.571 0.172 0 57 1 + 18.133 30.756 73.194 -0.763 0.319 0.562 0 54 1 + 18.008 30.256 73.534 -0.679 0.653 0.335 0 57 1 + 17.736 30.050 74.575 -0.498 0.790 -0.358 0 61 1 + 18.104 27.256 73.832 -0.315 -0.607 -0.729 0 61 1 + 18.349 27.658 72.844 -0.479 -0.875 -0.071 0 57 1 + 19.058 26.536 73.160 -0.951 -0.127 -0.281 0 60 1 + 18.900 26.480 75.377 0.083 -0.996 0.043 0 61 1 + 19.731 25.880 74.466 -0.471 -0.595 0.651 0 60 1 + 19.597 26.180 76.148 -0.381 -0.796 -0.470 0 64 1 + 19.874 26.053 76.189 -0.242 -0.859 -0.450 0 64 1 + 19.965 25.772 74.500 -0.303 -0.672 0.676 0 60 1 + 20.599 24.537 76.520 -0.726 0.151 -0.671 0 79 1 + 21.566 24.149 75.924 -0.242 -0.043 -0.969 0 79 1 + 20.783 25.444 73.996 0.280 -0.906 0.316 0 60 1 + 22.006 25.341 74.307 -0.535 -0.838 0.109 0 66 1 + 22.267 25.751 72.770 -0.405 -0.633 -0.660 0 66 1 + 21.003 25.790 72.698 0.438 -0.659 -0.612 0 60 1 + 22.417 26.096 71.766 -0.505 -0.863 0.009 0 70 1 + 22.687 25.566 72.769 -0.195 -0.725 -0.660 0 66 1 + 22.837 25.911 71.765 -0.295 -0.955 0.009 0 70 1 + 23.577 25.281 72.234 -0.788 -0.535 -0.304 0 71 1 + 24.588 25.605 71.074 -0.282 -0.373 -0.884 0 71 1 + 23.849 26.235 70.605 0.211 -0.793 -0.571 0 70 1 + 24.249 26.484 70.165 -0.056 -0.959 -0.277 0 72 1 + 26.273 28.006 72.766 0.560 0.828 -0.038 0 71 1 + 25.933 28.885 71.856 0.786 0.242 0.568 0 72 1 + 25.832 28.482 72.858 0.854 0.511 -0.100 0 69 1 + 24.158 29.460 73.083 0.017 1.000 0.013 0 69 1 + 24.259 29.863 72.081 -0.051 0.731 0.681 0 72 1 + 23.859 29.615 72.521 0.216 0.896 0.387 0 70 1 + 23.255 29.788 72.071 -0.086 0.983 0.162 0 70 1 + 23.655 30.037 71.631 -0.352 0.817 0.456 0 72 1 + 21.635 31.170 72.451 0.994 0.062 -0.091 0 55 1 + 23.208 29.595 72.646 -0.110 0.887 0.449 0 70 1 + 21.595 31.007 72.937 0.965 -0.055 0.255 0 55 1 + 22.581 29.571 73.769 0.309 0.903 -0.299 0 65 1 + 22.252 29.721 74.388 0.116 0.991 0.065 0 65 1 + 21.297 31.144 73.499 0.752 0.043 0.657 0 55 1 + 21.294 30.229 74.389 0.755 0.653 0.064 0 58 1 + 19.030 30.765 74.459 -0.377 0.921 0.099 0 58 1 + 19.385 31.597 73.558 -0.614 0.366 0.700 0 55 1 + 18.926 31.246 73.500 -0.308 0.600 0.738 0 54 1 + 18.566 30.506 74.370 -0.609 0.791 0.055 0 58 1 + 18.490 31.003 73.417 -0.558 0.460 0.691 0 54 1 + 18.116 30.312 74.812 -0.309 0.921 -0.240 0 61 1 + 19.725 30.464 75.535 -0.029 0.770 0.637 0 58 1 + 19.275 30.270 75.976 0.271 0.900 0.343 0 61 1 + 19.386 30.156 76.634 0.197 0.976 -0.096 0 62 1 + 18.050 29.882 76.907 -0.571 0.819 0.061 0 62 1 + 17.853 29.979 76.267 -0.440 0.754 0.488 0 61 1 + 17.509 29.662 77.229 -0.210 0.965 -0.154 0 63 1 + 18.467 26.162 76.419 0.269 -0.784 -0.559 0 63 1 + 18.812 26.479 75.457 0.040 -0.996 0.083 0 61 1 + 19.509 26.180 76.227 -0.425 -0.796 -0.431 0 64 1 + 18.537 25.982 76.781 0.304 -0.874 -0.378 0 63 1 + 19.579 26.000 76.589 -0.390 -0.886 -0.250 0 64 1 + 20.303 24.484 76.921 -0.873 0.124 -0.471 0 79 1 + 18.913 26.621 78.878 0.492 -0.555 0.671 0 63 1 + 20.679 25.122 79.018 -0.685 0.444 0.577 0 79 1 + 19.955 26.638 78.686 -0.202 -0.567 0.799 0 64 1 + 21.662 27.428 78.567 0.651 -0.172 0.739 0 64 1 + 22.386 25.912 78.899 0.168 0.839 0.518 0 79 1 + 23.332 26.346 78.632 -0.462 0.550 0.696 0 74 1 + 23.572 26.020 78.953 -0.342 0.387 0.856 0 74 1 + 22.626 25.586 79.220 0.288 0.676 0.678 0 79 1 + 23.270 25.504 79.235 -0.141 0.731 0.668 0 77 1 + 22.876 22.313 78.641 -0.338 -0.865 0.371 0 77 1 + 22.232 22.395 78.625 0.091 -0.920 0.381 0 79 1 + 23.102 21.898 78.230 -0.488 -0.588 0.644 0 78 1 + 23.036 22.945 75.846 -0.530 0.066 -0.846 0 78 1 + 22.159 23.554 75.986 0.055 -0.340 -0.939 0 79 1 + 22.901 24.226 75.223 -0.440 -0.788 -0.430 0 73 1 + 22.384 24.757 75.159 -0.745 -0.476 -0.468 0 73 1 + 21.602 24.125 75.917 -0.224 -0.055 -0.973 0 79 1 + 22.042 25.317 74.300 -0.517 -0.849 0.105 0 66 1 + 23.380 24.503 74.656 -0.159 -0.625 -0.764 0 73 1 + 23.114 25.044 73.758 0.019 -0.986 -0.166 0 66 1 + 24.004 24.759 73.223 -0.575 -0.796 0.191 0 71 1 + 24.129 24.273 74.959 0.282 -0.760 -0.586 0 73 1 + 24.809 24.512 73.550 -0.172 -0.919 0.354 0 71 1 + 25.397 23.767 75.145 -0.564 -0.423 -0.710 0 76 1 + 27.063 24.480 75.053 0.626 0.086 -0.775 0 76 1 + 26.781 25.355 73.441 0.814 -0.498 0.300 0 71 1 + 28.310 25.917 74.556 -0.206 -0.872 -0.444 0 80 1 + 27.806 28.566 73.911 -0.457 0.452 -0.766 0 80 1 + 26.277 28.004 72.797 0.562 0.827 -0.023 0 71 1 + 25.836 28.480 72.889 0.856 0.510 -0.084 0 69 1 + 27.184 28.890 75.084 -0.769 0.614 -0.180 0 80 1 + 25.214 28.803 74.061 0.545 0.672 0.502 0 69 1 + 25.203 28.707 75.403 0.552 0.736 -0.393 0 68 1 + 24.277 28.986 75.481 -0.110 0.935 -0.337 0 68 1 + 24.117 29.133 74.153 -0.004 0.837 0.548 0 69 1 + 23.148 29.286 74.648 0.642 0.735 0.218 0 65 1 + 22.755 29.530 73.867 0.411 0.879 -0.242 0 65 1 + 23.694 29.396 73.312 -0.215 0.968 0.128 0 69 1 + 23.395 29.552 72.751 -0.016 0.865 0.502 0 70 1 + 23.709 28.839 76.253 -0.515 0.830 0.214 0 68 1 + 22.524 29.124 75.498 0.275 0.640 0.718 0 65 1 + 21.832 29.093 76.795 0.736 0.660 -0.147 0 64 1 + 21.401 29.396 76.563 0.521 0.812 -0.263 0 64 1 + 22.123 29.406 75.282 0.039 0.806 0.591 0 65 1 + 21.154 29.890 75.351 0.685 0.483 0.545 0 58 1 + 20.561 29.751 76.878 0.101 0.989 -0.105 0 64 1 + 20.314 30.244 75.666 0.265 0.660 0.703 0 58 1 + 19.940 29.949 76.757 0.515 0.857 -0.025 0 62 1 + 19.876 29.116 78.490 -0.241 0.672 0.700 0 64 1 + 19.297 29.352 78.272 0.145 0.514 0.845 0 62 1 + 18.835 29.098 78.682 0.453 0.684 0.572 0 63 1 + 23.962 28.014 77.229 -0.335 0.240 0.911 0 68 1 + 22.131 28.116 77.950 0.886 0.172 0.430 0 64 1 + 23.801 27.034 78.014 -0.227 0.894 0.387 0 74 1 + 25.307 27.815 77.036 0.626 0.099 0.774 0 68 1 + 25.393 26.799 77.787 0.569 0.776 0.273 0 74 1 + 26.012 26.567 77.700 0.156 0.930 0.331 0 75 1 + 25.788 25.000 78.862 0.027 0.030 0.999 0 75 1 + 25.155 25.132 79.023 0.449 -0.058 0.892 0 74 1 + 24.852 24.616 79.305 0.651 0.286 0.703 0 77 1 + 26.112 23.535 78.068 0.214 -0.812 0.543 0 75 1 + 25.198 23.057 78.462 0.823 -0.493 0.281 0 77 1 + 25.199 22.570 78.068 0.822 -0.168 0.543 0 78 1 + 26.320 23.327 77.373 0.334 -0.932 0.144 0 75 1 + 25.399 22.369 77.400 0.948 -0.293 0.126 0 78 1 + 26.492 23.186 76.838 0.219 -0.838 0.500 0 76 1 + 25.375 23.728 75.188 -0.579 -0.451 -0.679 0 76 1 + 24.204 22.948 75.635 0.201 0.068 -0.977 0 78 1 + 24.104 24.229 75.006 0.267 -0.786 -0.558 0 73 1 + 27.464 24.725 77.054 0.991 -0.128 -0.039 0 75 1 + 27.521 24.443 76.552 0.953 0.060 0.296 0 76 1 + 28.852 25.874 76.330 0.066 -0.894 0.444 0 80 1 + 26.099 26.576 77.622 0.207 0.935 0.287 0 75 1 + 27.400 27.843 76.934 -0.660 0.091 0.745 0 80 1 + 25.386 27.823 76.966 0.682 0.104 0.724 0 68 1 + 19.399 29.890 65.258 -0.593 -0.003 0.805 0 26 1 + 19.033 29.881 67.871 -0.349 0.003 -0.937 0 56 1 + 30.496 26.916 75.984 0.888 -0.373 0.270 0 80 1 + 31.610 27.784 76.794 0.145 -0.952 -0.270 0 81 1 + 13.489 33.538 62.654 -0.732 0.318 -0.603 -3 31 1 + 13.473 33.577 62.747 -0.832 0.553 -0.049 -3 31 1 + 11.754 32.408 64.923 -0.189 0.696 0.693 -5 44 1 + 12.768 33.034 65.337 -0.865 0.279 0.417 -5 41 1 + 12.122 29.105 62.950 -0.005 -0.956 -0.294 -8 44 1 + 12.692 29.047 62.668 -0.385 -0.917 -0.106 -8 43 1 + 11.672 30.062 61.841 -0.230 -0.478 -0.848 -8 44 1 + 12.243 30.003 61.559 -0.610 -0.438 -0.660 -8 43 1 + 11.739 31.581 61.659 -0.197 0.282 -0.939 -8 44 1 + 12.309 31.523 61.377 -0.577 0.321 -0.751 -8 43 1 + 15.731 30.770 60.921 -0.134 -0.952 -0.274 -14 12 1 + 15.696 31.058 60.886 -0.348 0.801 -0.487 -14 12 1 + 15.525 32.813 61.789 -0.287 -0.090 -0.954 -18 28 1 + 15.487 32.862 61.807 -0.480 0.163 -0.862 -18 28 1 + 18.622 28.262 64.014 0.080 -0.599 0.797 -44 27 1 + 19.532 28.449 64.540 -0.526 -0.724 0.446 -44 26 1 + 19.483 27.763 62.702 0.511 -0.848 0.141 -44 27 1 + 20.393 27.951 63.228 -0.096 -0.973 -0.210 -44 26 1 + 15.744 37.243 63.659 -0.088 0.649 0.756 -83 30 1 + 15.612 36.760 65.155 0.000 0.970 -0.241 -83 36 1 + 15.489 35.547 68.147 0.096 0.995 -0.020 -93 51 1 + 15.325 35.533 68.137 -0.263 0.964 -0.043 -93 51 1 + 18.173 31.320 64.834 0.425 0.154 0.892 -115 26 1 + 18.034 31.102 64.783 -0.129 -0.713 0.689 -115 26 1 + 20.844 31.552 64.740 0.130 0.828 0.546 -117 26 1 + 20.280 32.365 64.338 0.506 0.286 0.814 -117 24 1 + 21.708 31.546 63.515 0.562 0.825 -0.067 -117 26 1 + 21.144 32.359 63.113 0.938 0.283 0.201 -117 24 1 + 20.804 30.214 60.695 0.977 -0.199 -0.077 -121 13 1 + 20.773 30.126 60.685 0.896 -0.432 -0.104 -121 13 1 + 20.213 28.745 58.300 -0.035 -0.968 0.249 -135 13 1 + 20.759 28.145 57.594 -0.399 -0.568 0.720 -135 15 1 + 19.061 37.745 56.044 -0.364 0.481 -0.798 -157 5 1 + 19.421 38.290 56.029 -0.604 0.117 -0.788 -157 6 1 + 19.539 37.367 60.576 0.248 0.430 0.868 -171 7 1 + 19.688 36.942 60.438 0.604 -0.587 0.539 -171 7 1 + 23.765 30.930 57.106 0.491 0.808 0.327 -217 16 1 + 24.788 30.705 57.277 -0.191 0.958 0.213 -217 19 1 + 21.106 27.366 56.516 -0.225 -0.957 0.181 -224 15 1 + 22.074 26.606 56.489 -0.870 -0.450 0.199 -224 18 1 + 21.514 27.845 54.763 -0.021 -0.718 -0.696 -224 15 1 + 22.463 27.063 54.815 -0.654 -0.197 -0.731 -224 18 1 + 25.956 27.399 56.643 0.458 -0.878 -0.139 -230 19 1 + 25.278 26.689 56.296 0.910 -0.405 0.092 -230 18 1 + 21.194 29.848 54.271 -0.182 0.283 -0.942 -233 15 1 + 20.812 30.365 54.351 0.073 -0.062 -0.995 -233 14 1 + 20.007 28.862 54.962 -0.775 -0.209 -0.596 -233 15 1 + 19.624 29.380 55.043 -0.520 -0.554 -0.650 -233 14 1 + 23.290 35.462 56.464 0.989 0.046 -0.142 -245 1 1 + 24.113 36.459 57.228 0.440 -0.619 -0.651 -245 8 1 + 22.694 39.649 59.694 0.587 0.735 0.339 -251 7 1 + 23.428 39.443 59.485 0.097 0.873 0.478 -251 8 1 + 22.500 38.299 60.664 0.479 -0.014 0.878 -251 7 1 + 23.225 38.029 60.501 -0.004 0.166 0.986 -251 8 1 + 18.453 32.344 68.501 0.220 -0.262 -0.940 -263 56 1 + 18.504 32.396 68.556 0.880 0.416 -0.227 -263 56 1 + 16.016 34.965 72.840 0.376 -0.056 0.925 -275 51 1 + 16.168 34.334 72.893 0.275 0.365 0.890 -275 49 1 + 13.312 34.770 71.306 -0.976 -0.154 0.157 -277 51 1 + 13.088 33.716 71.351 -0.826 0.549 0.127 -277 50 1 + 16.090 29.519 70.672 -0.060 -0.897 0.438 -287 48 1 + 17.182 29.074 71.126 -0.788 -0.600 0.136 -287 53 1 + 17.296 29.126 71.590 -0.732 -0.574 0.368 -324 53 1 + 17.588 28.678 72.527 -0.926 -0.275 -0.257 -324 57 1 + 17.482 28.904 73.045 -0.989 -0.143 0.048 -328 57 1 + 17.171 28.596 74.048 -0.781 0.062 -0.621 -328 61 1 + 20.849 25.442 75.508 -0.892 -0.452 0.004 -335 79 1 + 21.153 25.319 75.320 0.033 -0.823 -0.567 -335 79 1 + 26.076 27.427 70.394 0.858 -0.487 -0.163 -345 72 1 + 26.416 26.548 71.304 0.631 0.099 -0.769 -345 71 1 + 22.288 30.114 71.838 0.559 0.766 0.318 -350 55 1 + 22.199 30.143 71.599 0.282 0.858 -0.428 -350 55 1 + 16.775 28.821 75.499 -0.979 0.175 0.104 -366 61 1 + 16.430 28.504 76.461 -0.749 0.386 -0.538 -366 63 1 + 17.228 27.165 75.116 -0.752 -0.653 -0.088 -366 61 1 + 16.884 26.848 76.078 -0.523 -0.442 -0.729 -366 63 1 + 22.388 23.834 79.793 0.169 -0.201 0.965 -378 79 1 + 23.032 23.751 79.808 -0.260 -0.146 0.955 -378 77 1 + 21.698 22.429 77.080 -0.176 -0.903 -0.392 -380 79 1 + 22.619 21.928 76.834 -0.790 -0.569 -0.228 -380 78 1 + 27.085 26.609 72.393 0.966 0.129 -0.225 -392 71 1 + 28.614 27.171 73.507 -0.054 -0.246 -0.968 -392 80 1 + 18.959 27.899 79.243 0.515 0.084 0.853 -413 63 1 + 20.000 27.916 79.051 -0.179 0.072 0.981 -413 64 1 + 18.054 31.962 68.403 0.486 -0.008 -0.874 -438 38 1 + 18.026 31.932 68.392 0.384 -0.118 -0.916 -438 38 1 + 19.994 29.885 66.674 -0.990 -0.000 -0.139 -439 56 1 + 19.870 29.066 65.321 -0.357 -0.415 0.837 -439 26 1 + 20.077 29.742 66.684 -0.495 -0.866 -0.072 439 56 1 + 19.505 29.056 67.934 -0.114 -0.409 -0.905 -439 56 1 + 20.813 29.066 65.453 0.114 -0.415 0.902 -439 26 1 + 20.241 29.742 66.707 0.496 -0.866 0.066 439 56 1 + 20.447 29.056 68.066 0.358 -0.409 -0.840 -439 56 1 + 21.284 29.890 65.522 0.349 -0.003 0.937 -439 26 1 + 20.323 29.885 66.719 0.990 0.000 0.139 439 56 1 + 20.918 29.881 68.135 0.593 0.003 -0.805 -439 56 1 + 20.812 30.715 65.459 0.114 0.409 0.905 -439 26 1 + 20.240 30.029 66.709 0.495 0.866 0.072 439 56 1 + 20.447 30.705 68.072 0.357 0.415 -0.837 -439 56 1 + 19.870 30.715 65.327 -0.358 0.409 0.840 -439 26 1 + 20.076 30.029 66.686 -0.496 0.866 -0.066 439 56 1 + 19.504 30.705 67.940 -0.114 0.415 -0.902 -439 56 1 + 30.551 28.024 74.722 0.915 0.181 -0.360 -440 80 1 + 31.665 28.892 75.533 0.172 -0.398 -0.901 -440 81 1 + 29.518 29.349 74.722 0.399 0.843 -0.360 -440 80 1 + 30.632 30.217 75.533 -0.344 0.264 -0.901 -440 81 1 + 28.431 29.566 75.984 -0.145 0.952 0.270 -440 80 1 + 29.545 30.434 76.794 -0.888 0.373 -0.270 -440 81 1 + 28.376 28.458 77.245 -0.172 0.398 0.901 -440 80 1 + 29.490 29.326 78.056 -0.915 -0.181 0.360 -440 81 1 + 29.409 27.133 77.245 0.344 -0.264 0.901 -440 80 1 + 30.523 28.001 78.056 -0.399 -0.843 0.360 -440 81 1 + 10.718 32.431 63.537 -0.707 0.707 0.000 441 44 1 + 10.718 31.454 64.882 -0.707 0.219 0.672 441 44 3 + 10.718 29.873 64.368 -0.707 -0.572 0.416 441 44 3 + 10.718 29.873 62.706 -0.707 -0.572 -0.416 441 44 3 + 10.718 31.454 62.192 -0.707 0.219 -0.672 441 44 3 + 10.132 31.017 63.537 -1.000 -0.000 -0.000 441 44 3 + 13.463 29.466 61.465 -0.000 -0.707 -0.707 445 43 3 + 18.461 27.459 62.420 -0.000 -1.000 -0.000 446 27 3 + 15.421 40.088 60.638 -0.500 0.866 0.000 451 34 3 + 22.585 29.897 63.648 1.000 0.000 0.000 456 26 3 + 21.999 28.753 64.479 0.707 -0.572 0.416 456 26 3 + 21.999 28.753 62.817 0.707 -0.572 -0.416 456 26 3 + 18.375 37.220 56.294 -0.707 0.219 -0.672 462 5 3 + 16.677 36.491 70.991 0.707 0.707 0.000 470 51 3 + 15.263 37.077 70.991 -0.000 1.000 0.000 470 51 3 + 15.263 36.491 72.405 -0.000 0.707 0.707 470 51 3 + 13.849 36.491 70.991 -0.707 0.707 0.000 470 51 3 + 20.629 39.469 56.192 -0.000 0.707 -0.707 486 6 3 + 26.932 28.980 56.893 1.000 0.000 0.000 494 19 3 + 26.032 30.539 56.893 0.500 0.866 0.000 494 19 3 + 26.032 29.759 58.243 0.500 0.433 0.750 494 19 3 + 26.032 28.201 58.243 0.500 -0.433 0.750 494 19 3 + 26.032 29.759 55.543 0.500 0.433 -0.750 494 19 3 + 24.540 25.858 56.130 0.500 -0.866 -0.000 496 18 3 + 24.540 26.638 54.780 0.500 -0.433 -0.750 496 18 3 + 25.233 37.697 58.529 1.000 0.000 0.000 497 8 3 + 24.647 39.111 58.529 0.707 0.707 0.000 497 8 3 + 24.647 38.134 59.874 0.707 0.219 0.672 497 8 3 + 24.647 36.553 59.360 0.707 -0.572 0.416 497 8 3 + 24.647 38.134 57.184 0.707 0.219 -0.672 497 8 3 + 13.609 32.144 72.347 -0.500 -0.433 0.750 501 50 3 + 12.809 32.837 71.147 -1.000 -0.000 -0.000 501 50 3 + 19.690 25.732 72.841 -0.500 -0.701 -0.509 505 60 3 + 25.774 29.816 70.719 0.707 0.707 0.000 507 72 3 + 25.774 28.839 69.374 0.707 0.219 -0.672 507 72 3 + 24.360 26.988 69.305 -0.000 -0.707 -0.707 507 72 3 + 24.360 28.402 68.719 -0.000 0.000 -1.000 507 72 3 + 20.944 32.296 72.579 0.500 0.866 0.000 508 55 3 + 20.636 23.091 78.694 -0.707 -0.572 0.416 512 79 3 + 20.636 23.091 77.032 -0.707 -0.572 -0.416 512 79 3 + 26.567 25.207 72.011 0.707 -0.572 -0.416 514 71 3 + 25.153 24.937 71.428 -0.000 -0.707 -0.707 514 71 3 + 17.929 27.731 79.537 -0.000 -0.000 1.000 520 63 3 + 16.515 28.168 78.882 -0.707 0.219 0.672 520 63 3 + 16.515 26.587 78.368 -0.707 -0.572 0.416 520 63 3 + 15.929 27.731 77.537 -1.000 -0.000 -0.000 520 63 3 + 24.683 21.453 77.199 0.500 -0.866 -0.000 524 78 3 + 26.886 23.378 75.425 0.500 -0.701 -0.509 526 76 3 + 30.135 26.518 74.612 0.707 -0.572 -0.416 527 80 3 + 28.721 29.076 74.029 -0.000 0.707 -0.707 527 80 3 + 33.320 29.688 77.335 1.000 0.000 0.000 530 81 3 + 32.734 31.102 77.335 0.707 0.707 0.000 530 81 3 + 32.734 30.125 78.680 0.707 0.219 0.672 530 81 3 + 32.734 28.544 78.166 0.707 -0.572 0.416 530 81 3 + 32.734 28.544 76.504 0.707 -0.572 -0.416 530 81 3 + 32.734 30.125 75.990 0.707 0.219 -0.672 530 81 3 + 31.320 31.688 77.335 -0.000 1.000 0.000 530 81 3 + 31.320 31.102 78.749 -0.000 0.707 0.707 530 81 3 + 31.320 29.688 79.335 -0.000 -0.000 1.000 530 81 3 + 31.320 28.274 78.749 -0.000 -0.707 0.707 530 81 3 + 31.320 31.102 75.921 -0.000 0.707 -0.707 530 81 3 + 29.906 31.102 77.335 -0.707 0.707 0.000 530 81 3 + 29.906 30.125 78.680 -0.707 0.219 0.672 530 81 3 diff --git a/modules/gfx/src/impl/calc_ambient.cc b/modules/gfx/src/impl/calc_ambient.cc index 2de067829..97e9dcfa9 100644 --- a/modules/gfx/src/impl/calc_ambient.cc +++ b/modules/gfx/src/impl/calc_ambient.cc @@ -53,12 +53,21 @@ namespace { -std::numeric_limits<float>::max()); for(EntryList::const_iterator it=elist.begin();it!=elist.end();++it) { - minc[0]=std::min(it->v[0],static_cast<float>(minc[0])); - minc[1]=std::min(it->v[1],static_cast<float>(minc[1])); - minc[2]=std::min(it->v[2],static_cast<float>(minc[2])); - maxc[0]=std::max(it->v[0],static_cast<float>(maxc[0])); - maxc[1]=std::max(it->v[1],static_cast<float>(maxc[1])); - maxc[2]=std::max(it->v[2],static_cast<float>(maxc[2])); +#if OST_DOUBLE_PRECISION + minc[0]=std::min(static_cast<double>(it->v[0]),minc[0]); + minc[1]=std::min(static_cast<double>(it->v[1]),minc[1]); + minc[2]=std::min(static_cast<double>(it->v[2]),minc[2]); + maxc[0]=std::max(static_cast<double>(it->v[0]),maxc[0]); + maxc[1]=std::max(static_cast<double>(it->v[1]),maxc[1]); + maxc[2]=std::maxstatic_cast<double>((it->v[2]),maxc[2]); +#else + minc[0]=std::min(it->v[0],minc[0]); + minc[1]=std::min(it->v[1],minc[1]); + minc[2]=std::min(it->v[2],minc[2]); + maxc[0]=std::max(it->v[0],maxc[0]); + maxc[1]=std::max(it->v[1],maxc[1]); + maxc[2]=std::max(it->v[2],maxc[2]); +#endif } return std::make_pair(minc,maxc); } @@ -201,15 +210,15 @@ namespace { unsigned int stat0=0; unsigned int stat1=0; unsigned int stat2=0; + unsigned int stat3=0; float cutoff2=cutoff_*cutoff_; CMap::iterator mit=cmap_.find(cindex); if(mit==cmap_.end()) return; for(std::vector<CEntry>::const_iterator eit=mit->second.begin();eit!=mit->second.end();++eit) { - geom::Vec3 dir0=(eit->v0-ce.v0); // vector from reference entry to current entry float l2=geom::Length2(dir0); - if(l2>cutoff2) {++stat0; continue;} // too far away + if(l2>cutoff2 || l2<0.1) {++stat0; continue;} // too far away or too close dir0=geom::Normalize(dir0); geom::Vec3 dir1=geom::Normalize(eit->v1-ce.v0); // vector from reference entry to corner 1 @@ -221,27 +230,14 @@ namespace { float a0 = std::min(geom::Dot(dir0,dir1),std::min(geom::Dot(dir0,dir2),geom::Dot(dir0,dir3))); if(eit->type==4) a0=std::min(a0,static_cast<float>(geom::Dot(dir0,dir4))); for(std::vector<RayEntry>::iterator rit=rays_.begin();rit!=rays_.end();++rit) { - /* - this _should_ be <0.0, and it should - count as a hit... why this isnt the case - is a mystery to me... all normal and - difference vector directions appear ok - */ - if(geom::Dot(eit->n,rit->v)>0.0) { - // backside, counts as hit - //rit->d2=0.0; - //rit->c=ce.c; - //rit->hit=true; - continue; - } - if(geom::Dot(dir0,rit->v)<a0) {++stat1; continue;} // outside corners - if(rit->d2<l2) {++stat2; continue;} // a closer one was already recorded + if(geom::Dot(ce.n,rit->v)<0.0) { ++stat1; continue;} // facing back + if(geom::Dot(dir0,rit->v)<a0) {++stat2; continue;} // outside corners + if(rit->d2<l2) {++stat3; continue;} rit->d2=l2; rit->c=eit->c; rit->hit=true; } } - //std::cerr << " " << stat0 << " " << stat1 << " " << stat2 << std::endl; } void calc_all() { @@ -272,18 +268,20 @@ namespace { for(std::vector<RayEntry>::iterator rit=rays_.begin();rit!=rays_.end();++rit) { if(rit->hit) ++hit_count; } - float ratio=std::min(1.0,1.5-static_cast<float>(hit_count)/static_cast<float>(rays_.size())); + float ratio=1.0-static_cast<float>(hit_count)/static_cast<float>(rays_.size()); //std::cerr << " " << hit_count << " / " << rays_.size() << std::endl; if(lit->type==3) { - entry_accum[tlist[lit->id+0]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); - entry_accum[tlist[lit->id+1]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); - entry_accum[tlist[lit->id+2]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + // please provide a Vec explicit float ctor in double-precision mode + // instead of typecasting here + entry_accum[tlist[lit->id+0]]+=geom::Vec4(ratio,ratio,ratio,1.0f); + entry_accum[tlist[lit->id+1]]+=geom::Vec4(ratio,ratio,ratio,1.0f); + entry_accum[tlist[lit->id+2]]+=geom::Vec4(ratio,ratio,ratio,1.0f); } else if(lit->type==4) { - entry_accum[qlist[lit->id+0]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); - entry_accum[qlist[lit->id+1]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); - entry_accum[qlist[lit->id+2]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); - entry_accum[qlist[lit->id+3]]+=geom::Vec4(static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(ratio),static_cast<Real>(1.0)); + entry_accum[qlist[lit->id+0]]+=geom::Vec4(ratio,ratio,ratio,1.0f); + entry_accum[qlist[lit->id+1]]+=geom::Vec4(ratio,ratio,ratio,1.0f); + entry_accum[qlist[lit->id+2]]+=geom::Vec4(ratio,ratio,ratio,1.0f); + entry_accum[qlist[lit->id+3]]+=geom::Vec4(ratio,ratio,ratio,1.0f); } } } @@ -314,6 +312,8 @@ namespace { void ost::gfx::CalcAmbientTerms(IndexedVertexArray& va) { AmbientOcclusionBuilder aob(va); + LOGN_VERBOSE("building component map"); aob.build_cmap(); + LOGN_VERBOSE("calculating ambient terms"); aob.calc_all(); } diff --git a/modules/gfx/src/vertex_array.cc b/modules/gfx/src/vertex_array.cc index 1c7853f3a..970c09887 100644 --- a/modules/gfx/src/vertex_array.cc +++ b/modules/gfx/src/vertex_array.cc @@ -142,6 +142,7 @@ VertexID IndexedVertexArray::Add(const Vec3& vert, const Color& col) { dirty_=true; + ambient_dirty_=true; entry_list_.push_back(Entry(vert,norm,col)); return entry_list_.size()-1; } @@ -162,6 +163,7 @@ LineID IndexedVertexArray::AddLine(VertexID id0, VertexID id1) { assert(id0<entry_list_.size() && id1<entry_list_.size()); dirty_=true; + ambient_dirty_=true; line_index_list_.push_back(id0); line_index_list_.push_back(id1); return line_index_list_.size()-2; @@ -171,6 +173,7 @@ TriID IndexedVertexArray::AddTri(VertexID id0, VertexID id1, VertexID id2) { assert(id0<entry_list_.size() && id1<entry_list_.size() && id2<entry_list_.size()); dirty_=true; + ambient_dirty_=true; tri_index_list_.push_back(id0); tri_index_list_.push_back(id1); tri_index_list_.push_back(id2); @@ -200,6 +203,7 @@ QuadID IndexedVertexArray::AddQuad(VertexID id0, VertexID id1, VertexID id2, Ver { assert(id0<entry_list_.size() && id1<entry_list_.size() && id2<entry_list_.size() && id3<entry_list_.size()); dirty_=true; + ambient_dirty_=true; quad_index_list_.push_back(id0); quad_index_list_.push_back(id1); quad_index_list_.push_back(id2); @@ -210,6 +214,7 @@ QuadID IndexedVertexArray::AddQuad(VertexID id0, VertexID id1, VertexID id2, Ver void IndexedVertexArray::AddSphere(const SpherePrim& prim, unsigned int detail) { dirty_=true; + ambient_dirty_=true; unsigned int level= std::min(VA_SPHERE_MAX_DETAIL,detail); @@ -230,6 +235,7 @@ void IndexedVertexArray::AddSphere(const SpherePrim& prim, unsigned int detail) void IndexedVertexArray::AddIcoSphere(const SpherePrim& prim, unsigned int detail) { dirty_=true; + ambient_dirty_=true; unsigned int level= std::min(VA_ICO_SPHERE_MAX_DETAIL,detail); @@ -246,6 +252,7 @@ void IndexedVertexArray::AddIcoSphere(const SpherePrim& prim, unsigned int detai void IndexedVertexArray::AddCylinder(const CylinderPrim& prim, unsigned int detail) { dirty_=true; + ambient_dirty_=true; unsigned int level = std::min(VA_CYL_MAX_DETAIL,detail); @@ -349,9 +356,10 @@ void IndexedVertexArray::RenderGL() if(dirty_) { dirty_=false; #if OST_SHADER_SUPPORT_ENABLED - if(use_ambient_) { + if(ambient_dirty_ && use_ambient_) { LOGN_DUMP("re-calculating ambient occlusion terms"); recalc_ambient_occlusion(); + ambient_dirty_=false; } LOGN_DUMP("checking buffer object availability"); @@ -602,6 +610,7 @@ void IndexedVertexArray::RenderPov(PovState& pov, const std::string& name) void IndexedVertexArray::Clear() { dirty_=true; + ambient_dirty_=true; entry_list_.clear(); quad_index_list_.clear(); tri_index_list_.clear(); @@ -625,7 +634,6 @@ void IndexedVertexArray::Clear() outline_exp_color_=Color(0,0,0); draw_normals_=false; use_ambient_=false; - ambient_dirty_=true; ambient_data_.clear(); } @@ -1034,6 +1042,7 @@ void IndexedVertexArray::copy(const IndexedVertexArray& va) line_index_list_=va.line_index_list_; ntentry_list_=va.ntentry_list_; dirty_=true; + ambient_dirty_=va.ambient_dirty_; mode_=va.mode_; poly_mode_=va.poly_mode_; lighting_=va.lighting_; @@ -1052,7 +1061,6 @@ void IndexedVertexArray::copy(const IndexedVertexArray& va) outline_exp_color_=va.outline_exp_color_; draw_normals_=va.draw_normals_; use_ambient_=va.use_ambient_; - ambient_dirty_=va.ambient_dirty_; ambient_data_=va.ambient_data_; } @@ -1125,6 +1133,7 @@ bool IndexedVertexArray::prep_buff() if(use_ambient_) { if(ambient_data_.empty()) { LOGN_VERBOSE("ambient data empty"); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); } else { glEnableClientState(GL_TEXTURE_COORD_ARRAY); glBindBuffer(GL_ARRAY_BUFFER, buffer_id_[VA_AMBIENT_BUFFER]); @@ -1135,6 +1144,8 @@ bool IndexedVertexArray::prep_buff() GL_STATIC_DRAW); VERTEX_ARRAY_CHECK_GL_ERROR("set ambient buf"); } + } else { + glDisableClientState(GL_TEXTURE_COORD_ARRAY); } return true; -- GitLab