Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # rotating_teapot.py zzz
- # form: vertexes = [ (x, y, z), (x, y, z), ... ]
- # triangles = [ ( (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) ), # first triangle
- # ( (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) ), # second triangle
- #
- vertexes = []
- triangles = []
- # Mostly found by experiment.
- # ----------------------------- Read the .obj file -------------------------------
- # Read the .obj file.
- # This won't work for complex .obj files, but the one we are going to read has only
- # two kinds of line. The v lines indicates verexes or 3-space points.
- # The f for faces indicate triangles, specifying the vertex index, aparently
- # starting at one.
- teapot = '''
- v 0.236255 0.200440 0.120846
- v 0.264468 0.183996 0.000008
- v 0.240272 0.183996 0.122556
- v 0.260121 0.200440 0.000008
- v 0.240915 0.205932 0.122839
- v 0.265158 0.205932 0.000008
- v 0.250408 0.200440 0.126856
- v 0.275436 0.200440 0.000008
- v 0.260843 0.183996 0.131296
- v 0.286781 0.183996 0.000008
- v 0.170838 0.200440 0.218587
- v 0.173929 0.183996 0.221678
- v 0.174416 0.205932 0.222164
- v 0.181712 0.200440 0.229476
- v 0.189762 0.183996 0.237510
- v 0.073097 0.200440 0.284019
- v 0.074808 0.183996 0.288020
- v 0.075090 0.205932 0.288664
- v 0.079107 0.200440 0.298157
- v 0.083548 0.183996 0.308591
- v -0.047756 0.200440 0.307870
- v -0.047756 0.183996 0.312216
- v -0.047756 0.205932 0.312938
- v -0.047756 0.200440 0.323216
- v -0.047756 0.183996 0.334529
- v -0.172141 0.200440 0.284019
- v -0.178762 0.183996 0.288020
- v -0.171623 0.205932 0.288664
- v -0.174730 0.200440 0.298157
- v -0.179045 0.183996 0.308591
- v -0.269505 0.200440 0.218587
- v -0.276958 0.183996 0.221678
- v -0.270870 0.205932 0.222164
- v -0.277334 0.200440 0.229476
- v -0.285259 0.183996 0.237510
- v -0.332944 0.200440 0.120846
- v -0.338577 0.183996 0.122556
- v -0.336773 0.205932 0.122839
- v -0.345937 0.200440 0.126856
- v -0.356340 0.183996 0.131296
- v -0.355602 0.200440 0.000008
- v -0.359964 0.183996 0.000008
- v -0.360655 0.205932 0.000008
- v -0.370933 0.200440 0.000008
- v -0.382277 0.183996 0.000008
- v -0.331752 0.200440 -0.120830
- v -0.335769 0.183996 -0.122525
- v -0.336412 0.205932 -0.122807
- v -0.345905 0.200440 -0.126856
- v -0.356340 0.183996 -0.131296
- v -0.266335 0.200440 -0.218587
- v -0.269426 0.183996 -0.221678
- v -0.269913 0.205932 -0.222164
- v -0.277209 0.200440 -0.229461
- v -0.285259 0.183996 -0.237510
- v -0.168579 0.200440 -0.283988
- v -0.170305 0.183996 -0.288020
- v -0.170571 0.205932 -0.288664
- v -0.174604 0.200440 -0.298157
- v -0.179045 0.183996 -0.308591
- v -0.047756 0.200440 -0.307854
- v -0.047756 0.183996 -0.312216
- v -0.047756 0.205932 -0.312906
- v -0.047756 0.200440 -0.323184
- v -0.047756 0.183996 -0.334529
- v 0.073097 0.200440 -0.283988
- v 0.074808 0.183996 -0.288020
- v 0.075090 0.205932 -0.288664
- v 0.079107 0.200440 -0.298157
- v 0.083548 0.183996 -0.308591
- v 0.170838 0.200440 -0.218587
- v 0.173929 0.183996 -0.221678
- v 0.174416 0.205932 -0.222164
- v 0.181712 0.200440 -0.229461
- v 0.189762 0.183996 -0.237510
- v 0.236255 0.200440 -0.120830
- v 0.240272 0.183996 -0.122525
- v 0.240915 0.205932 -0.122807
- v 0.250408 0.200440 -0.126856
- v 0.260843 0.183996 -0.131296
- v 0.298612 0.096423 0.147380
- v 0.327735 0.096423 0.000008
- v 0.331563 0.010451 0.161408
- v 0.363448 0.010451 0.000008
- v 0.354880 -0.072399 0.171309
- v 0.370870 -0.072399 0.090326
- v 0.369599 -0.066483 0.087643
- v 0.366743 -0.052377 0.080331
- v 0.371356 -0.032324 0.025977
- v 0.373851 -0.023693 0.000008
- v 0.372235 -0.110623 0.107100
- v 0.363714 -0.150541 0.175075
- v 0.373977 -0.118484 0.103240
- v 0.375404 -0.125027 0.100024
- v 0.381006 -0.150541 0.087533
- v 0.218837 0.096423 0.266586
- v 0.244195 0.010451 0.291943
- v 0.262130 -0.072399 0.309878
- v 0.268940 -0.150541 0.316688
- v 0.099631 0.096423 0.346376
- v 0.113659 0.010451 0.379312
- v 0.123560 -0.072399 0.402629
- v 0.127311 -0.150541 0.411463
- v -0.047756 0.096423 0.375483
- v -0.047756 0.010451 0.411196
- v -0.047756 -0.072399 0.436443
- v -0.047756 -0.150541 0.446031
- v -0.195112 0.096423 0.346376
- v -0.209140 0.010451 0.379312
- v -0.219057 -0.072399 0.402629
- v -0.222807 -0.150541 0.411463
- v -0.314334 0.096423 0.266586
- v -0.339676 0.010451 0.291943
- v -0.357626 -0.072399 0.309878
- v -0.364421 -0.150541 0.316688
- v -0.394109 0.096423 0.147380
- v -0.427060 0.010451 0.161408
- v -0.450377 -0.072399 0.171309
- v -0.459211 -0.150541 0.175075
- v -0.398000 0.150354 0.000008
- v -0.394422 0.143073 0.035360
- v -0.394187 0.142602 0.037651
- v -0.398785 0.128402 0.047960
- v -0.419858 0.101350 0.005374
- v -0.421443 0.100236 0.000008
- v -0.423216 0.096423 0.000008
- v -0.418995 0.101962 0.008308
- v -0.410318 0.108113 0.037651
- v -0.409564 0.109337 0.038545
- v -0.399773 0.125373 0.050173
- v -0.399522 0.126158 0.049592
- v -0.458929 0.010451 0.000008
- v -0.484192 -0.072399 0.000008
- v -0.493779 -0.150541 0.000008
- v -0.394109 0.096423 -0.147364
- v -0.411385 0.107360 -0.034026
- v -0.410318 0.108113 -0.037620
- v -0.400385 0.124369 -0.049435
- v -0.399773 0.125373 -0.050173
- v -0.394548 0.141472 -0.038451
- v -0.394187 0.142602 -0.037620
- v -0.397592 0.149538 -0.004009
- v -0.427060 0.010451 -0.161376
- v -0.450377 -0.072399 -0.171309
- v -0.459211 -0.150541 -0.175059
- v -0.314334 0.096423 -0.266570
- v -0.339676 0.010451 -0.291927
- v -0.357626 -0.072399 -0.309878
- v -0.364421 -0.150541 -0.316672
- v -0.195112 0.096423 -0.346360
- v -0.209140 0.010451 -0.379312
- v -0.219057 -0.072399 -0.402613
- v -0.222807 -0.150541 -0.411463
- v -0.047756 0.096423 -0.375452
- v -0.047756 0.010451 -0.411181
- v -0.047756 -0.072399 -0.436443
- v -0.047756 -0.150541 -0.446031
- v 0.099631 0.096423 -0.346360
- v 0.113659 0.010451 -0.379312
- v 0.123560 -0.072399 -0.402613
- v 0.127311 -0.150541 -0.411463
- v 0.218837 0.096423 -0.266570
- v 0.244195 0.010451 -0.291927
- v 0.262130 -0.072399 -0.309878
- v 0.268940 -0.150541 -0.316672
- v 0.298612 0.096423 -0.147364
- v 0.331563 0.010451 -0.161376
- v 0.354880 -0.072399 -0.171309
- v 0.363714 -0.150541 -0.175059
- v 0.369097 -0.043966 -0.055382
- v 0.369269 -0.043323 -0.053468
- v 0.366727 -0.052377 -0.080316
- v 0.371074 -0.072399 -0.089275
- v 0.371780 -0.092044 -0.097890
- v 0.372062 -0.103342 -0.103491
- v 0.380347 -0.147638 -0.089008
- v 0.380991 -0.150541 -0.087581
- v 0.372235 -0.110623 -0.107100
- v 0.377586 -0.168916 0.080347
- v 0.347647 -0.216664 0.168249
- v 0.380018 -0.174392 0.060686
- v 0.380441 -0.175333 0.057296
- v 0.387330 -0.192107 0.000008
- v 0.380849 -0.216664 0.000008
- v 0.312279 -0.265542 0.153185
- v 0.342516 -0.265542 0.000008
- v 0.276926 -0.298729 0.138138
- v 0.304198 -0.298729 0.000008
- v 0.260843 -0.317810 0.131296
- v 0.286781 -0.317810 0.000008
- v 0.256575 -0.216664 0.304323
- v 0.229351 -0.265542 0.277115
- v 0.202126 -0.298729 0.249890
- v 0.189762 -0.317810 0.237510
- v 0.120469 -0.216664 0.395395
- v 0.105437 -0.265542 0.360043
- v 0.090389 -0.298729 0.324675
- v 0.083548 -0.317810 0.308591
- v -0.047756 -0.216664 0.428613
- v -0.047756 -0.265542 0.390296
- v -0.047756 -0.298729 0.351962
- v -0.047756 -0.317810 0.334529
- v -0.215982 -0.216664 0.395395
- v -0.200934 -0.265542 0.360043
- v -0.185886 -0.298729 0.324675
- v -0.179045 -0.317810 0.308591
- v -0.352056 -0.216664 0.304323
- v -0.324847 -0.265542 0.277115
- v -0.297623 -0.298729 0.249890
- v -0.285259 -0.317810 0.237510
- v -0.443128 -0.216664 0.168249
- v -0.407791 -0.265542 0.153185
- v -0.372423 -0.298729 0.138138
- v -0.356340 -0.317810 0.131296
- v -0.490296 -0.160992 0.003664
- v -0.479186 -0.194320 0.015432
- v -0.474322 -0.208881 0.020610
- v -0.476644 -0.214169 0.001844
- v -0.476927 -0.214467 0.000008
- v -0.476346 -0.216664 0.000008
- v -0.475436 -0.213133 0.009344
- v -0.473459 -0.211470 0.021520
- v -0.438013 -0.265542 0.000008
- v -0.399679 -0.298729 0.000008
- v -0.382277 -0.317810 0.000008
- v -0.443128 -0.216664 -0.168218
- v -0.473459 -0.211470 -0.021505
- v -0.475719 -0.204707 -0.019104
- v -0.479186 -0.194304 -0.015417
- v -0.490296 -0.160992 -0.003648
- v -0.407791 -0.265542 -0.153186
- v -0.372423 -0.298729 -0.138138
- v -0.356340 -0.317810 -0.131296
- v -0.352056 -0.216664 -0.304308
- v -0.324847 -0.265542 -0.277083
- v -0.297623 -0.298729 -0.249875
- v -0.285259 -0.317810 -0.237510
- v -0.215982 -0.216664 -0.395379
- v -0.200934 -0.265542 -0.360011
- v -0.185886 -0.298729 -0.324659
- v -0.179045 -0.317810 -0.308591
- v -0.047756 -0.216664 -0.428598
- v -0.047756 -0.265542 -0.390264
- v -0.047756 -0.298729 -0.351930
- v -0.047756 -0.317810 -0.334529
- v 0.120469 -0.216664 -0.395379
- v 0.105437 -0.265542 -0.360011
- v 0.090389 -0.298729 -0.324659
- v 0.083548 -0.317810 -0.308591
- v 0.256575 -0.216664 -0.304308
- v 0.229351 -0.265542 -0.277083
- v 0.202126 -0.298729 -0.249875
- v 0.189762 -0.317810 -0.237510
- v 0.347647 -0.216664 -0.168218
- v 0.312279 -0.265542 -0.153186
- v 0.276926 -0.298729 -0.138138
- v 0.260843 -0.317810 -0.131296
- v 0.377570 -0.168916 -0.080331
- v 0.384097 -0.184842 -0.026071
- v 0.253860 -0.330080 0.128331
- v 0.279186 -0.330080 0.000008
- v 0.216484 -0.340797 0.112420
- v 0.238687 -0.340797 0.000008
- v 0.124157 -0.348392 0.073145
- v 0.138593 -0.348392 0.000008
- v -0.047756 -0.351248 0.000008
- v -0.474950 -0.206983 0.037651
- v -0.490296 -0.160992 0.037651
- v -0.482623 -0.183995 0.050173
- v 0.184395 -0.330080 0.232144
- v 0.155618 -0.340797 0.203366
- v 0.084552 -0.348392 0.132301
- v 0.080582 -0.330080 0.301609
- v 0.064671 -0.340797 0.264248
- v 0.025396 -0.348392 0.171905
- v -0.490296 -0.160992 -0.037620
- v -0.047756 -0.330080 0.326934
- v -0.047756 -0.340797 0.286435
- v -0.047756 -0.348392 0.186341
- v -0.474950 -0.206983 -0.037620
- v -0.482623 -0.183995 -0.050173
- v -0.176079 -0.330080 0.301609
- v -0.160168 -0.340797 0.264248
- v -0.120893 -0.348392 0.171905
- v -0.279876 -0.330080 0.232144
- v -0.251114 -0.340797 0.203366
- v -0.180049 -0.348392 0.132301
- v -0.349357 -0.330080 0.128331
- v -0.311981 -0.340797 0.112420
- v -0.219638 -0.348392 0.073145
- v -0.374683 -0.330080 0.000008
- v -0.334184 -0.340797 0.000008
- v -0.234089 -0.348392 0.000008
- v -0.349357 -0.330080 -0.128315
- v -0.311981 -0.340797 -0.112420
- v -0.219638 -0.348392 -0.073145
- v -0.279876 -0.330080 -0.232128
- v -0.251114 -0.340797 -0.203366
- v -0.180049 -0.348392 -0.132301
- v -0.176079 -0.330080 -0.301609
- v -0.160168 -0.340797 -0.264232
- v -0.120893 -0.348392 -0.171889
- v -0.047756 -0.330080 -0.326934
- v -0.047756 -0.340797 -0.286420
- v -0.047756 -0.348392 -0.186341
- v 0.080582 -0.330080 -0.301609
- v 0.064671 -0.340797 -0.264232
- v 0.025396 -0.348392 -0.171889
- v -0.250236 0.183996 -0.208073
- v 0.590625 0.183996 0.018837
- v 0.590625 0.183996 -0.018806
- v 0.576691 0.183996 0.000008
- v -0.201436 0.183996 -0.240743
- v -0.096791 0.183996 0.280237
- v -0.047756 0.183996 0.289934
- v 0.089401 0.183996 0.251821
- v 0.080723 0.183996 0.257626
- v -0.298627 0.183996 0.138546
- v -0.315197 0.183996 0.113801
- v -0.337667 0.183996 0.000008
- v -0.328111 0.183996 -0.048353
- v -0.185227 0.183996 -0.251585
- v 0.037494 0.183996 0.273098
- v 0.215323 0.183996 0.120344
- v 0.158097 0.183996 0.205845
- v 0.225302 0.183996 -0.085399
- v 0.219701 0.183996 -0.113785
- v 0.065299 0.183996 0.267606
- v 0.118461 0.183996 -0.232363
- v 0.154205 0.183996 -0.208434
- v -0.038122 0.183996 -0.288020
- v 0.066052 0.183996 -0.267449
- v -0.316406 0.183996 0.107665
- v 0.242170 0.183996 0.000008
- v 0.158097 0.183996 -0.205830
- v 0.167982 0.183996 -0.191064
- v 0.066052 0.183996 0.267449
- v 0.621302 0.183996 -0.025082
- v 0.665896 0.183996 0.000008
- v 0.651962 0.183996 -0.018806
- v 0.651962 0.183996 0.018837
- v 0.105939 0.183996 0.240742
- v 0.621302 0.183996 0.025098
- v 0.219701 0.183996 0.113801
- v 0.221301 0.183996 0.105688
- v -0.286671 0.183996 0.156418
- v -0.321631 0.183996 0.081194
- v -0.162475 0.183996 -0.266821
- v -0.315197 0.183996 -0.113785
- v -0.255822 0.183996 -0.202487
- v -0.047756 0.183996 -0.289919
- v -0.057391 0.183996 -0.288020
- v -0.161533 0.183996 -0.267449
- v -0.113157 0.183996 -0.277005
- v -0.253578 0.183996 0.205845
- v -0.161533 0.183996 0.267449
- v 0.232630 0.183996 0.048368
- v -0.253578 0.183996 -0.205830
- v 0.184395 -0.330080 -0.232128
- v 0.155618 -0.340797 -0.203366
- v 0.084552 -0.348392 -0.132301
- v 0.253860 -0.330080 -0.128315
- v 0.216484 -0.340797 -0.112420
- v 0.124157 -0.348392 -0.073145
- v -0.511855 0.107297 0.037651
- v -0.508764 0.099577 0.000008
- v -0.593167 0.100942 0.037651
- v -0.585777 0.094085 0.000008
- v -0.643254 0.083713 0.037651
- v -0.633509 0.079178 0.000008
- v -0.660341 0.050181 0.037651
- v -0.649891 0.050181 0.000008
- v -0.518697 0.124259 0.050173
- v -0.609455 0.116037 0.050173
- v -0.664688 0.093677 0.050173
- v -0.683345 0.050181 0.050173
- v -0.525522 0.141253 0.037651
- v -0.625758 0.131116 0.037651
- v -0.686138 0.103657 0.037651
- v -0.706332 0.050181 0.037651
- v -0.528629 0.148973 0.000008
- v -0.633164 0.137973 0.000008
- v -0.695882 0.108191 0.000008
- v -0.716783 0.050181 0.000008
- v -0.525522 0.141253 -0.037620
- v -0.625758 0.131116 -0.037620
- v -0.686138 0.103657 -0.037620
- v -0.706332 0.050181 -0.037620
- v -0.518697 0.124259 -0.050173
- v -0.609455 0.116037 -0.050173
- v -0.664688 0.093677 -0.050173
- v -0.683345 0.050181 -0.050173
- v -0.511855 0.107297 -0.037620
- v -0.593167 0.100942 -0.037620
- v -0.643254 0.083713 -0.037620
- v -0.660341 0.050181 -0.037620
- v -0.650676 0.000314 0.037651
- v -0.641167 0.004692 0.000008
- v -0.620392 -0.056880 0.037651
- v -0.613644 -0.050180 0.000008
- v -0.567575 -0.113337 0.037651
- v -0.565206 -0.105068 0.000008
- v -0.671576 -0.009352 0.050173
- v -0.635251 -0.071614 0.050173
- v -0.572800 -0.131523 0.050173
- v -0.692493 -0.019002 0.037651
- v -0.650095 -0.086333 0.037651
- v -0.578010 -0.149725 0.037651
- v -0.701970 -0.023395 0.000008
- v -0.656858 -0.093049 0.000008
- v -0.580363 -0.157995 0.000008
- v -0.692493 -0.019002 -0.037620
- v -0.650095 -0.086333 -0.037620
- v -0.578010 -0.149725 -0.037620
- v -0.671576 -0.009352 -0.050173
- v -0.635251 -0.071614 -0.050173
- v -0.572800 -0.131523 -0.050173
- v -0.650676 0.000314 -0.037620
- v -0.620392 -0.056880 -0.037620
- v -0.567575 -0.113337 -0.037620
- v 0.446517 -0.030221 0.074777
- v 0.438342 -0.008897 0.000008
- v 0.495144 0.037753 0.057092
- v 0.484710 0.050181 0.000008
- v 0.522871 0.117292 0.039408
- v 0.510145 0.121780 0.000008
- v 0.575311 0.183996 0.031375
- v 0.554410 0.183996 0.000008
- v 0.464484 -0.077106 0.099678
- v 0.518163 0.010451 0.076110
- v 0.550911 0.107407 0.052542
- v 0.621302 0.183996 0.041825
- v 0.482466 -0.123992 0.074777
- v 0.541151 -0.016868 0.057092
- v 0.578951 0.097521 0.039408
- v 0.667292 0.183996 0.031375
- v 0.490641 -0.145316 0.000008
- v 0.551601 -0.029279 0.000008
- v 0.591676 0.093018 0.000008
- v 0.688193 0.183996 0.000008
- v 0.482466 -0.123992 -0.074745
- v 0.541151 -0.016868 -0.057061
- v 0.578951 0.097521 -0.039393
- v 0.667292 0.183996 -0.031343
- v 0.464484 -0.077106 -0.099678
- v 0.518163 0.010451 -0.076095
- v 0.550911 0.107407 -0.052526
- v 0.621302 0.183996 -0.041809
- v 0.446517 -0.030221 -0.074745
- v 0.495144 0.037753 -0.057061
- v 0.522871 0.117292 -0.039393
- v 0.575311 0.183996 -0.031343
- v 0.592806 0.193850 0.029397
- v 0.570431 0.193395 0.000008
- v 0.603288 0.197270 0.025098
- v 0.582277 0.196533 0.000008
- v 0.603602 0.194022 0.020783
- v 0.585745 0.193395 0.000008
- v 0.642077 0.194854 0.039205
- v 0.649514 0.198871 0.033462
- v 0.642861 0.195450 0.027703
- v 0.691347 0.195874 0.029397
- v 0.695772 0.200503 0.025098
- v 0.682121 0.196862 0.020783
- v 0.713723 0.196329 0.000008
- v 0.716783 0.201240 0.000008
- v 0.699962 0.197506 0.000008
- v 0.691347 0.195874 -0.029398
- v 0.695772 0.200503 -0.025082
- v 0.682121 0.196862 -0.020767
- v 0.642077 0.194854 -0.039189
- v 0.649514 0.198871 -0.033446
- v 0.642861 0.195450 -0.027687
- v 0.592806 0.193850 -0.029398
- v 0.603288 0.197270 -0.025082
- v 0.603602 0.194022 -0.020767
- v -0.047756 0.351248 0.000008
- v 0.022368 0.340280 0.029900
- v 0.028205 0.340280 0.000008
- v 0.019135 0.313605 0.028519
- v 0.024737 0.313605 0.000008
- v -0.007226 0.280669 0.017252
- v -0.003852 0.280669 0.000008
- v -0.006614 0.250887 0.017519
- v -0.003146 0.250887 0.000008
- v 0.006269 0.340280 0.054017
- v 0.003774 0.313605 0.051522
- v -0.016562 0.280669 0.031218
- v -0.016076 0.250887 0.031673
- v -0.017849 0.340280 0.070116
- v -0.019230 0.313605 0.066884
- v -0.030496 0.280669 0.040523
- v -0.030229 0.250887 0.041166
- v -0.047756 0.340280 0.075985
- v -0.047756 0.313605 0.072486
- v -0.047756 0.280669 0.043928
- v -0.047756 0.250887 0.044618
- v -0.077632 0.340280 0.070116
- v -0.076267 0.313605 0.066884
- v -0.065001 0.280669 0.040523
- v -0.065252 0.250887 0.041166
- v -0.101765 0.340280 0.054017
- v -0.099271 0.313605 0.051522
- v -0.078935 0.280669 0.031218
- v -0.079405 0.250887 0.031673
- v -0.117849 0.340280 0.029900
- v -0.114632 0.313605 0.028519
- v -0.088255 0.280669 0.017252
- v -0.088883 0.250887 0.017519
- v -0.123702 0.340280 0.000008
- v -0.120234 0.313605 0.000008
- v -0.091645 0.280669 0.000008
- v -0.092335 0.250887 0.000008
- v -0.117849 0.340280 -0.029884
- v -0.114632 0.313605 -0.028519
- v -0.088255 0.280669 -0.017253
- v -0.088883 0.250887 -0.017504
- v -0.101765 0.340280 -0.053986
- v -0.099271 0.313605 -0.051522
- v -0.078935 0.280669 -0.031186
- v -0.079405 0.250887 -0.031657
- v -0.077632 0.340280 -0.070101
- v -0.076267 0.313605 -0.066884
- v -0.065001 0.280669 -0.040507
- v -0.065252 0.250887 -0.041135
- v -0.047756 0.340280 -0.075953
- v -0.047756 0.313605 -0.072486
- v -0.047756 0.280669 -0.043896
- v -0.047756 0.250887 -0.044587
- v -0.017849 0.340280 -0.070101
- v -0.019230 0.313605 -0.066884
- v -0.030496 0.280669 -0.040507
- v -0.030229 0.250887 -0.041135
- v 0.006269 0.340280 -0.053986
- v 0.003774 0.313605 -0.051522
- v -0.016562 0.280669 -0.031186
- v -0.016076 0.250887 -0.031657
- v 0.022368 0.340280 -0.029884
- v 0.019135 0.313605 -0.028519
- v -0.007226 0.280669 -0.017253
- v -0.006614 0.250887 -0.017504
- v 0.046109 0.231022 0.039942
- v 0.054001 0.231022 0.000008
- v 0.121991 0.217434 0.072219
- v 0.136239 0.217434 0.000008
- v 0.190138 0.203845 0.101216
- v 0.210113 0.203845 0.000008
- v 0.024502 0.231022 0.072250
- v 0.082889 0.217434 0.130637
- v 0.135345 0.203845 0.183093
- v -0.007822 0.231022 0.093873
- v 0.024470 0.217434 0.169740
- v 0.053468 0.203845 0.237887
- v -0.047756 0.231022 0.101765
- v -0.047756 0.217434 0.183987
- v -0.047756 0.203845 0.257862
- v -0.087675 0.231022 0.093873
- v -0.119952 0.217434 0.169740
- v -0.148965 0.203845 0.237887
- v -0.119999 0.231022 0.072250
- v -0.178386 0.217434 0.130637
- v -0.230826 0.203845 0.183093
- v -0.141605 0.231022 0.039942
- v -0.217488 0.217434 0.072219
- v -0.285619 0.203845 0.101216
- v -0.149482 0.231022 0.000008
- v -0.231736 0.217434 0.000008
- v -0.305610 0.203845 0.000008
- v -0.141605 0.231022 -0.039926
- v -0.217488 0.217434 -0.072203
- v -0.285619 0.203845 -0.101216
- v -0.119999 0.231022 -0.072235
- v -0.178386 0.217434 -0.130622
- v -0.230826 0.203845 -0.183077
- v -0.087675 0.231022 -0.093857
- v -0.119952 0.217434 -0.169708
- v -0.148965 0.203845 -0.237871
- v -0.047756 0.231022 -0.101734
- v -0.047756 0.217434 -0.183972
- v -0.047756 0.203845 -0.257862
- v -0.007822 0.231022 -0.093857
- v 0.024470 0.217434 -0.169708
- v 0.053468 0.203845 -0.237871
- v 0.024502 0.231022 -0.072235
- v 0.082889 0.217434 -0.130622
- v 0.135345 0.203845 -0.183077
- v 0.046109 0.231022 -0.039926
- v 0.121991 0.217434 -0.072203
- v 0.190138 0.203845 -0.101216
- f 1 2 3
- f 2 1 4
- f 5 4 1
- f 4 5 6
- f 7 6 5
- f 6 7 8
- f 9 8 7
- f 8 9 10
- f 11 3 12
- f 3 11 1
- f 13 1 11
- f 1 13 5
- f 14 5 13
- f 5 14 7
- f 15 7 14
- f 7 15 9
- f 16 12 17
- f 12 16 11
- f 18 11 16
- f 11 18 13
- f 19 13 18
- f 13 19 14
- f 20 14 19
- f 14 20 15
- f 21 17 22
- f 17 21 16
- f 23 16 21
- f 16 23 18
- f 24 18 23
- f 18 24 19
- f 25 19 24
- f 19 25 20
- f 26 22 27
- f 22 26 21
- f 28 21 26
- f 21 28 23
- f 29 23 28
- f 23 29 24
- f 30 24 29
- f 24 30 25
- f 31 27 32
- f 27 31 26
- f 33 26 31
- f 26 33 28
- f 34 28 33
- f 28 34 29
- f 35 29 34
- f 29 35 30
- f 36 32 37
- f 32 36 31
- f 38 31 36
- f 31 38 33
- f 39 33 38
- f 33 39 34
- f 40 34 39
- f 34 40 35
- f 41 37 42
- f 37 41 36
- f 43 36 41
- f 36 43 38
- f 44 38 43
- f 38 44 39
- f 45 39 44
- f 39 45 40
- f 46 42 47
- f 42 46 41
- f 48 41 46
- f 41 48 43
- f 49 43 48
- f 43 49 44
- f 50 44 49
- f 44 50 45
- f 51 47 52
- f 47 51 46
- f 53 46 51
- f 46 53 48
- f 54 48 53
- f 48 54 49
- f 55 49 54
- f 49 55 50
- f 56 52 57
- f 52 56 51
- f 58 51 56
- f 51 58 53
- f 59 53 58
- f 53 59 54
- f 60 54 59
- f 54 60 55
- f 61 57 62
- f 57 61 56
- f 63 56 61
- f 56 63 58
- f 64 58 63
- f 58 64 59
- f 65 59 64
- f 59 65 60
- f 66 62 67
- f 62 66 61
- f 68 61 66
- f 61 68 63
- f 69 63 68
- f 63 69 64
- f 70 64 69
- f 64 70 65
- f 71 67 72
- f 67 71 66
- f 73 66 71
- f 66 73 68
- f 74 68 73
- f 68 74 69
- f 75 69 74
- f 69 75 70
- f 76 72 77
- f 72 76 71
- f 78 71 76
- f 71 78 73
- f 79 73 78
- f 73 79 74
- f 80 74 79
- f 74 80 75
- f 4 77 2
- f 77 4 76
- f 6 76 4
- f 76 6 78
- f 8 78 6
- f 78 8 79
- f 10 79 8
- f 79 10 80
- f 81 10 9
- f 10 81 82
- f 83 82 81
- f 82 83 84
- f 85 84 83
- f 86 87 85
- f 88 85 87
- f 89 85 88
- f 90 85 89
- f 84 85 90
- f 91 92 93
- f 86 92 91
- f 85 92 86
- f 93 92 94
- f 95 94 92
- f 96 9 15
- f 9 96 81
- f 97 81 96
- f 81 97 83
- f 98 83 97
- f 83 98 85
- f 99 85 98
- f 85 99 92
- f 100 15 20
- f 15 100 96
- f 101 96 100
- f 96 101 97
- f 102 97 101
- f 97 102 98
- f 103 98 102
- f 98 103 99
- f 104 20 25
- f 20 104 100
- f 105 100 104
- f 100 105 101
- f 106 101 105
- f 101 106 102
- f 107 102 106
- f 102 107 103
- f 108 25 30
- f 25 108 104
- f 109 104 108
- f 104 109 105
- f 110 105 109
- f 105 110 106
- f 111 106 110
- f 106 111 107
- f 112 30 35
- f 30 112 108
- f 113 108 112
- f 108 113 109
- f 114 109 113
- f 109 114 110
- f 115 110 114
- f 110 115 111
- f 116 35 40
- f 35 116 112
- f 117 112 116
- f 112 117 113
- f 118 113 117
- f 113 118 114
- f 119 114 118
- f 114 119 115
- f 120 121 122
- f 45 120 122
- f 40 45 122
- f 40 122 123
- f 124 125 126
- f 127 124 126
- f 126 116 127
- f 128 127 116
- f 129 128 116
- f 130 129 116
- f 131 130 116
- f 123 131 116
- f 40 123 116
- f 132 116 126
- f 116 132 117
- f 133 117 132
- f 117 133 118
- f 134 118 133
- f 118 134 119
- f 135 45 50
- f 135 126 125
- f 135 125 136
- f 135 136 137
- f 135 137 138
- f 135 138 139
- f 135 139 140
- f 135 140 141
- f 142 120 45
- f 141 142 45
- f 135 141 45
- f 143 126 135
- f 126 143 132
- f 144 132 143
- f 132 144 133
- f 145 133 144
- f 133 145 134
- f 146 50 55
- f 50 146 135
- f 147 135 146
- f 135 147 143
- f 148 143 147
- f 143 148 144
- f 149 144 148
- f 144 149 145
- f 150 55 60
- f 55 150 146
- f 151 146 150
- f 146 151 147
- f 152 147 151
- f 147 152 148
- f 153 148 152
- f 148 153 149
- f 154 60 65
- f 60 154 150
- f 155 150 154
- f 150 155 151
- f 156 151 155
- f 151 156 152
- f 157 152 156
- f 152 157 153
- f 158 65 70
- f 65 158 154
- f 159 154 158
- f 154 159 155
- f 160 155 159
- f 155 160 156
- f 161 156 160
- f 156 161 157
- f 162 70 75
- f 70 162 158
- f 163 158 162
- f 158 163 159
- f 164 159 163
- f 159 164 160
- f 165 160 164
- f 160 165 161
- f 166 75 80
- f 75 166 162
- f 167 162 166
- f 162 167 163
- f 168 163 167
- f 163 168 164
- f 169 164 168
- f 164 169 165
- f 82 80 10
- f 80 82 166
- f 84 166 82
- f 166 84 167
- f 170 90 171
- f 170 167 90
- f 84 90 167
- f 168 172 173
- f 168 170 172
- f 168 167 170
- f 173 174 168
- f 175 168 174
- f 169 176 177
- f 169 178 176
- f 169 175 178
- f 169 168 175
- f 179 180 181
- f 95 180 179
- f 92 180 95
- f 182 180 183
- f 181 180 182
- f 184 183 180
- f 185 184 180
- f 184 185 186
- f 187 186 185
- f 186 187 188
- f 189 188 187
- f 188 189 190
- f 191 92 99
- f 92 191 180
- f 192 180 191
- f 180 192 185
- f 193 185 192
- f 185 193 187
- f 194 187 193
- f 187 194 189
- f 195 99 103
- f 99 195 191
- f 196 191 195
- f 191 196 192
- f 197 192 196
- f 192 197 193
- f 198 193 197
- f 193 198 194
- f 199 103 107
- f 103 199 195
- f 200 195 199
- f 195 200 196
- f 201 196 200
- f 196 201 197
- f 202 197 201
- f 197 202 198
- f 203 107 111
- f 107 203 199
- f 204 199 203
- f 199 204 200
- f 205 200 204
- f 200 205 201
- f 206 201 205
- f 201 206 202
- f 207 111 115
- f 111 207 203
- f 208 203 207
- f 203 208 204
- f 209 204 208
- f 204 209 205
- f 210 205 209
- f 205 210 206
- f 211 115 119
- f 115 211 207
- f 212 207 211
- f 207 212 208
- f 213 208 212
- f 208 213 209
- f 214 209 213
- f 209 214 210
- f 215 216 217
- f 134 215 217
- f 119 134 217
- f 218 219 220
- f 221 218 220
- f 222 221 211
- f 217 222 211
- f 119 217 211
- f 220 211 221
- f 223 211 220
- f 211 223 212
- f 224 212 223
- f 212 224 213
- f 225 213 224
- f 213 225 214
- f 226 134 145
- f 226 220 219
- f 226 219 227
- f 226 227 228
- f 226 228 229
- f 226 229 230
- f 226 230 134
- f 231 220 226
- f 220 231 223
- f 232 223 231
- f 223 232 224
- f 233 224 232
- f 224 233 225
- f 234 145 149
- f 145 234 226
- f 235 226 234
- f 226 235 231
- f 236 231 235
- f 231 236 232
- f 237 232 236
- f 232 237 233
- f 238 149 153
- f 149 238 234
- f 239 234 238
- f 234 239 235
- f 240 235 239
- f 235 240 236
- f 241 236 240
- f 236 241 237
- f 242 153 157
- f 153 242 238
- f 243 238 242
- f 238 243 239
- f 244 239 243
- f 239 244 240
- f 245 240 244
- f 240 245 241
- f 246 157 161
- f 157 246 242
- f 247 242 246
- f 242 247 243
- f 248 243 247
- f 243 248 244
- f 249 244 248
- f 244 249 245
- f 250 161 165
- f 161 250 246
- f 251 246 250
- f 246 251 247
- f 252 247 251
- f 247 252 248
- f 253 248 252
- f 248 253 249
- f 254 165 169
- f 165 254 250
- f 255 250 254
- f 250 255 251
- f 256 251 255
- f 251 256 252
- f 257 252 256
- f 252 257 253
- f 177 258 169
- f 184 259 183
- f 184 258 259
- f 184 169 258
- f 169 184 254
- f 186 254 184
- f 254 186 255
- f 188 255 186
- f 255 188 256
- f 190 256 188
- f 256 190 257
- f 260 190 189
- f 190 260 261
- f 262 261 260
- f 261 262 263
- f 264 263 262
- f 263 264 265
- f 266 265 264
- f 267 268 269
- f 270 189 194
- f 189 270 260
- f 271 260 270
- f 260 271 262
- f 272 262 271
- f 262 272 264
- f 266 264 272
- f 268 267 216
- f 267 222 217
- f 217 216 267
- f 273 194 198
- f 194 273 270
- f 274 270 273
- f 270 274 271
- f 275 271 274
- f 271 275 272
- f 266 272 275
- f 268 216 215
- f 230 229 276
- f 277 198 202
- f 198 277 273
- f 278 273 277
- f 273 278 274
- f 279 274 278
- f 274 279 275
- f 266 275 279
- f 280 281 228
- f 228 227 280
- f 282 202 206
- f 202 282 277
- f 283 277 282
- f 277 283 278
- f 284 278 283
- f 278 284 279
- f 266 279 284
- f 228 281 229
- f 276 229 281
- f 285 206 210
- f 206 285 282
- f 286 282 285
- f 282 286 283
- f 287 283 286
- f 283 287 284
- f 266 284 287
- f 215 134 268
- f 276 134 230
- f 288 210 214
- f 210 288 285
- f 289 285 288
- f 285 289 286
- f 290 286 289
- f 286 290 287
- f 266 287 290
- f 291 214 225
- f 214 291 288
- f 292 288 291
- f 288 292 289
- f 293 289 292
- f 289 293 290
- f 266 290 293
- f 294 225 233
- f 225 294 291
- f 295 291 294
- f 291 295 292
- f 296 292 295
- f 292 296 293
- f 266 293 296
- f 297 233 237
- f 233 297 294
- f 298 294 297
- f 294 298 295
- f 299 295 298
- f 295 299 296
- f 266 296 299
- f 300 237 241
- f 237 300 297
- f 301 297 300
- f 297 301 298
- f 302 298 301
- f 298 302 299
- f 266 299 302
- f 303 241 245
- f 241 303 300
- f 304 300 303
- f 300 304 301
- f 305 301 304
- f 301 305 302
- f 266 302 305
- f 306 245 249
- f 245 306 303
- f 307 303 306
- f 303 307 304
- f 308 304 307
- f 304 308 305
- f 266 305 308
- f 27 37 32
- f 309 57 52
- f 310 311 312
- f 57 309 313
- f 314 22 315
- f 17 316 317
- f 318 319 37
- f 320 321 42
- f 57 313 322
- f 22 314 27
- f 323 315 17
- f 12 324 325
- f 326 77 327
- f 17 328 323
- f 329 330 72
- f 331 332 67
- f 333 37 319
- f 334 77 326
- f 2 77 334
- f 335 72 330
- f 336 72 335
- f 17 337 328
- f 17 317 337
- f 310 338 311
- f 338 339 340
- f 338 310 339
- f 341 339 310
- f 17 12 342
- f 310 343 341
- f 17 342 316
- f 344 2 345
- f 3 344 324
- f 3 2 344
- f 22 17 315
- f 37 346 318
- f 347 37 333
- f 57 322 348
- f 349 350 47
- f 329 67 332
- f 72 67 329
- f 331 62 351
- f 67 62 331
- f 352 351 57
- f 57 353 354
- f 57 348 353
- f 37 355 346
- f 356 27 314
- f 355 27 356
- f 37 27 355
- f 77 72 336
- f 57 354 352
- f 345 2 357
- f 324 12 3
- f 334 357 2
- f 325 342 12
- f 336 327 77
- f 47 321 349
- f 47 42 321
- f 42 347 320
- f 42 37 347
- f 62 57 351
- f 52 358 309
- f 52 350 358
- f 52 47 350
- f 359 249 253
- f 249 359 306
- f 360 306 359
- f 306 360 307
- f 361 307 360
- f 307 361 308
- f 266 308 361
- f 362 253 257
- f 253 362 359
- f 363 359 362
- f 359 363 360
- f 364 360 363
- f 360 364 361
- f 266 361 364
- f 261 257 190
- f 257 261 362
- f 263 362 261
- f 362 263 363
- f 265 363 263
- f 363 265 364
- f 266 364 265
- f 124 127 365
- f 128 365 127
- f 366 125 124
- f 366 124 365
- f 367 366 365
- f 366 367 368
- f 369 368 367
- f 368 369 370
- f 371 370 369
- f 370 371 372
- f 130 373 129
- f 128 373 365
- f 129 373 128
- f 374 365 373
- f 365 374 367
- f 375 367 374
- f 367 375 369
- f 376 369 375
- f 369 376 371
- f 123 377 131
- f 122 377 123
- f 130 377 373
- f 131 377 130
- f 378 373 377
- f 373 378 374
- f 379 374 378
- f 374 379 375
- f 380 375 379
- f 375 380 376
- f 381 121 120
- f 122 121 377
- f 381 377 121
- f 382 377 381
- f 377 382 378
- f 383 378 382
- f 378 383 379
- f 384 379 383
- f 379 384 380
- f 385 142 141
- f 120 142 381
- f 385 381 142
- f 386 381 385
- f 381 386 382
- f 387 382 386
- f 382 387 383
- f 388 383 387
- f 383 388 384
- f 140 139 389
- f 140 389 385
- f 141 140 385
- f 390 385 389
- f 385 390 386
- f 391 386 390
- f 386 391 387
- f 392 387 391
- f 387 392 388
- f 138 137 393
- f 138 393 389
- f 139 138 389
- f 394 389 393
- f 389 394 390
- f 395 390 394
- f 390 395 391
- f 396 391 395
- f 391 396 392
- f 125 366 136
- f 393 137 136
- f 393 136 366
- f 368 393 366
- f 393 368 394
- f 370 394 368
- f 394 370 395
- f 372 395 370
- f 395 372 396
- f 397 372 371
- f 372 397 398
- f 399 398 397
- f 398 399 400
- f 401 400 399
- f 400 401 402
- f 268 402 401
- f 402 268 134
- f 403 371 376
- f 371 403 397
- f 404 397 403
- f 397 404 399
- f 405 399 404
- f 399 405 401
- f 269 401 405
- f 401 269 268
- f 406 376 380
- f 376 406 403
- f 407 403 406
- f 403 407 404
- f 408 404 407
- f 404 408 405
- f 267 405 408
- f 405 267 269
- f 409 380 384
- f 380 409 406
- f 410 406 409
- f 406 410 407
- f 411 407 410
- f 407 411 408
- f 411 219 218
- f 411 218 408
- f 218 221 222
- f 218 222 408
- f 267 408 222
- f 412 384 388
- f 384 412 409
- f 413 409 412
- f 409 413 410
- f 414 410 413
- f 410 414 411
- f 280 411 414
- f 219 411 227
- f 280 227 411
- f 415 388 392
- f 388 415 412
- f 416 412 415
- f 412 416 413
- f 417 413 416
- f 413 417 414
- f 281 414 417
- f 414 281 280
- f 418 392 396
- f 392 418 415
- f 419 415 418
- f 415 419 416
- f 420 416 419
- f 416 420 417
- f 276 417 420
- f 417 276 281
- f 398 396 372
- f 396 398 418
- f 400 418 398
- f 418 400 419
- f 402 419 400
- f 419 402 420
- f 134 420 402
- f 420 134 276
- f 89 88 421
- f 90 89 422
- f 421 422 89
- f 423 422 421
- f 422 423 424
- f 425 424 423
- f 424 425 426
- f 427 426 425
- f 426 427 428
- f 429 86 91
- f 429 87 86
- f 421 88 87
- f 87 429 421
- f 430 421 429
- f 421 430 423
- f 431 423 430
- f 423 431 425
- f 432 425 431
- f 425 432 427
- f 433 94 95
- f 179 433 95
- f 94 91 93
- f 429 91 94
- f 94 433 429
- f 434 429 433
- f 429 434 430
- f 435 430 434
- f 430 435 431
- f 436 431 435
- f 431 436 432
- f 183 437 182
- f 181 182 437
- f 433 181 437
- f 181 433 179
- f 438 433 437
- f 433 438 434
- f 439 434 438
- f 434 439 435
- f 440 435 439
- f 435 440 436
- f 258 441 259
- f 183 259 441
- f 437 183 441
- f 442 437 441
- f 437 442 438
- f 443 438 442
- f 438 443 439
- f 444 439 443
- f 439 444 440
- f 445 176 178
- f 445 177 176
- f 258 177 445
- f 258 445 441
- f 446 441 445
- f 441 446 442
- f 447 442 446
- f 442 447 443
- f 448 443 447
- f 443 448 444
- f 449 174 173
- f 449 173 172
- f 449 178 175
- f 449 175 174
- f 178 449 445
- f 450 445 449
- f 445 450 446
- f 451 446 450
- f 446 451 447
- f 452 447 451
- f 447 452 448
- f 422 171 90
- f 171 449 170
- f 422 449 171
- f 172 170 449
- f 424 449 422
- f 449 424 450
- f 426 450 424
- f 450 426 451
- f 428 451 426
- f 451 428 452
- f 453 428 427
- f 428 453 454
- f 455 454 453
- f 454 455 456
- f 457 456 455
- f 456 457 458
- f 310 458 457
- f 458 310 312
- f 459 427 432
- f 427 459 453
- f 460 453 459
- f 453 460 455
- f 461 455 460
- f 455 461 457
- f 343 457 461
- f 457 343 310
- f 462 432 436
- f 432 462 459
- f 463 459 462
- f 459 463 460
- f 464 460 463
- f 460 464 461
- f 341 461 464
- f 461 341 343
- f 465 436 440
- f 436 465 462
- f 466 462 465
- f 462 466 463
- f 467 463 466
- f 463 467 464
- f 339 464 467
- f 464 339 341
- f 468 440 444
- f 440 468 465
- f 469 465 468
- f 465 469 466
- f 470 466 469
- f 466 470 467
- f 340 467 470
- f 467 340 339
- f 471 444 448
- f 444 471 468
- f 472 468 471
- f 468 472 469
- f 473 469 472
- f 469 473 470
- f 338 470 473
- f 470 338 340
- f 474 448 452
- f 448 474 471
- f 475 471 474
- f 471 475 472
- f 476 472 475
- f 472 476 473
- f 311 473 476
- f 473 311 338
- f 454 452 428
- f 452 454 474
- f 456 474 454
- f 474 456 475
- f 458 475 456
- f 475 458 476
- f 312 476 458
- f 476 312 311
- f 477 478 479
- f 480 479 478
- f 479 480 481
- f 482 481 480
- f 481 482 483
- f 484 483 482
- f 483 484 485
- f 477 486 478
- f 487 478 486
- f 478 487 480
- f 488 480 487
- f 480 488 482
- f 489 482 488
- f 482 489 484
- f 477 490 486
- f 491 486 490
- f 486 491 487
- f 492 487 491
- f 487 492 488
- f 493 488 492
- f 488 493 489
- f 477 494 490
- f 495 490 494
- f 490 495 491
- f 496 491 495
- f 491 496 492
- f 497 492 496
- f 492 497 493
- f 477 498 494
- f 499 494 498
- f 494 499 495
- f 500 495 499
- f 495 500 496
- f 501 496 500
- f 496 501 497
- f 477 502 498
- f 503 498 502
- f 498 503 499
- f 504 499 503
- f 499 504 500
- f 505 500 504
- f 500 505 501
- f 477 506 502
- f 507 502 506
- f 502 507 503
- f 508 503 507
- f 503 508 504
- f 509 504 508
- f 504 509 505
- f 477 510 506
- f 511 506 510
- f 506 511 507
- f 512 507 511
- f 507 512 508
- f 513 508 512
- f 508 513 509
- f 477 514 510
- f 515 510 514
- f 510 515 511
- f 516 511 515
- f 511 516 512
- f 517 512 516
- f 512 517 513
- f 477 518 514
- f 519 514 518
- f 514 519 515
- f 520 515 519
- f 515 520 516
- f 521 516 520
- f 516 521 517
- f 477 522 518
- f 523 518 522
- f 518 523 519
- f 524 519 523
- f 519 524 520
- f 525 520 524
- f 520 525 521
- f 477 526 522
- f 527 522 526
- f 522 527 523
- f 528 523 527
- f 523 528 524
- f 529 524 528
- f 524 529 525
- f 477 530 526
- f 531 526 530
- f 526 531 527
- f 532 527 531
- f 527 532 528
- f 533 528 532
- f 528 533 529
- f 477 534 530
- f 535 530 534
- f 530 535 531
- f 536 531 535
- f 531 536 532
- f 537 532 536
- f 532 537 533
- f 477 538 534
- f 539 534 538
- f 534 539 535
- f 540 535 539
- f 535 540 536
- f 541 536 540
- f 536 541 537
- f 477 479 538
- f 481 538 479
- f 538 481 539
- f 483 539 481
- f 539 483 540
- f 485 540 483
- f 540 485 541
- f 542 485 484
- f 485 542 543
- f 544 543 542
- f 543 544 545
- f 546 545 544
- f 545 546 547
- f 344 547 546
- f 547 357 334
- f 547 345 357
- f 547 344 345
- f 548 484 489
- f 484 548 542
- f 549 542 548
- f 542 549 544
- f 550 544 549
- f 544 550 546
- f 325 546 550
- f 546 324 344
- f 546 325 324
- f 551 489 493
- f 489 551 548
- f 552 548 551
- f 548 552 549
- f 553 549 552
- f 549 553 550
- f 337 550 553
- f 550 342 325
- f 550 316 342
- f 550 317 316
- f 550 337 317
- f 554 493 497
- f 493 554 551
- f 555 551 554
- f 551 555 552
- f 556 552 555
- f 552 556 553
- f 315 553 556
- f 553 328 337
- f 553 323 328
- f 553 315 323
- f 557 497 501
- f 497 557 554
- f 558 554 557
- f 554 558 555
- f 559 555 558
- f 555 559 556
- f 559 356 556
- f 314 556 356
- f 315 556 314
- f 560 501 505
- f 501 560 557
- f 561 557 560
- f 557 561 558
- f 562 558 561
- f 558 562 559
- f 559 562 355
- f 355 356 559
- f 563 505 509
- f 505 563 560
- f 564 560 563
- f 560 564 561
- f 565 561 564
- f 561 565 562
- f 562 565 319
- f 562 318 346
- f 562 319 318
- f 346 355 562
- f 566 509 513
- f 509 566 563
- f 567 563 566
- f 563 567 564
- f 568 564 567
- f 564 568 565
- f 320 565 568
- f 319 565 333
- f 565 320 347
- f 347 333 565
- f 569 513 517
- f 513 569 566
- f 570 566 569
- f 566 570 567
- f 571 567 570
- f 567 571 568
- f 349 568 571
- f 568 321 320
- f 568 349 321
- f 572 517 521
- f 517 572 569
- f 573 569 572
- f 569 573 570
- f 574 570 573
- f 570 574 571
- f 358 571 574
- f 571 350 349
- f 571 358 350
- f 575 521 525
- f 521 575 572
- f 576 572 575
- f 572 576 573
- f 577 573 576
- f 573 577 574
- f 353 574 577
- f 574 309 358
- f 574 313 309
- f 574 322 313
- f 574 348 322
- f 574 353 348
- f 578 525 529
- f 525 578 575
- f 579 575 578
- f 575 579 576
- f 580 576 579
- f 576 580 577
- f 351 577 580
- f 577 354 353
- f 577 352 354
- f 577 351 352
- f 581 529 533
- f 529 581 578
- f 582 578 581
- f 578 582 579
- f 583 579 582
- f 579 583 580
- f 583 332 580
- f 331 580 332
- f 351 580 331
- f 584 533 537
- f 533 584 581
- f 585 581 584
- f 581 585 582
- f 586 582 585
- f 582 586 583
- f 583 586 335
- f 583 330 329
- f 583 335 330
- f 329 332 583
- f 587 537 541
- f 537 587 584
- f 588 584 587
- f 584 588 585
- f 589 585 588
- f 585 589 586
- f 586 589 327
- f 335 586 336
- f 327 336 586
- f 543 541 485
- f 541 543 587
- f 545 587 543
- f 587 545 588
- f 547 588 545
- f 588 547 589
- f 334 589 547
- f 589 334 326
- f 326 327 589
- '''.splitlines()
- for line in teapot:
- if line:
- if line[0] == 'v':
- number = line[2:].split()
- vertexes.append( ( float(number[0]),
- -float(number[1]),
- float(number[2])))
- if line[0] == 'f':
- number = line[2:].split()
- triangles.append( (
- vertexes[int(number[0])-1],
- vertexes[int(number[1])-1],
- vertexes[int(number[2])-1] )
- )
- for line in teapot:
- if line:
- if line[0] == 'v':
- number = line[2:].split()
- vertexes.append( ( float(number[0]),
- -float(number[1]),
- float(number[2])))
- if line[0] == 'f':
- number = line[2:].split()
- triangles.append( (
- vertexes[int(number[0])-1],
- vertexes[int(number[1])-1],
- vertexes[int(number[2])-1] )
- )
- from tkinter import *
- from PIL import Image, ImageDraw
- from math import *
- import random
- ww = 800
- hh = 600
- root = Tk()
- root.title("Rotating Teapot")
- root.geometry("%dx%d+0+0"%(ww,hh))
- canvas = Canvas(root, width=ww, height=hh)
- canvas.grid()
- root.update()
- xoffset = ww/2
- yoffset = hh/2
- def click(event):
- cv.rx, cv.ry = (event.x,event.y)
- # mouse to rotate object
- def drag(event):
- cv.x_rotate = ((cv.x_rotate + event.x - cv.rx) / 100.0)
- cv.y_rotate = ((cv.y_rotate + event.y - cv.ry) / 100.0)
- root.bind('<Button-1>',click)
- root.bind('<B1-Motion>',drag)
- # arrow keys, A and Z to move object, space to reset all
- def key(event):
- if event.keysym=='up':
- cv.y -= 1
- elif event.keysym=='down':
- cv.y += 1
- elif event.keysym=='right':
- cv.x += 1
- elif event.keysym=='left':
- cv.x -= 1
- elif event.keysym in 'Aa':
- cv.z += 1
- elif event.keysym in 'Zz':
- cv.z -= 1
- elif event.keysym in "Shift_L Shift_R":
- cv.shift = 1
- elif event.keysym==' ':
- cv.x,cv.y,cv.z = 0,0,0
- root.bind('<Key>',key)
- class Cv(): 0
- cv=Cv()
- cv.x_rotate = cv.y_rotate = cv.z_rotate = 0
- cv.x,cv.y,cv.z = 0,0,0
- cv.scale = 500
- theta = 2*pi/100
- def plot(triangle):
- scale = cv.scale
- canvas.create_polygon([
- ( (triangle[0][0] * scale) + xoffset,
- (triangle[0][1] * scale) + yoffset ),
- ( (triangle[1][0] * scale) + xoffset,
- (triangle[1][1] * scale) + yoffset ),
- ( (triangle[2][0] * scale) + xoffset,
- (triangle[2][1] * scale) + yoffset ),
- ( (triangle[0][0] * scale) + xoffset,
- (triangle[0][1] * scale) + yoffset ), ],
- fill = 'black', outline = 'black')
- def draw():
- root.update()
- canvas.delete('all')
- while 1:
- for triangle in triangles:
- new_triangle = []
- for vertex in triangle:
- x = vertex[0]
- y = vertex[1]
- z = vertex[2]
- x_rotate = x * cos(cv.x_rotate) + z * sin(cv.x_rotate)
- y_rotate = y * cos(cv.y_rotate) + z * sin(cv.y_rotate)
- # apply user input translation
- x = x_rotate + cv.x
- y = y_rotate + cv.y
- z += cv.z
- new_triangle.append((x,y,z))
- plot(new_triangle)
- draw()
- # hold shift to just rotate on z-axis
- cv.shift = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement