diff --git a/assets/spheres/bigsphere.blend b/assets/spheres/bigsphere.blend new file mode 100644 index 0000000..8bea44b Binary files /dev/null and b/assets/spheres/bigsphere.blend differ diff --git a/assets/spheres/bigsphere.mtl b/assets/spheres/bigsphere.mtl new file mode 100644 index 0000000..4225f0e --- /dev/null +++ b/assets/spheres/bigsphere.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'bigsphere.blend' +# Material Count: 1 + +newmtl None +Ns 0 +Ka 0.000000 0.000000 0.000000 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/assets/spheres/bigsphere.obj b/assets/spheres/bigsphere.obj new file mode 100644 index 0000000..7ead31b --- /dev/null +++ b/assets/spheres/bigsphere.obj @@ -0,0 +1,3208 @@ +# Blender v2.79 (sub 0) OBJ File: 'bigsphere.blend' +# www.blender.org +mtllib bigsphere.mtl +o Icosphere +v 0.000000 -5.000000 0.000000 +v 3.618037 -2.236098 2.628627 +v -1.381940 -2.236099 4.253246 +v -4.472131 -2.236078 0.000000 +v -1.381940 -2.236099 -4.253246 +v 3.618037 -2.236098 -2.628627 +v 1.381940 2.236099 4.253246 +v -3.618037 2.236098 2.628627 +v -3.618037 2.236098 -2.628627 +v 1.381940 2.236099 -4.253246 +v 4.472131 2.236078 0.000000 +v 0.000000 5.000000 0.000000 +v -1.289683 -2.753427 3.969302 +v -1.164107 -3.287596 3.582815 +v -1.003442 -3.802015 3.088330 +v -0.812278 -4.253272 2.499976 +v -0.602063 -4.604774 1.852991 +v -0.388033 -4.839749 1.194264 +v -0.184239 -4.964325 0.567038 +v 0.482353 -4.964325 0.350446 +v 1.015905 -4.839748 0.738089 +v 1.576254 -4.604774 1.145202 +v 2.126614 -4.253271 1.545057 +v 2.627099 -3.802014 1.908676 +v 3.047734 -3.287595 2.214282 +v 3.376499 -2.753425 2.453142 +v 3.192263 -2.384937 3.020188 +v 2.659704 -2.511508 3.408562 +v 2.025042 -2.597862 3.761690 +v 1.314344 -2.628689 4.045058 +v 0.572820 -2.597863 4.233555 +v -0.148196 -2.511510 4.320920 +v -0.807326 -2.384938 4.319756 +v 3.858856 -2.384934 -2.102693 +v 4.063646 -2.511503 -1.476188 +v 4.203363 -2.597854 -0.763471 +v 4.253239 -2.628680 0.000000 +v 4.203363 -2.597854 0.763472 +v 4.063646 -2.511503 1.476189 +v 3.858856 -2.384934 2.102693 +v 0.482353 -4.964325 -0.350446 +v 1.015905 -4.839748 -0.738089 +v 1.576254 -4.604774 -1.145202 +v 2.126614 -4.253271 -1.545057 +v 2.627099 -3.802014 -1.908676 +v 3.047734 -3.287595 -2.214282 +v 3.376499 -2.753425 -2.453142 +v -4.173580 -2.753404 0.000000 +v -3.767208 -3.287574 0.000000 +v -3.247279 -3.801996 0.000000 +v -2.628649 -4.253258 0.000000 +v -1.948367 -4.604765 0.000000 +v -1.255735 -4.839745 0.000000 +v -0.596225 -4.964324 0.000000 +v -1.885915 -2.384938 3.969307 +v -2.419857 -2.511508 3.582822 +v -2.951828 -2.597859 3.088339 +v -3.440947 -2.628681 2.499985 +v -3.849360 -2.597851 1.852997 +v -4.155253 -2.511493 1.194267 +v -4.357824 -2.384919 0.567039 +v -1.289683 -2.753427 -3.969302 +v -1.164107 -3.287596 -3.582815 +v -1.003442 -3.802015 -3.088330 +v -0.812278 -4.253272 -2.499976 +v -0.602063 -4.604774 -1.852991 +v -0.388033 -4.839749 -1.194264 +v -0.184239 -4.964325 -0.567038 +v -4.357824 -2.384919 -0.567039 +v -4.155253 -2.511493 -1.194267 +v -3.849360 -2.597851 -1.852998 +v -3.440947 -2.628681 -2.499985 +v -2.951828 -2.597859 -3.088339 +v -2.419857 -2.511508 -3.582823 +v -1.885915 -2.384938 -3.969307 +v -0.807326 -2.384938 -4.319756 +v -0.148196 -2.511510 -4.320921 +v 0.572820 -2.597862 -4.233555 +v 1.314344 -2.628689 -4.045058 +v 2.025042 -2.597862 -3.761690 +v 2.659705 -2.511508 -3.408562 +v 3.192263 -2.384937 -3.020188 +v 4.655940 1.788690 0.350447 +v 4.783129 1.255747 0.738092 +v 4.823557 0.649463 1.145207 +v 4.755290 -0.000000 1.545063 +v 4.575492 -0.649465 1.908683 +v 4.303488 -1.255754 2.214288 +v 3.972734 -1.788703 2.453145 +v 3.972735 -1.788703 -2.453145 +v 4.303488 -1.255754 -2.214287 +v 4.575492 -0.649465 -1.908683 +v 4.755290 0.000000 -1.545063 +v 4.823556 0.649463 -1.145206 +v 4.783129 1.255747 -0.738092 +v 4.655940 1.788690 -0.350447 +v 1.105445 1.788706 4.536356 +v 0.776075 1.255758 4.777111 +v 0.401380 0.649468 4.941365 +v -0.000000 -0.000000 5.000000 +v -0.401380 -0.649468 4.941365 +v -0.776075 -1.255758 4.777111 +v -1.105445 -1.788706 4.536356 +v 3.560752 -1.788707 3.020194 +v 3.435793 -1.255760 3.408576 +v 3.229197 -0.649469 3.761712 +v 2.938928 0.000000 4.045084 +v 2.579728 0.649469 4.233579 +v 2.180034 1.255760 4.320940 +v 1.772046 1.788708 4.319766 +v -3.972735 1.788703 2.453145 +v -4.303488 1.255754 2.214287 +v -4.575492 0.649465 1.908683 +v -4.755290 -0.000000 1.545063 +v -4.823556 -0.649463 1.145206 +v -4.783129 -1.255747 0.738092 +v -4.655940 -1.788690 0.350447 +v -1.772046 -1.788708 4.319766 +v -2.180034 -1.255760 4.320940 +v -2.579728 -0.649469 4.233579 +v -2.938928 0.000000 4.045084 +v -3.229197 0.649469 3.761712 +v -3.435793 1.255760 3.408577 +v -3.560751 1.788707 3.020195 +v -3.560752 1.788707 -3.020194 +v -3.435793 1.255760 -3.408576 +v -3.229197 0.649469 -3.761712 +v -2.938928 -0.000000 -4.045084 +v -2.579728 -0.649469 -4.233579 +v -2.180034 -1.255760 -4.320940 +v -1.772046 -1.788708 -4.319766 +v -4.655940 -1.788690 -0.350447 +v -4.783129 -1.255747 -0.738092 +v -4.823557 -0.649463 -1.145207 +v -4.755290 0.000000 -1.545063 +v -4.575492 0.649465 -1.908683 +v -4.303488 1.255754 -2.214288 +v -3.972734 1.788703 -2.453145 +v 1.772046 1.788708 -4.319766 +v 2.180034 1.255760 -4.320940 +v 2.579728 0.649469 -4.233579 +v 2.938928 -0.000000 -4.045084 +v 3.229197 -0.649469 -3.761712 +v 3.435793 -1.255760 -3.408577 +v 3.560751 -1.788707 -3.020195 +v -1.105445 -1.788706 -4.536356 +v -0.776075 -1.255758 -4.777111 +v -0.401380 -0.649468 -4.941365 +v 0.000000 0.000000 -5.000000 +v 0.401380 0.649468 -4.941365 +v 0.776075 1.255758 -4.777111 +v 1.105445 1.788706 -4.536356 +v 4.357824 2.384919 0.567039 +v 4.155253 2.511493 1.194267 +v 3.849360 2.597851 1.852998 +v 3.440947 2.628681 2.499985 +v 2.951828 2.597859 3.088339 +v 2.419857 2.511508 3.582823 +v 1.885915 2.384938 3.969307 +v 0.807326 2.384938 4.319756 +v 0.148196 2.511510 4.320921 +v -0.572820 2.597862 4.233555 +v -1.314344 2.628689 4.045058 +v -2.025042 2.597862 3.761690 +v -2.659705 2.511508 3.408562 +v -3.192263 2.384937 3.020188 +v -3.858856 2.384934 2.102693 +v -4.063646 2.511503 1.476188 +v -4.203363 2.597854 0.763471 +v -4.253239 2.628680 -0.000000 +v -4.203363 2.597854 -0.763472 +v -4.063646 2.511503 -1.476189 +v -3.858856 2.384934 -2.102693 +v -3.192263 2.384937 -3.020188 +v -2.659704 2.511508 -3.408562 +v -2.025042 2.597862 -3.761690 +v -1.314344 2.628689 -4.045058 +v -0.572820 2.597863 -4.233555 +v 0.148196 2.511510 -4.320920 +v 0.807326 2.384938 -4.319756 +v 1.885915 2.384938 -3.969307 +v 2.419857 2.511508 -3.582822 +v 2.951828 2.597859 -3.088339 +v 3.440947 2.628681 -2.499985 +v 3.849360 2.597851 -1.852997 +v 4.155253 2.511493 -1.194267 +v 4.357824 2.384919 -0.567039 +v 0.184239 4.964325 0.567038 +v 0.388033 4.839749 1.194264 +v 0.602063 4.604774 1.852991 +v 0.812278 4.253272 2.499976 +v 1.003442 3.802015 3.088330 +v 1.164107 3.287596 3.582815 +v 1.289683 2.753427 3.969302 +v 4.173580 2.753404 0.000000 +v 3.767208 3.287574 0.000000 +v 3.247279 3.801996 0.000000 +v 2.628649 4.253258 0.000000 +v 1.948367 4.604765 0.000000 +v 1.255735 4.839745 0.000000 +v 0.596225 4.964324 0.000000 +v -0.482353 4.964325 0.350446 +v -1.015905 4.839748 0.738089 +v -1.576254 4.604774 1.145202 +v -2.126614 4.253271 1.545057 +v -2.627099 3.802014 1.908676 +v -3.047734 3.287595 2.214282 +v -3.376499 2.753425 2.453142 +v -0.482353 4.964325 -0.350446 +v -1.015905 4.839748 -0.738089 +v -1.576254 4.604774 -1.145202 +v -2.126614 4.253271 -1.545057 +v -2.627099 3.802014 -1.908676 +v -3.047734 3.287595 -2.214282 +v -3.376499 2.753425 -2.453142 +v 0.184239 4.964325 -0.567038 +v 0.388033 4.839749 -1.194264 +v 0.602063 4.604774 -1.852991 +v 0.812278 4.253272 -2.499976 +v 1.003442 3.802015 -3.088330 +v 1.164107 3.287596 -3.582815 +v 1.289683 2.753427 -3.969302 +v 0.830988 4.893358 -0.603746 +v 1.535836 4.716041 -0.632589 +v 1.076224 4.716043 -1.265179 +v 2.256874 4.414269 -0.648653 +v 1.809002 4.472146 -1.314315 +v 1.314309 4.414276 -1.945960 +v 2.938914 3.992748 -0.648655 +v 2.533643 4.099560 -1.332013 +v 2.049754 4.099565 -1.998020 +v 1.525068 3.992759 -2.594618 +v 3.531289 3.482790 -0.632593 +v 3.190968 3.618051 -1.314321 +v 2.750041 3.666766 -1.998024 +v 2.236046 3.618058 -2.628641 +v 1.692842 3.482805 -3.162966 +v 4.005108 2.931654 -0.603752 +v 3.736830 3.071709 -1.265189 +v 3.360434 3.149711 -1.945972 +v 2.889152 3.149714 -2.594629 +v 2.357995 3.071720 -3.162972 +v 1.811828 2.931671 -3.622511 +v -0.317413 4.893358 -0.976879 +v -0.127040 4.716044 -1.656136 +v -0.870691 4.716043 -1.414506 +v 0.080491 4.414277 -2.346845 +v -0.690987 4.472150 -2.126598 +v -1.444580 4.414276 -1.851311 +v 0.291248 3.992760 -2.995503 +v -0.483896 4.099568 -2.821239 +v -1.266831 4.099568 -2.566844 +v -1.996362 3.992759 -2.252201 +v 0.489574 3.482806 -3.553924 +v -0.263948 3.618061 -3.440924 +v -1.050438 3.666773 -3.232856 +v -1.809018 3.618061 -2.938892 +v -2.485046 3.482805 -2.587394 +v 0.663421 2.931673 -3.995643 +v -0.048542 3.071724 -3.944890 +v -0.812314 3.149720 -3.797289 +v -1.574853 3.149719 -3.549521 +v -2.279512 3.071723 -3.219991 +v -2.885331 2.931671 -2.842564 +v -1.027158 4.893357 0.000000 +v -1.614342 4.716042 -0.390958 +v -1.614342 4.716042 0.390958 +v -2.207114 4.414274 -0.801772 +v -2.236049 4.472145 0.000000 +v -2.207114 4.414274 0.801772 +v -2.758897 3.992756 -1.202659 +v -2.832697 4.099562 -0.411610 +v -2.832697 4.099562 0.411610 +v -2.758897 3.992756 1.202659 +v -3.228699 3.482802 -1.563839 +v -3.354083 3.618055 -0.812285 +v -3.399240 3.666765 0.000000 +v -3.354083 3.618055 0.812285 +v -3.228699 3.482802 1.563840 +v -3.595077 2.931668 -1.865675 +v -3.766817 3.071717 -1.172880 +v -3.862462 3.149711 -0.400887 +v -3.862462 3.149711 0.400887 +v -3.766817 3.071717 1.172880 +v -3.595077 2.931668 1.865676 +v -0.317413 4.893358 0.976879 +v -0.870691 4.716043 1.414506 +v -0.127040 4.716044 1.656137 +v -1.444580 4.414276 1.851311 +v -0.690987 4.472150 2.126598 +v 0.080491 4.414277 2.346845 +v -1.996362 3.992759 2.252201 +v -1.266831 4.099568 2.566844 +v -0.483896 4.099568 2.821239 +v 0.291248 3.992760 2.995503 +v -2.485046 3.482806 2.587394 +v -1.809018 3.618061 2.938892 +v -1.050438 3.666773 3.232855 +v -0.263948 3.618062 3.440924 +v 0.489575 3.482807 3.553923 +v -2.885330 2.931671 2.842565 +v -2.279511 3.071723 3.219992 +v -1.574853 3.149720 3.549521 +v -0.812314 3.149720 3.797289 +v -0.048542 3.071724 3.944890 +v 0.663421 2.931673 3.995644 +v 0.830988 4.893358 0.603746 +v 1.076224 4.716043 1.265179 +v 1.535836 4.716041 0.632589 +v 1.314309 4.414276 1.945960 +v 1.809002 4.472146 1.314315 +v 2.256874 4.414269 0.648653 +v 1.525068 3.992759 2.594618 +v 2.049754 4.099564 1.998020 +v 2.533643 4.099560 1.332013 +v 2.938914 3.992748 0.648655 +v 1.692842 3.482806 3.162966 +v 2.236046 3.618058 2.628641 +v 2.750040 3.666766 1.998024 +v 3.190968 3.618051 1.314321 +v 3.531289 3.482790 0.632593 +v 1.811828 2.931671 3.622510 +v 2.357995 3.071720 3.162971 +v 2.889152 3.149714 2.594629 +v 3.360434 3.149710 1.945972 +v 3.736830 3.071709 1.265189 +v 4.005108 2.931654 0.603752 +v 4.518698 1.904486 -0.976882 +v 4.607540 1.330315 -1.414512 +v 4.274960 1.995471 -1.656144 +v 4.594282 0.682048 -1.851321 +v 4.309021 1.381981 -2.126610 +v 3.912232 2.046144 -2.346856 +v 4.464026 -0.000000 -2.252213 +v 4.233299 0.700295 -2.566860 +v 3.883151 1.400591 -2.821256 +v 3.440952 2.046149 -2.995518 +v 4.226451 -0.665161 -2.587406 +v 4.045096 0.000000 -2.938910 +v 3.749411 0.700297 -3.232877 +v 3.354103 1.381987 -3.440945 +v 2.896130 1.995482 -3.553939 +v 3.912507 -1.269667 -2.842575 +v 3.766842 -0.665162 -3.220010 +v 3.521467 0.000001 -3.549545 +v 3.180441 0.682053 -3.797315 +v 2.769099 1.330325 -3.944911 +v 2.325423 1.904502 -3.995657 +v 0.467255 1.904500 -4.599408 +v 0.078499 1.330322 -4.819137 +v -0.254082 1.995482 -4.577498 +v -0.341025 0.682050 -4.941509 +v -0.690992 1.381985 -4.755275 +v -1.023075 2.046151 -4.445963 +v -0.762543 -0.000002 -4.941511 +v -1.133090 0.700295 -4.819304 +v -1.483238 1.400592 -4.564904 +v -1.785618 2.046151 -4.198195 +v -1.154739 -0.665164 -4.819142 +v -1.545082 -0.000002 -4.755283 +v -1.916033 0.700295 -4.564909 +v -2.236075 1.381986 -4.253244 +v -2.485059 1.995482 -3.852601 +v -1.494426 -1.269670 -4.599416 +v -1.898402 -0.665165 -4.577513 +v -2.287634 -0.000002 -4.445979 +v -2.628660 0.682051 -4.198208 +v -2.896144 1.330324 -3.852608 +v -3.081509 1.904501 -3.446328 +v -4.229910 1.904494 -1.865678 +v -4.559018 1.330317 -1.563845 +v -4.431978 1.995474 -1.172883 +v -4.805040 0.682048 -1.202664 +v -4.736066 1.381979 -0.812288 +v -4.544512 2.046142 -0.400888 +v -4.935297 0.000001 -0.801775 +v -4.933575 0.700294 -0.411612 +v -4.799829 1.400587 0.000000 +v -4.544512 2.046144 0.400888 +v -4.940113 -0.665155 -0.390959 +v -5.000000 0.000003 0.000002 +v -4.933575 0.700297 0.411614 +v -4.736064 1.381983 0.812289 +v -4.431976 1.995476 1.172883 +v -4.836112 -1.269654 0.000002 +v -4.940114 -0.665151 0.390963 +v -4.935297 0.000007 0.801780 +v -4.805038 0.682055 1.202668 +v -4.559016 1.330323 1.563847 +v -4.229908 1.904498 1.865680 +v -3.081510 1.904500 3.446328 +v -2.896146 1.330322 3.852607 +v -2.485062 1.995481 3.852600 +v -2.628662 0.682050 4.198207 +v -2.236079 1.381984 4.253242 +v -1.785620 2.046149 4.198194 +v -2.287637 -0.000003 4.445978 +v -1.916038 0.700293 4.564908 +v -1.483243 1.400590 4.564903 +v -1.023078 2.046150 4.445962 +v -1.898404 -0.665165 4.577512 +v -1.545086 -0.000004 4.755282 +v -1.133094 0.700293 4.819304 +v -0.690996 1.381984 4.755275 +v -0.254084 1.995481 4.577499 +v -1.494428 -1.269670 4.599416 +v -1.154741 -0.665164 4.819142 +v -0.762546 -0.000003 4.941511 +v -0.341028 0.682049 4.941509 +v 0.078497 1.330321 4.819138 +v 0.467254 1.904500 4.599408 +v 2.325423 1.904500 3.995658 +v 2.769099 1.330322 3.944913 +v 2.896129 1.995479 3.553941 +v 3.180440 0.682048 3.797317 +v 3.354102 1.381981 3.440949 +v 3.440951 2.046144 2.995521 +v 3.521465 -0.000005 3.549546 +v 3.749409 0.700289 3.232882 +v 3.883149 1.400583 2.821262 +v 3.912232 2.046140 2.346860 +v 3.766840 -0.665168 3.220011 +v 4.045094 -0.000009 2.938915 +v 4.233296 0.700285 2.566866 +v 4.309021 1.381972 2.126616 +v 4.274961 1.995467 1.656148 +v 3.912505 -1.269672 2.842576 +v 4.226448 -0.665170 2.587410 +v 4.464024 -0.000011 2.252219 +v 4.594280 0.682037 1.851328 +v 4.607540 1.330306 1.414518 +v 4.518699 1.904482 0.976886 +v 1.494428 1.269669 -4.599416 +v 1.898404 0.665163 -4.577512 +v 1.154742 0.665162 -4.819142 +v 2.287637 -0.000000 -4.445978 +v 1.545086 -0.000000 -4.755282 +v 0.762546 0.000000 -4.941510 +v 2.628662 -0.682053 -4.198206 +v 1.916038 -0.700298 -4.564908 +v 1.133094 -0.700298 -4.819303 +v 0.341028 -0.682052 -4.941508 +v 2.896146 -1.330325 -3.852607 +v 2.236078 -1.381989 -4.253242 +v 1.483241 -1.400595 -4.564902 +v 0.690996 -1.381988 -4.755275 +v -0.078497 -1.330323 -4.819137 +v 3.081510 -1.904502 -3.446328 +v 2.485060 -1.995484 -3.852599 +v 1.785619 -2.046153 -4.198193 +v 1.023077 -2.046153 -4.445961 +v 0.254083 -1.995483 -4.577498 +v -0.467255 -1.904501 -4.599408 +v -3.912506 1.269668 -2.842575 +v -3.766840 0.665162 -3.220012 +v -4.226449 0.665161 -2.587409 +v -3.521464 -0.000000 -3.549548 +v -4.045092 -0.000000 -2.938916 +v -4.464024 0.000000 -2.252218 +v -3.180437 -0.682053 -3.797319 +v -3.749406 -0.700297 -3.232885 +v -4.233293 -0.700296 -2.566868 +v -4.594279 -0.682049 -1.851327 +v -2.769094 -1.330324 -3.944915 +v -3.354095 -1.381986 -3.440953 +v -3.883142 -1.400591 -2.821267 +v -4.309015 -1.381982 -2.126620 +v -4.607537 -1.330315 -1.414519 +v -2.325419 -1.904501 -3.995661 +v -2.896122 -1.995481 -3.553946 +v -3.440943 -2.046148 -2.995528 +v -3.912224 -2.046145 -2.346868 +v -4.274955 -1.995472 -1.656154 +v -4.518696 -1.904487 -0.976888 +v -3.912506 1.269668 2.842576 +v -4.226449 0.665161 2.587409 +v -3.766840 0.665162 3.220012 +v -4.464024 -0.000000 2.252218 +v -4.045093 0.000000 2.938916 +v -3.521463 0.000000 3.549548 +v -4.594279 -0.682049 1.851327 +v -4.233293 -0.700296 2.566868 +v -3.749405 -0.700297 3.232885 +v -3.180436 -0.682053 3.797319 +v -4.607537 -1.330315 1.414518 +v -4.309015 -1.381982 2.126620 +v -3.883143 -1.400591 2.821267 +v -3.354095 -1.381986 3.440953 +v -2.769094 -1.330324 3.944915 +v -4.518696 -1.904487 0.976888 +v -4.274955 -1.995473 1.656154 +v -3.912224 -2.046145 2.346868 +v -3.440942 -2.046148 2.995529 +v -2.896121 -1.995481 3.553946 +v -2.325419 -1.904501 3.995661 +v 1.494428 1.269669 4.599416 +v 1.154742 0.665162 4.819142 +v 1.898404 0.665163 4.577512 +v 0.762545 -0.000000 4.941510 +v 1.545086 0.000000 4.755282 +v 2.287637 0.000000 4.445978 +v 0.341028 -0.682052 4.941508 +v 1.133094 -0.700298 4.819303 +v 1.916038 -0.700298 4.564908 +v 2.628662 -0.682053 4.198206 +v -0.078497 -1.330323 4.819137 +v 0.690996 -1.381988 4.755275 +v 1.483241 -1.400595 4.564902 +v 2.236078 -1.381988 4.253242 +v 2.896146 -1.330325 3.852607 +v -0.467255 -1.904501 4.599408 +v 0.254083 -1.995483 4.577498 +v 1.023077 -2.046153 4.445961 +v 1.785619 -2.046153 4.198193 +v 2.485061 -1.995484 3.852599 +v 3.081510 -1.904502 3.446327 +v 4.836111 1.269657 0.000000 +v 4.940113 0.665157 0.390960 +v 4.940113 0.665157 -0.390960 +v 4.935297 -0.000000 0.801775 +v 5.000000 0.000000 0.000000 +v 4.935297 0.000000 -0.801775 +v 4.805040 -0.682048 1.202664 +v 4.933575 -0.700293 0.411612 +v 4.933575 -0.700293 -0.411612 +v 4.805040 -0.682048 -1.202664 +v 4.559018 -1.330318 1.563844 +v 4.736065 -1.381980 0.812288 +v 4.799829 -1.400586 0.000000 +v 4.736066 -1.381980 -0.812287 +v 4.559018 -1.330318 -1.563844 +v 4.229910 -1.904495 1.865678 +v 4.431978 -1.995475 1.172882 +v 4.544512 -2.046143 0.400888 +v 4.544512 -2.046143 -0.400888 +v 4.431978 -1.995475 -1.172882 +v 4.229910 -1.904495 -1.865678 +v 2.885331 -2.931671 -2.842565 +v 2.485047 -3.482805 -2.587396 +v 2.279511 -3.071722 -3.219993 +v 1.996362 -3.992758 -2.252205 +v 1.809018 -3.618058 -2.938896 +v 1.574853 -3.149718 -3.549524 +v 1.444579 -4.414275 -1.851316 +v 1.266829 -4.099564 -2.566850 +v 1.050436 -3.666768 -3.232861 +v 0.812313 -3.149717 -3.797293 +v 0.870690 -4.716043 -1.414511 +v 0.690984 -4.472146 -2.126606 +v 0.483893 -4.099562 -2.821248 +v 0.263946 -3.618055 -3.440932 +v 0.048541 -3.071719 -3.944893 +v 0.317412 -4.893357 -0.976885 +v 0.127037 -4.716040 -1.656147 +v -0.080494 -4.414270 -2.346857 +v -0.291251 -3.992752 -2.995514 +v -0.489577 -3.482799 -3.553931 +v -0.663422 -2.931668 -3.995647 +v -1.811833 -2.931672 -3.622507 +v -1.692847 -3.482806 -3.162963 +v -2.358003 -3.071721 -3.162966 +v -1.525072 -3.992759 -2.594616 +v -2.236053 -3.618058 -2.628636 +v -2.889161 -3.149714 -2.594620 +v -1.314312 -4.414276 -1.945958 +v -2.049760 -4.099563 -1.998016 +v -2.750048 -3.666764 -1.998017 +v -3.360442 -3.149709 -1.945962 +v -1.076226 -4.716043 -1.265178 +v -1.809006 -4.472145 -1.314313 +v -2.533649 -4.099558 -1.332009 +v -3.190974 -3.618047 -1.314314 +v -3.736835 -3.071707 -1.265181 +v -0.830990 -4.893357 -0.603746 +v -1.535839 -4.716040 -0.632589 +v -2.256878 -4.414267 -0.648652 +v -2.938918 -3.992745 -0.648652 +v -3.531292 -3.482787 -0.632589 +v -4.005110 -2.931652 -0.603747 +v -4.005109 -2.931652 0.603748 +v -3.531291 -3.482788 0.632591 +v -3.736834 -3.071707 1.265182 +v -2.938917 -3.992745 0.648655 +v -3.190973 -3.618046 1.314319 +v -3.360441 -3.149707 1.945965 +v -2.256877 -4.414267 0.648656 +v -2.533648 -4.099556 1.332016 +v -2.750047 -3.666762 1.998024 +v -2.889159 -3.149711 2.594624 +v -1.535839 -4.716039 0.632594 +v -1.809007 -4.472142 1.314322 +v -2.049760 -4.099558 1.998025 +v -2.236053 -3.618052 2.628643 +v -2.358002 -3.071717 3.162970 +v -0.830990 -4.893356 0.603752 +v -1.076228 -4.716040 1.265188 +v -1.314314 -4.414269 1.945970 +v -1.525073 -3.992751 2.594627 +v -1.692847 -3.482798 3.162970 +v -1.811833 -2.931667 3.622511 +v 3.595077 -2.931668 -1.865675 +v 3.766818 -3.071716 -1.172880 +v 3.228699 -3.482802 -1.563839 +v 3.862463 -3.149710 -0.400886 +v 3.354085 -3.618053 -0.812284 +v 2.758898 -3.992755 -1.202659 +v 3.862463 -3.149709 0.400889 +v 3.399243 -3.666763 0.000002 +v 2.832700 -4.099560 -0.411608 +v 2.207116 -4.414272 -0.801770 +v 3.766819 -3.071713 1.172882 +v 3.354087 -3.618050 0.812289 +v 2.832702 -4.099557 0.411614 +v 2.236055 -4.472143 0.000004 +v 1.614345 -4.716041 -0.390956 +v 3.595079 -2.931664 1.865677 +v 3.228704 -3.482795 1.563844 +v 2.758904 -3.992749 1.202665 +v 2.207122 -4.414268 0.801777 +v 1.614349 -4.716039 0.390963 +v 1.027162 -4.893356 0.000003 +v -0.663420 -2.931672 3.995644 +v -0.489573 -3.482806 3.553925 +v 0.048545 -3.071723 3.944891 +v -0.291245 -3.992759 2.995505 +v 0.263952 -3.618059 3.440927 +v 0.812317 -3.149718 3.797291 +v -0.080487 -4.414276 2.346848 +v 0.483901 -4.099564 2.821243 +v 1.050443 -3.666769 3.232859 +v 1.574857 -3.149716 3.549523 +v 0.127044 -4.716043 1.656140 +v 0.690993 -4.472146 2.126603 +v 1.266839 -4.099562 2.566849 +v 1.809025 -3.618055 2.938896 +v 2.279515 -3.071719 3.219993 +v 0.317418 -4.893357 0.976882 +v 0.870699 -4.716040 1.414512 +v 1.444589 -4.414270 1.851318 +v 1.996371 -3.992751 2.252207 +v 2.485053 -3.482798 2.587398 +v 2.885333 -2.931666 2.842566 +vn 0.0228 -0.9973 0.0701 +vn 0.7255 -0.4994 0.4735 +vn -0.0597 -0.9973 0.0434 +vn -0.0597 -0.9973 -0.0434 +vn 0.0228 -0.9973 -0.0701 +vn 0.7711 -0.4256 0.4735 +vn -0.2121 -0.4256 0.8797 +vn -0.9022 -0.4256 0.0701 +vn -0.3455 -0.4256 -0.8363 +vn 0.6887 -0.4256 -0.5870 +vn 0.7483 -0.3800 0.5437 +vn -0.2858 -0.3800 0.8797 +vn -0.9250 -0.3800 0.0000 +vn -0.2858 -0.3800 -0.8797 +vn 0.7483 -0.3800 -0.5437 +vn 0.3086 0.4994 0.8096 +vn -0.6746 0.4994 0.5437 +vn -0.7255 0.4994 -0.4735 +vn 0.2262 0.4994 -0.8363 +vn 0.8653 0.4994 -0.0434 +vn 0.0597 0.9973 -0.0434 +vn 0.1854 0.9817 -0.0433 +vn 0.3210 0.9461 -0.0429 +vn 0.4586 0.8876 -0.0425 +vn 0.5888 0.8072 -0.0425 +vn 0.7027 0.7102 -0.0429 +vn 0.7951 0.6049 -0.0433 +vn 0.1045 0.9916 -0.0759 +vn 0.0985 0.9817 -0.1630 +vn 0.2399 0.9672 -0.0829 +vn 0.2339 0.9573 -0.1699 +vn 0.1530 0.9672 -0.2026 +vn 0.1400 0.9461 -0.2920 +vn 0.3829 0.9196 -0.0879 +vn 0.3768 0.9097 -0.1745 +vn 0.2955 0.9309 -0.2147 +vn 0.2824 0.9097 -0.3045 +vn 0.2020 0.9196 -0.3370 +vn 0.1822 0.8876 -0.4230 +vn 0.5236 0.8472 -0.0898 +vn 0.5175 0.8374 -0.1760 +vn 0.4416 0.8694 -0.2215 +vn 0.4285 0.8482 -0.3113 +vn 0.3472 0.8694 -0.3515 +vn 0.3273 0.8374 -0.4378 +vn 0.2472 0.8472 -0.4702 +vn 0.2224 0.8072 -0.5468 +vn 0.6513 0.7537 -0.0879 +vn 0.6451 0.7439 -0.1745 +vn 0.5801 0.7838 -0.2215 +vn 0.5670 0.7626 -0.3113 +vn 0.4911 0.7947 -0.3568 +vn 0.4713 0.7626 -0.4431 +vn 0.3900 0.7838 -0.4833 +vn 0.3653 0.7439 -0.5596 +vn 0.2849 0.7537 -0.5922 +vn 0.2579 0.7102 -0.6550 +vn 0.7578 0.6472 -0.0829 +vn 0.7516 0.6373 -0.1699 +vn 0.7005 0.6806 -0.2147 +vn 0.6874 0.6594 -0.3045 +vn 0.6224 0.6993 -0.3515 +vn 0.6026 0.6673 -0.4378 +vn 0.5267 0.6993 -0.4833 +vn 0.5020 0.6594 -0.5596 +vn 0.4206 0.6806 -0.5999 +vn 0.3939 0.6373 -0.6623 +vn 0.3130 0.6472 -0.6951 +vn 0.2869 0.6049 -0.7428 +vn 0.8402 0.5369 -0.0759 +vn 0.8340 0.5271 -0.1630 +vn 0.7967 0.5694 -0.2026 +vn 0.7836 0.5483 -0.2920 +vn 0.7322 0.5919 -0.3370 +vn 0.7124 0.5599 -0.4230 +vn 0.6472 0.6000 -0.4702 +vn 0.6225 0.5599 -0.5468 +vn 0.5468 0.5919 -0.5922 +vn 0.5199 0.5483 -0.6550 +vn 0.4388 0.5694 -0.6951 +vn 0.4127 0.5271 -0.7428 +vn 0.3318 0.5369 -0.7756 +vn 0.3086 0.4994 -0.8096 +vn -0.0228 0.9973 -0.0701 +vn 0.0161 0.9817 -0.1897 +vn 0.0584 0.9461 -0.3185 +vn 0.1013 0.8876 -0.4493 +vn 0.1415 0.8072 -0.5731 +vn 0.1763 0.7102 -0.6815 +vn 0.2045 0.6049 -0.7696 +vn -0.0399 0.9916 -0.1228 +vn -0.1246 0.9817 -0.1440 +vn -0.0047 0.9672 -0.2538 +vn -0.0893 0.9573 -0.2749 +vn -0.1454 0.9672 -0.2081 +vn -0.2345 0.9461 -0.2234 +vn 0.0347 0.9196 -0.3913 +vn -0.0495 0.9097 -0.4123 +vn -0.1129 0.9309 -0.3473 +vn -0.2023 0.9097 -0.3626 +vn -0.2581 0.9196 -0.2962 +vn -0.3460 0.8876 -0.3040 +vn 0.0764 0.8472 -0.5257 +vn -0.0075 0.8374 -0.5466 +vn -0.0742 0.8694 -0.4885 +vn -0.1637 0.8482 -0.5037 +vn -0.2271 0.8694 -0.4388 +vn -0.3152 0.8374 -0.4466 +vn -0.3708 0.8472 -0.3804 +vn -0.4513 0.8072 -0.3805 +vn 0.1176 0.7537 -0.6466 +vn 0.0334 0.7439 -0.6675 +vn -0.0314 0.7838 -0.6202 +vn -0.1209 0.7626 -0.6355 +vn -0.1876 0.7947 -0.5773 +vn -0.2757 0.7626 -0.5852 +vn -0.3391 0.7838 -0.5202 +vn -0.4194 0.7439 -0.5203 +vn -0.4752 0.7537 -0.4539 +vn -0.5433 0.7102 -0.4477 +vn 0.1553 0.6472 -0.7463 +vn 0.0707 0.6373 -0.7674 +vn 0.0123 0.6806 -0.7326 +vn -0.0772 0.6594 -0.7478 +vn -0.1420 0.6993 -0.7005 +vn -0.2302 0.6673 -0.7084 +vn -0.2969 0.6993 -0.6502 +vn -0.3771 0.6594 -0.6504 +vn -0.4406 0.6806 -0.5854 +vn -0.5082 0.6373 -0.5793 +vn -0.5644 0.6472 -0.5125 +vn -0.6178 0.6049 -0.5024 +vn 0.1874 0.5369 -0.8225 +vn 0.1027 0.5271 -0.8436 +vn 0.0535 0.5694 -0.8203 +vn -0.0356 0.5483 -0.8355 +vn -0.0942 0.5919 -0.8005 +vn -0.1822 0.5599 -0.8083 +vn -0.2472 0.6000 -0.7608 +vn -0.3277 0.5599 -0.7610 +vn -0.3943 0.5919 -0.7030 +vn -0.4623 0.5483 -0.6968 +vn -0.5255 0.5694 -0.6322 +vn -0.5789 0.5271 -0.6221 +vn -0.6351 0.5369 -0.5553 +vn -0.6746 0.4994 -0.5437 +vn -0.0738 0.9973 0.0000 +vn -0.1755 0.9817 -0.0740 +vn -0.2849 0.9461 -0.1540 +vn -0.3960 0.8876 -0.2352 +vn -0.5013 0.8072 -0.3117 +vn -0.5937 0.7102 -0.3783 +vn -0.6687 0.6049 -0.4323 +vn -0.1292 0.9916 0.0000 +vn -0.1755 0.9817 0.0740 +vn -0.2428 0.9672 -0.0740 +vn -0.2891 0.9573 0.0000 +vn -0.2428 0.9672 0.0740 +vn -0.2849 0.9461 0.1540 +vn -0.3615 0.9196 -0.1539 +vn -0.4074 0.9097 -0.0804 +vn -0.3652 0.9309 0.0000 +vn -0.4074 0.9097 0.0804 +vn -0.3615 0.9196 0.1539 +vn -0.3960 0.8876 0.2352 +vn -0.4764 0.8472 -0.2351 +vn -0.5221 0.8374 -0.1618 +vn -0.4875 0.8694 -0.0803 +vn -0.5297 0.8482 0.0000 +vn -0.4875 0.8694 0.0803 +vn -0.5222 0.8374 0.1618 +vn -0.4764 0.8472 0.2351 +vn -0.5013 0.8072 0.3117 +vn -0.5786 0.7537 -0.3116 +vn -0.6245 0.7439 -0.2381 +vn -0.5996 0.7838 -0.1618 +vn -0.6417 0.7626 -0.0814 +vn -0.6071 0.7947 0.0000 +vn -0.6417 0.7626 0.0814 +vn -0.5996 0.7838 0.1618 +vn -0.6245 0.7439 0.2381 +vn -0.5786 0.7537 0.3116 +vn -0.5937 0.7102 0.3783 +vn -0.6618 0.6472 -0.3784 +vn -0.7080 0.6373 -0.3043 +vn -0.6929 0.6806 -0.2381 +vn -0.7351 0.6594 -0.1577 +vn -0.7101 0.6993 -0.0814 +vn -0.7448 0.6673 0.0000 +vn -0.7101 0.6993 0.0814 +vn -0.7351 0.6594 0.1577 +vn -0.6929 0.6806 0.2381 +vn -0.7080 0.6373 0.3043 +vn -0.6618 0.6472 0.3784 +vn -0.6687 0.6049 0.4323 +vn -0.7244 0.5369 -0.4324 +vn -0.7705 0.5271 -0.3584 +vn -0.7636 0.5694 -0.3044 +vn -0.8056 0.5483 -0.2244 +vn -0.7904 0.5919 -0.1577 +vn -0.8250 0.5599 -0.0765 +vn -0.8000 0.6000 0.0000 +vn -0.8250 0.5599 0.0765 +vn -0.7904 0.5919 0.1577 +vn -0.8056 0.5483 0.2244 +vn -0.7636 0.5694 0.3044 +vn -0.7705 0.5271 0.3584 +vn -0.7244 0.5369 0.4324 +vn -0.7255 0.4994 0.4735 +vn -0.0228 0.9973 0.0701 +vn -0.1246 0.9817 0.1440 +vn -0.2345 0.9461 0.2234 +vn -0.3460 0.8876 0.3040 +vn -0.4513 0.8072 0.3805 +vn -0.5433 0.7102 0.4477 +vn -0.6178 0.6049 0.5024 +vn -0.0399 0.9916 0.1228 +vn 0.0161 0.9817 0.1897 +vn -0.1454 0.9672 0.2081 +vn -0.0893 0.9573 0.2749 +vn -0.0047 0.9672 0.2538 +vn 0.0584 0.9461 0.3185 +vn -0.2581 0.9196 0.2962 +vn -0.2023 0.9097 0.3626 +vn -0.1129 0.9309 0.3473 +vn -0.0495 0.9097 0.4123 +vn 0.0347 0.9196 0.3913 +vn 0.1013 0.8876 0.4493 +vn -0.3708 0.8472 0.3804 +vn -0.3152 0.8374 0.4466 +vn -0.2271 0.8694 0.4388 +vn -0.1637 0.8482 0.5037 +vn -0.0742 0.8694 0.4885 +vn -0.0075 0.8374 0.5466 +vn 0.0764 0.8472 0.5257 +vn 0.1415 0.8072 0.5731 +vn -0.4752 0.7537 0.4539 +vn -0.4194 0.7439 0.5203 +vn -0.3391 0.7838 0.5202 +vn -0.2757 0.7626 0.5852 +vn -0.1876 0.7947 0.5773 +vn -0.1209 0.7626 0.6355 +vn -0.0314 0.7838 0.6202 +vn 0.0334 0.7439 0.6675 +vn 0.1176 0.7537 0.6466 +vn 0.1763 0.7102 0.6815 +vn -0.5644 0.6472 0.5125 +vn -0.5082 0.6373 0.5793 +vn -0.4406 0.6806 0.5854 +vn -0.3771 0.6594 0.6504 +vn -0.2969 0.6993 0.6502 +vn -0.2302 0.6673 0.7084 +vn -0.1420 0.6993 0.7005 +vn -0.0772 0.6594 0.7478 +vn 0.0123 0.6806 0.7326 +vn 0.0707 0.6373 0.7674 +vn 0.1553 0.6472 0.7463 +vn 0.2045 0.6049 0.7696 +vn -0.6351 0.5369 0.5553 +vn -0.5789 0.5271 0.6221 +vn -0.5255 0.5694 0.6322 +vn -0.4623 0.5483 0.6968 +vn -0.3943 0.5919 0.7030 +vn -0.3277 0.5599 0.7610 +vn -0.2472 0.6000 0.7608 +vn -0.1822 0.5599 0.8083 +vn -0.0942 0.5919 0.8005 +vn -0.0356 0.5483 0.8355 +vn 0.0535 0.5694 0.8203 +vn 0.1027 0.5271 0.8436 +vn 0.1874 0.5369 0.8225 +vn 0.2262 0.4994 0.8363 +vn 0.0597 0.9973 0.0434 +vn 0.0985 0.9817 0.1630 +vn 0.1400 0.9461 0.2920 +vn 0.1822 0.8876 0.4230 +vn 0.2224 0.8072 0.5468 +vn 0.2579 0.7102 0.6550 +vn 0.2869 0.6049 0.7428 +vn 0.1045 0.9916 0.0759 +vn 0.1854 0.9817 0.0433 +vn 0.1530 0.9672 0.2026 +vn 0.2339 0.9573 0.1699 +vn 0.2399 0.9672 0.0829 +vn 0.3210 0.9461 0.0429 +vn 0.2020 0.9196 0.3370 +vn 0.2824 0.9097 0.3045 +vn 0.2955 0.9309 0.2147 +vn 0.3768 0.9097 0.1745 +vn 0.3829 0.9196 0.0879 +vn 0.4586 0.8876 0.0425 +vn 0.2472 0.8472 0.4702 +vn 0.3273 0.8374 0.4378 +vn 0.3472 0.8694 0.3515 +vn 0.4285 0.8482 0.3113 +vn 0.4416 0.8694 0.2215 +vn 0.5175 0.8374 0.1760 +vn 0.5236 0.8472 0.0898 +vn 0.5888 0.8072 0.0425 +vn 0.2849 0.7537 0.5922 +vn 0.3653 0.7439 0.5596 +vn 0.3900 0.7838 0.4833 +vn 0.4713 0.7626 0.4431 +vn 0.4911 0.7947 0.3568 +vn 0.5670 0.7626 0.3113 +vn 0.5801 0.7838 0.2215 +vn 0.6451 0.7439 0.1745 +vn 0.6513 0.7537 0.0879 +vn 0.7027 0.7102 0.0429 +vn 0.3130 0.6472 0.6951 +vn 0.3939 0.6373 0.6623 +vn 0.4206 0.6806 0.5999 +vn 0.5020 0.6594 0.5596 +vn 0.5267 0.6993 0.4833 +vn 0.6026 0.6673 0.4378 +vn 0.6224 0.6993 0.3515 +vn 0.6874 0.6594 0.3045 +vn 0.7005 0.6806 0.2147 +vn 0.7516 0.6373 0.1699 +vn 0.7578 0.6472 0.0829 +vn 0.7951 0.6049 0.0433 +vn 0.3318 0.5369 0.7756 +vn 0.4127 0.5271 0.7428 +vn 0.4388 0.5694 0.6951 +vn 0.5199 0.5483 0.6550 +vn 0.5468 0.5919 0.5922 +vn 0.6225 0.5599 0.5468 +vn 0.6472 0.6000 0.4702 +vn 0.7124 0.5599 0.4230 +vn 0.7322 0.5919 0.3370 +vn 0.7836 0.5483 0.2920 +vn 0.7967 0.5694 0.2026 +vn 0.8340 0.5271 0.1630 +vn 0.8402 0.5369 0.0759 +vn 0.8653 0.4994 0.0434 +vn 0.9022 0.4256 -0.0701 +vn 0.9338 0.3276 -0.1440 +vn 0.9511 0.2134 -0.2234 +vn 0.9487 0.0874 -0.3040 +vn 0.9238 -0.0427 -0.3805 +vn 0.8782 -0.1683 -0.4477 +vn 0.8173 -0.2821 -0.5024 +vn 0.9048 0.4078 -0.1228 +vn 0.8708 0.4535 -0.1897 +vn 0.9301 0.3025 -0.2081 +vn 0.8962 0.3482 -0.2749 +vn 0.8672 0.4284 -0.2538 +vn 0.8201 0.4753 -0.3185 +vn 0.9379 0.1804 -0.2962 +vn 0.9041 0.2259 -0.3626 +vn 0.8831 0.3154 -0.3473 +vn 0.8358 0.3626 -0.4123 +vn 0.8070 0.4423 -0.3913 +vn 0.7486 0.4875 -0.4493 +vn 0.9236 0.0472 -0.3804 +vn 0.8899 0.0925 -0.4466 +vn 0.8792 0.1857 -0.4388 +vn 0.8319 0.2329 -0.5037 +vn 0.8108 0.3224 -0.4885 +vn 0.7523 0.3678 -0.5466 +vn 0.7236 0.4472 -0.5257 +vn 0.6587 0.4875 -0.5731 +vn 0.8867 -0.0879 -0.4539 +vn 0.8529 -0.0424 -0.5203 +vn 0.8527 0.0472 -0.5202 +vn 0.8054 0.0944 -0.5852 +vn 0.7947 0.1876 -0.5773 +vn 0.7362 0.2329 -0.6355 +vn 0.7151 0.3224 -0.6202 +vn 0.6504 0.3626 -0.6675 +vn 0.6216 0.4423 -0.6466 +vn 0.5564 0.4754 -0.6815 +vn 0.8312 -0.2154 -0.5125 +vn 0.7973 -0.1696 -0.5793 +vn 0.8058 -0.0897 -0.5854 +vn 0.7584 -0.0424 -0.6504 +vn 0.7583 0.0472 -0.6502 +vn 0.6998 0.0925 -0.7084 +vn 0.6890 0.1857 -0.7005 +vn 0.6243 0.2259 -0.7478 +vn 0.6032 0.3154 -0.7326 +vn 0.5384 0.3482 -0.7674 +vn 0.5094 0.4284 -0.7464 +vn 0.4496 0.4535 -0.7696 +vn 0.7643 -0.3279 -0.5553 +vn 0.7304 -0.2821 -0.6221 +vn 0.7443 -0.2154 -0.6322 +vn 0.6972 -0.1683 -0.6968 +vn 0.7057 -0.0879 -0.7030 +vn 0.6473 -0.0427 -0.7610 +vn 0.6472 0.0472 -0.7608 +vn 0.5823 0.0874 -0.8083 +vn 0.5716 0.1804 -0.8005 +vn 0.5063 0.2134 -0.8355 +vn 0.4853 0.3025 -0.8203 +vn 0.4255 0.3276 -0.8436 +vn 0.3964 0.4078 -0.8225 +vn 0.3455 0.4256 -0.8363 +vn 0.2121 0.4256 -0.8797 +vn 0.1516 0.3276 -0.9326 +vn 0.0815 0.2134 -0.9736 +vn 0.0040 0.0874 -0.9962 +vn -0.0764 -0.0427 -0.9962 +vn -0.1544 -0.1683 -0.9736 +vn -0.2252 -0.2821 -0.9326 +vn 0.1628 0.4078 -0.8985 +vn 0.0886 0.4535 -0.8869 +vn 0.0895 0.3025 -0.9489 +vn 0.0155 0.3482 -0.9373 +vn 0.0266 0.4284 -0.9032 +vn -0.0495 0.4753 -0.8784 +vn 0.0081 0.1804 -0.9836 +vn -0.0655 0.2259 -0.9720 +vn -0.0574 0.3154 -0.9472 +vn -0.1339 0.3626 -0.9223 +vn -0.1228 0.4423 -0.8884 +vn -0.1960 0.4875 -0.8508 +vn -0.0764 0.0472 -0.9960 +vn -0.1497 0.0925 -0.9844 +vn -0.1456 0.1857 -0.9717 +vn -0.2220 0.2329 -0.9468 +vn -0.2140 0.3224 -0.9221 +vn -0.2874 0.3678 -0.8844 +vn -0.2764 0.4472 -0.8506 +vn -0.3415 0.4875 -0.8035 +vn -0.1577 -0.0879 -0.9836 +vn -0.2313 -0.0424 -0.9720 +vn -0.2313 0.0472 -0.9717 +vn -0.3076 0.0944 -0.9468 +vn -0.3035 0.1876 -0.9342 +vn -0.3769 0.2329 -0.8965 +vn -0.3689 0.3224 -0.8718 +vn -0.4338 0.3626 -0.8248 +vn -0.4228 0.4423 -0.7909 +vn -0.4763 0.4754 -0.7397 +vn -0.2306 -0.2154 -0.9489 +vn -0.3045 -0.1696 -0.9373 +vn -0.3078 -0.0897 -0.9472 +vn -0.3842 -0.0424 -0.9223 +vn -0.3841 0.0472 -0.9221 +vn -0.4575 0.0925 -0.8844 +vn -0.4533 0.1857 -0.8718 +vn -0.5183 0.2259 -0.8248 +vn -0.5103 0.3154 -0.8001 +vn -0.5634 0.3482 -0.7492 +vn -0.5524 0.4284 -0.7151 +vn -0.5930 0.4535 -0.6654 +vn -0.2919 -0.3279 -0.8985 +vn -0.3659 -0.2821 -0.8869 +vn -0.3712 -0.2154 -0.9032 +vn -0.4473 -0.1683 -0.8784 +vn -0.4505 -0.0879 -0.8884 +vn -0.5237 -0.0427 -0.8508 +vn -0.5236 0.0472 -0.8507 +vn -0.5888 0.0874 -0.8035 +vn -0.5847 0.1804 -0.7909 +vn -0.6382 0.2134 -0.7397 +vn -0.6302 0.3025 -0.7151 +vn -0.6708 0.3276 -0.6654 +vn -0.6598 0.4078 -0.6312 +vn -0.6887 0.4256 -0.5870 +vn -0.7711 0.4256 -0.4735 +vn -0.8401 0.3276 -0.4323 +vn -0.9007 0.2134 -0.3783 +vn -0.9462 0.0874 -0.3117 +vn -0.9710 -0.0427 -0.2352 +vn -0.9736 -0.1683 -0.1540 +vn -0.9565 -0.2821 -0.0740 +vn -0.8042 0.4078 -0.4324 +vn -0.8161 0.4535 -0.3584 +vn -0.8748 0.3025 -0.3784 +vn -0.8866 0.3482 -0.3043 +vn -0.8508 0.4284 -0.3044 +vn -0.8507 0.4753 -0.2244 +vn -0.9329 0.1804 -0.3116 +vn -0.9446 0.2259 -0.2381 +vn -0.9186 0.3154 -0.2381 +vn -0.9185 0.3626 -0.1577 +vn -0.8829 0.4423 -0.1577 +vn -0.8697 0.4875 -0.0765 +vn -0.9708 0.0472 -0.2351 +vn -0.9825 0.0925 -0.1618 +vn -0.9692 0.1857 -0.1618 +vn -0.9691 0.2329 -0.0814 +vn -0.9431 0.3224 -0.0814 +vn -0.9299 0.3678 -0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.8697 0.4875 0.0765 +vn -0.9842 -0.0879 -0.1539 +vn -0.9959 -0.0424 -0.0804 +vn -0.9956 0.0472 -0.0803 +vn -0.9955 0.0944 0.0000 +vn -0.9822 0.1876 -0.0000 +vn -0.9691 0.2329 0.0814 +vn -0.9431 0.3224 0.0814 +vn -0.9185 0.3626 0.1577 +vn -0.8829 0.4423 0.1577 +vn -0.8507 0.4753 0.2244 +vn -0.9737 -0.2154 -0.0740 +vn -0.9855 -0.1696 0.0000 +vn -0.9960 -0.0897 -0.0000 +vn -0.9959 -0.0424 0.0804 +vn -0.9956 0.0472 0.0803 +vn -0.9825 0.0925 0.1618 +vn -0.9692 0.1857 0.1618 +vn -0.9446 0.2259 0.2381 +vn -0.9186 0.3154 0.2381 +vn -0.8866 0.3482 0.3043 +vn -0.8508 0.4284 0.3044 +vn -0.8161 0.4535 0.3584 +vn -0.9447 -0.3279 -0.0000 +vn -0.9565 -0.2821 0.0740 +vn -0.9737 -0.2154 0.0740 +vn -0.9736 -0.1683 0.1540 +vn -0.9842 -0.0879 0.1539 +vn -0.9710 -0.0427 0.2352 +vn -0.9708 0.0472 0.2351 +vn -0.9462 0.0874 0.3117 +vn -0.9329 0.1804 0.3116 +vn -0.9007 0.2134 0.3783 +vn -0.8748 0.3025 0.3784 +vn -0.8401 0.3276 0.4323 +vn -0.8042 0.4078 0.4324 +vn -0.7711 0.4256 0.4735 +vn -0.6887 0.4256 0.5870 +vn -0.6708 0.3276 0.6654 +vn -0.6382 0.2134 0.7397 +vn -0.5888 0.0874 0.8035 +vn -0.5237 -0.0427 0.8508 +vn -0.4473 -0.1683 0.8784 +vn -0.3659 -0.2821 0.8869 +vn -0.6598 0.4078 0.6312 +vn -0.5930 0.4535 0.6654 +vn -0.6302 0.3025 0.7151 +vn -0.5634 0.3482 0.7492 +vn -0.5524 0.4284 0.7151 +vn -0.4763 0.4754 0.7397 +vn -0.5847 0.1804 0.7909 +vn -0.5183 0.2259 0.8248 +vn -0.5103 0.3154 0.8001 +vn -0.4338 0.3626 0.8248 +vn -0.4228 0.4423 0.7909 +vn -0.3415 0.4875 0.8035 +vn -0.5236 0.0472 0.8507 +vn -0.4575 0.0925 0.8844 +vn -0.4533 0.1857 0.8718 +vn -0.3769 0.2329 0.8965 +vn -0.3689 0.3224 0.8718 +vn -0.2874 0.3678 0.8844 +vn -0.2764 0.4472 0.8506 +vn -0.1960 0.4875 0.8508 +vn -0.4505 -0.0879 0.8884 +vn -0.3842 -0.0424 0.9223 +vn -0.3841 0.0472 0.9221 +vn -0.3076 0.0944 0.9468 +vn -0.3035 0.1876 0.9342 +vn -0.2220 0.2329 0.9468 +vn -0.2140 0.3224 0.9221 +vn -0.1339 0.3626 0.9223 +vn -0.1228 0.4423 0.8884 +vn -0.0495 0.4754 0.8784 +vn -0.3712 -0.2154 0.9032 +vn -0.3045 -0.1696 0.9373 +vn -0.3078 -0.0897 0.9472 +vn -0.2313 -0.0424 0.9720 +vn -0.2313 0.0472 0.9717 +vn -0.1497 0.0925 0.9844 +vn -0.1456 0.1857 0.9717 +vn -0.0655 0.2259 0.9720 +vn -0.0574 0.3154 0.9472 +vn 0.0155 0.3482 0.9373 +vn 0.0266 0.4284 0.9032 +vn 0.0886 0.4535 0.8869 +vn -0.2919 -0.3279 0.8985 +vn -0.2252 -0.2821 0.9326 +vn -0.2306 -0.2154 0.9489 +vn -0.1544 -0.1683 0.9736 +vn -0.1577 -0.0879 0.9836 +vn -0.0764 -0.0427 0.9962 +vn -0.0764 0.0472 0.9960 +vn 0.0040 0.0874 0.9962 +vn 0.0081 0.1804 0.9836 +vn 0.0815 0.2134 0.9736 +vn 0.0895 0.3025 0.9489 +vn 0.1516 0.3276 0.9326 +vn 0.1628 0.4078 0.8985 +vn 0.2121 0.4256 0.8797 +vn 0.3455 0.4256 0.8363 +vn 0.4255 0.3276 0.8436 +vn 0.5063 0.2134 0.8355 +vn 0.5823 0.0874 0.8083 +vn 0.6473 -0.0427 0.7610 +vn 0.6972 -0.1683 0.6968 +vn 0.7304 -0.2821 0.6221 +vn 0.3964 0.4078 0.8225 +vn 0.4496 0.4535 0.7696 +vn 0.4853 0.3025 0.8203 +vn 0.5384 0.3482 0.7674 +vn 0.5094 0.4284 0.7464 +vn 0.5564 0.4754 0.6815 +vn 0.5716 0.1804 0.8005 +vn 0.6243 0.2259 0.7478 +vn 0.6032 0.3154 0.7326 +vn 0.6504 0.3626 0.6675 +vn 0.6216 0.4423 0.6466 +vn 0.6587 0.4875 0.5731 +vn 0.6472 0.0472 0.7608 +vn 0.6998 0.0925 0.7084 +vn 0.6890 0.1857 0.7005 +vn 0.7362 0.2329 0.6355 +vn 0.7151 0.3224 0.6202 +vn 0.7523 0.3678 0.5466 +vn 0.7236 0.4472 0.5257 +vn 0.7486 0.4875 0.4493 +vn 0.7057 -0.0879 0.7030 +vn 0.7584 -0.0424 0.6504 +vn 0.7583 0.0472 0.6502 +vn 0.8054 0.0944 0.5852 +vn 0.7947 0.1876 0.5773 +vn 0.8319 0.2329 0.5037 +vn 0.8108 0.3224 0.4885 +vn 0.8358 0.3626 0.4123 +vn 0.8070 0.4423 0.3913 +vn 0.8201 0.4753 0.3185 +vn 0.7443 -0.2154 0.6322 +vn 0.7973 -0.1696 0.5793 +vn 0.8058 -0.0897 0.5854 +vn 0.8529 -0.0424 0.5203 +vn 0.8527 0.0472 0.5202 +vn 0.8899 0.0925 0.4466 +vn 0.8792 0.1857 0.4388 +vn 0.9041 0.2259 0.3626 +vn 0.8831 0.3154 0.3473 +vn 0.8962 0.3482 0.2749 +vn 0.8672 0.4284 0.2538 +vn 0.8708 0.4535 0.1897 +vn 0.7643 -0.3279 0.5553 +vn 0.8173 -0.2821 0.5024 +vn 0.8312 -0.2154 0.5125 +vn 0.8782 -0.1683 0.4477 +vn 0.8867 -0.0879 0.4540 +vn 0.9238 -0.0427 0.3805 +vn 0.9236 0.0472 0.3804 +vn 0.9487 0.0874 0.3040 +vn 0.9379 0.1804 0.2962 +vn 0.9511 0.2134 0.2234 +vn 0.9301 0.3025 0.2081 +vn 0.9338 0.3276 0.1440 +vn 0.9048 0.4078 0.1228 +vn 0.9022 0.4256 0.0701 +vn 0.2858 0.3800 -0.8797 +vn 0.3659 0.2821 -0.8869 +vn 0.4473 0.1683 -0.8784 +vn 0.5237 0.0427 -0.8508 +vn 0.5888 -0.0874 -0.8035 +vn 0.6382 -0.2134 -0.7397 +vn 0.6708 -0.3276 -0.6654 +vn 0.2919 0.3279 -0.8985 +vn 0.2252 0.2821 -0.9326 +vn 0.3712 0.2154 -0.9032 +vn 0.3045 0.1696 -0.9373 +vn 0.2306 0.2154 -0.9489 +vn 0.1544 0.1683 -0.9736 +vn 0.4505 0.0879 -0.8884 +vn 0.3842 0.0424 -0.9223 +vn 0.3078 0.0897 -0.9472 +vn 0.2313 0.0424 -0.9720 +vn 0.1577 0.0879 -0.9836 +vn 0.0764 0.0427 -0.9962 +vn 0.5236 -0.0472 -0.8507 +vn 0.4575 -0.0925 -0.8844 +vn 0.3841 -0.0472 -0.9221 +vn 0.3076 -0.0944 -0.9468 +vn 0.2313 -0.0472 -0.9717 +vn 0.1497 -0.0925 -0.9844 +vn 0.0764 -0.0472 -0.9960 +vn -0.0040 -0.0874 -0.9962 +vn 0.5847 -0.1804 -0.7909 +vn 0.5183 -0.2259 -0.8248 +vn 0.4533 -0.1857 -0.8718 +vn 0.3769 -0.2329 -0.8965 +vn 0.3035 -0.1876 -0.9342 +vn 0.2220 -0.2329 -0.9468 +vn 0.1456 -0.1857 -0.9717 +vn 0.0655 -0.2259 -0.9720 +vn -0.0081 -0.1804 -0.9836 +vn -0.0815 -0.2134 -0.9736 +vn 0.6302 -0.3025 -0.7151 +vn 0.5634 -0.3482 -0.7492 +vn 0.5103 -0.3154 -0.8001 +vn 0.4338 -0.3626 -0.8248 +vn 0.3689 -0.3224 -0.8718 +vn 0.2874 -0.3678 -0.8844 +vn 0.2140 -0.3224 -0.9221 +vn 0.1339 -0.3626 -0.9223 +vn 0.0574 -0.3154 -0.9472 +vn -0.0155 -0.3482 -0.9373 +vn -0.0895 -0.3025 -0.9489 +vn -0.1516 -0.3276 -0.9326 +vn 0.6598 -0.4078 -0.6312 +vn 0.5930 -0.4535 -0.6654 +vn 0.5524 -0.4284 -0.7151 +vn 0.4763 -0.4754 -0.7397 +vn 0.4228 -0.4423 -0.7909 +vn 0.3415 -0.4875 -0.8035 +vn 0.2764 -0.4472 -0.8506 +vn 0.1960 -0.4875 -0.8508 +vn 0.1228 -0.4423 -0.8884 +vn 0.0495 -0.4753 -0.8784 +vn -0.0266 -0.4284 -0.9032 +vn -0.0886 -0.4535 -0.8869 +vn -0.1628 -0.4078 -0.8985 +vn -0.2121 -0.4256 -0.8797 +vn -0.7483 0.3800 -0.5437 +vn -0.7304 0.2821 -0.6221 +vn -0.6972 0.1683 -0.6968 +vn -0.6473 0.0427 -0.7610 +vn -0.5823 -0.0874 -0.8083 +vn -0.5063 -0.2134 -0.8355 +vn -0.4255 -0.3276 -0.8436 +vn -0.7643 0.3279 -0.5553 +vn -0.8173 0.2821 -0.5024 +vn -0.7443 0.2154 -0.6322 +vn -0.7973 0.1696 -0.5793 +vn -0.8312 0.2154 -0.5125 +vn -0.8782 0.1683 -0.4477 +vn -0.7057 0.0879 -0.7030 +vn -0.7584 0.0424 -0.6504 +vn -0.8058 0.0897 -0.5854 +vn -0.8529 0.0424 -0.5203 +vn -0.8867 0.0879 -0.4539 +vn -0.9238 0.0427 -0.3805 +vn -0.6472 -0.0472 -0.7608 +vn -0.6998 -0.0925 -0.7084 +vn -0.7583 -0.0472 -0.6502 +vn -0.8054 -0.0944 -0.5852 +vn -0.8527 -0.0472 -0.5202 +vn -0.8899 -0.0925 -0.4466 +vn -0.9236 -0.0472 -0.3804 +vn -0.9487 -0.0874 -0.3040 +vn -0.5716 -0.1804 -0.8005 +vn -0.6243 -0.2259 -0.7478 +vn -0.6890 -0.1857 -0.7005 +vn -0.7362 -0.2329 -0.6355 +vn -0.7947 -0.1876 -0.5773 +vn -0.8319 -0.2329 -0.5038 +vn -0.8792 -0.1857 -0.4388 +vn -0.9041 -0.2259 -0.3626 +vn -0.9379 -0.1804 -0.2962 +vn -0.9511 -0.2134 -0.2234 +vn -0.4853 -0.3025 -0.8203 +vn -0.5384 -0.3482 -0.7674 +vn -0.6032 -0.3154 -0.7326 +vn -0.6504 -0.3626 -0.6675 +vn -0.7151 -0.3224 -0.6202 +vn -0.7523 -0.3678 -0.5466 +vn -0.8108 -0.3224 -0.4885 +vn -0.8358 -0.3626 -0.4123 +vn -0.8831 -0.3154 -0.3473 +vn -0.8962 -0.3482 -0.2749 +vn -0.9301 -0.3025 -0.2081 +vn -0.9338 -0.3276 -0.1440 +vn -0.3964 -0.4078 -0.8225 +vn -0.4496 -0.4535 -0.7696 +vn -0.5094 -0.4284 -0.7464 +vn -0.5564 -0.4754 -0.6815 +vn -0.6216 -0.4423 -0.6466 +vn -0.6587 -0.4875 -0.5731 +vn -0.7236 -0.4472 -0.5257 +vn -0.7486 -0.4875 -0.4493 +vn -0.8070 -0.4423 -0.3913 +vn -0.8201 -0.4753 -0.3185 +vn -0.8672 -0.4284 -0.2538 +vn -0.8708 -0.4535 -0.1897 +vn -0.9048 -0.4078 -0.1228 +vn -0.9022 -0.4256 -0.0701 +vn -0.7483 0.3800 0.5437 +vn -0.8173 0.2821 0.5024 +vn -0.8782 0.1683 0.4477 +vn -0.9238 0.0427 0.3805 +vn -0.9487 -0.0874 0.3040 +vn -0.9511 -0.2134 0.2234 +vn -0.9338 -0.3276 0.1440 +vn -0.7643 0.3279 0.5553 +vn -0.7304 0.2821 0.6221 +vn -0.8312 0.2154 0.5125 +vn -0.7973 0.1696 0.5793 +vn -0.7443 0.2154 0.6322 +vn -0.6972 0.1683 0.6968 +vn -0.8867 0.0879 0.4540 +vn -0.8529 0.0424 0.5203 +vn -0.8058 0.0897 0.5854 +vn -0.7584 0.0424 0.6504 +vn -0.7057 0.0879 0.7030 +vn -0.6473 0.0427 0.7610 +vn -0.9236 -0.0472 0.3804 +vn -0.8899 -0.0925 0.4466 +vn -0.8527 -0.0472 0.5202 +vn -0.8054 -0.0944 0.5852 +vn -0.7583 -0.0472 0.6502 +vn -0.6998 -0.0925 0.7084 +vn -0.6472 -0.0472 0.7608 +vn -0.5823 -0.0874 0.8083 +vn -0.9379 -0.1804 0.2962 +vn -0.9041 -0.2259 0.3626 +vn -0.8792 -0.1857 0.4388 +vn -0.8319 -0.2329 0.5038 +vn -0.7947 -0.1876 0.5773 +vn -0.7362 -0.2329 0.6355 +vn -0.6890 -0.1857 0.7005 +vn -0.6243 -0.2259 0.7478 +vn -0.5716 -0.1804 0.8005 +vn -0.5063 -0.2134 0.8355 +vn -0.9301 -0.3025 0.2081 +vn -0.8962 -0.3482 0.2749 +vn -0.8831 -0.3154 0.3473 +vn -0.8358 -0.3626 0.4123 +vn -0.8108 -0.3224 0.4885 +vn -0.7523 -0.3678 0.5466 +vn -0.7151 -0.3224 0.6202 +vn -0.6504 -0.3626 0.6675 +vn -0.6032 -0.3154 0.7326 +vn -0.5384 -0.3482 0.7674 +vn -0.4853 -0.3025 0.8203 +vn -0.4255 -0.3276 0.8436 +vn -0.9048 -0.4078 0.1228 +vn -0.8708 -0.4535 0.1897 +vn -0.8672 -0.4284 0.2538 +vn -0.8201 -0.4753 0.3185 +vn -0.8070 -0.4423 0.3913 +vn -0.7486 -0.4875 0.4493 +vn -0.7236 -0.4472 0.5257 +vn -0.6587 -0.4875 0.5731 +vn -0.6216 -0.4423 0.6466 +vn -0.5564 -0.4754 0.6815 +vn -0.5094 -0.4284 0.7464 +vn -0.4496 -0.4535 0.7696 +vn -0.3964 -0.4078 0.8225 +vn -0.3455 -0.4256 0.8364 +vn 0.2858 0.3800 0.8797 +vn 0.2252 0.2821 0.9326 +vn 0.1544 0.1683 0.9736 +vn 0.0764 0.0427 0.9962 +vn -0.0040 -0.0874 0.9962 +vn -0.0815 -0.2134 0.9736 +vn -0.1516 -0.3276 0.9326 +vn 0.2919 0.3279 0.8985 +vn 0.3659 0.2821 0.8869 +vn 0.2306 0.2154 0.9489 +vn 0.3045 0.1696 0.9373 +vn 0.3712 0.2154 0.9032 +vn 0.4473 0.1683 0.8784 +vn 0.1577 0.0879 0.9836 +vn 0.2313 0.0424 0.9720 +vn 0.3078 0.0897 0.9472 +vn 0.3842 0.0424 0.9223 +vn 0.4505 0.0879 0.8884 +vn 0.5237 0.0427 0.8508 +vn 0.0764 -0.0472 0.9960 +vn 0.1497 -0.0925 0.9844 +vn 0.2313 -0.0472 0.9717 +vn 0.3076 -0.0944 0.9468 +vn 0.3841 -0.0472 0.9221 +vn 0.4575 -0.0925 0.8844 +vn 0.5236 -0.0472 0.8507 +vn 0.5888 -0.0874 0.8035 +vn -0.0081 -0.1804 0.9836 +vn 0.0655 -0.2259 0.9720 +vn 0.1456 -0.1857 0.9717 +vn 0.2220 -0.2329 0.9468 +vn 0.3035 -0.1876 0.9342 +vn 0.3769 -0.2329 0.8965 +vn 0.4533 -0.1857 0.8718 +vn 0.5183 -0.2259 0.8248 +vn 0.5847 -0.1804 0.7909 +vn 0.6382 -0.2134 0.7397 +vn -0.0895 -0.3025 0.9489 +vn -0.0155 -0.3482 0.9373 +vn 0.0574 -0.3154 0.9472 +vn 0.1339 -0.3626 0.9223 +vn 0.2140 -0.3224 0.9221 +vn 0.2874 -0.3678 0.8844 +vn 0.3689 -0.3224 0.8718 +vn 0.4338 -0.3626 0.8248 +vn 0.5103 -0.3154 0.8001 +vn 0.5634 -0.3482 0.7492 +vn 0.6302 -0.3025 0.7151 +vn 0.6708 -0.3276 0.6654 +vn -0.1628 -0.4078 0.8985 +vn -0.0886 -0.4535 0.8869 +vn -0.0266 -0.4284 0.9032 +vn 0.0495 -0.4753 0.8784 +vn 0.1228 -0.4423 0.8884 +vn 0.1960 -0.4875 0.8508 +vn 0.2764 -0.4472 0.8506 +vn 0.3415 -0.4875 0.8035 +vn 0.4228 -0.4423 0.7909 +vn 0.4763 -0.4754 0.7397 +vn 0.5524 -0.4284 0.7151 +vn 0.5930 -0.4535 0.6654 +vn 0.6598 -0.4078 0.6312 +vn 0.6887 -0.4256 0.5870 +vn 0.9250 0.3800 0.0000 +vn 0.9565 0.2821 0.0740 +vn 0.9736 0.1683 0.1540 +vn 0.9710 0.0427 0.2352 +vn 0.9462 -0.0874 0.3117 +vn 0.9007 -0.2134 0.3783 +vn 0.8401 -0.3276 0.4323 +vn 0.9447 0.3279 0.0000 +vn 0.9565 0.2821 -0.0740 +vn 0.9737 0.2154 0.0740 +vn 0.9855 0.1696 0.0000 +vn 0.9737 0.2154 -0.0740 +vn 0.9736 0.1683 -0.1540 +vn 0.9842 0.0879 0.1539 +vn 0.9959 0.0424 0.0804 +vn 0.9960 0.0897 0.0000 +vn 0.9959 0.0424 -0.0804 +vn 0.9842 0.0879 -0.1539 +vn 0.9710 0.0427 -0.2352 +vn 0.9708 -0.0472 0.2351 +vn 0.9825 -0.0925 0.1618 +vn 0.9956 -0.0472 0.0803 +vn 0.9955 -0.0944 -0.0000 +vn 0.9956 -0.0472 -0.0803 +vn 0.9825 -0.0925 -0.1618 +vn 0.9708 -0.0472 -0.2351 +vn 0.9462 -0.0874 -0.3117 +vn 0.9329 -0.1804 0.3116 +vn 0.9446 -0.2259 0.2381 +vn 0.9692 -0.1857 0.1618 +vn 0.9691 -0.2329 0.0814 +vn 0.9822 -0.1876 -0.0000 +vn 0.9691 -0.2329 -0.0814 +vn 0.9692 -0.1857 -0.1618 +vn 0.9446 -0.2259 -0.2381 +vn 0.9329 -0.1804 -0.3116 +vn 0.9007 -0.2134 -0.3783 +vn 0.8748 -0.3025 0.3784 +vn 0.8866 -0.3482 0.3043 +vn 0.9186 -0.3154 0.2381 +vn 0.9185 -0.3626 0.1577 +vn 0.9431 -0.3224 0.0814 +vn 0.9299 -0.3678 0.0000 +vn 0.9431 -0.3224 -0.0814 +vn 0.9185 -0.3626 -0.1577 +vn 0.9186 -0.3154 -0.2381 +vn 0.8866 -0.3482 -0.3043 +vn 0.8748 -0.3025 -0.3784 +vn 0.8401 -0.3276 -0.4323 +vn 0.8042 -0.4078 0.4324 +vn 0.8161 -0.4535 0.3584 +vn 0.8508 -0.4284 0.3044 +vn 0.8507 -0.4753 0.2244 +vn 0.8829 -0.4423 0.1577 +vn 0.8697 -0.4875 0.0765 +vn 0.8944 -0.4472 0.0000 +vn 0.8697 -0.4875 -0.0765 +vn 0.8829 -0.4423 -0.1577 +vn 0.8507 -0.4753 -0.2244 +vn 0.8508 -0.4284 -0.3044 +vn 0.8161 -0.4535 -0.3584 +vn 0.8042 -0.4078 -0.4324 +vn 0.7711 -0.4256 -0.4735 +vn 0.6746 -0.4994 -0.5437 +vn 0.6178 -0.6049 -0.5024 +vn 0.5433 -0.7102 -0.4477 +vn 0.4513 -0.8072 -0.3805 +vn 0.3460 -0.8876 -0.3040 +vn 0.2345 -0.9461 -0.2234 +vn 0.1246 -0.9817 -0.1440 +vn 0.6351 -0.5369 -0.5553 +vn 0.5789 -0.5271 -0.6221 +vn 0.5644 -0.6472 -0.5125 +vn 0.5082 -0.6373 -0.5793 +vn 0.5255 -0.5694 -0.6322 +vn 0.4623 -0.5483 -0.6968 +vn 0.4752 -0.7537 -0.4539 +vn 0.4194 -0.7439 -0.5203 +vn 0.4406 -0.6806 -0.5854 +vn 0.3771 -0.6594 -0.6504 +vn 0.3943 -0.5919 -0.7030 +vn 0.3277 -0.5599 -0.7610 +vn 0.3708 -0.8472 -0.3804 +vn 0.3152 -0.8374 -0.4466 +vn 0.3391 -0.7838 -0.5202 +vn 0.2757 -0.7626 -0.5852 +vn 0.2969 -0.6993 -0.6502 +vn 0.2302 -0.6673 -0.7084 +vn 0.2472 -0.6000 -0.7608 +vn 0.1822 -0.5599 -0.8083 +vn 0.2581 -0.9196 -0.2962 +vn 0.2023 -0.9097 -0.3626 +vn 0.2271 -0.8694 -0.4388 +vn 0.1637 -0.8482 -0.5037 +vn 0.1876 -0.7947 -0.5773 +vn 0.1209 -0.7626 -0.6355 +vn 0.1420 -0.6993 -0.7005 +vn 0.0772 -0.6594 -0.7478 +vn 0.0942 -0.5919 -0.8005 +vn 0.0356 -0.5483 -0.8355 +vn 0.1454 -0.9672 -0.2081 +vn 0.0893 -0.9573 -0.2749 +vn 0.1129 -0.9309 -0.3473 +vn 0.0495 -0.9097 -0.4123 +vn 0.0742 -0.8694 -0.4885 +vn 0.0075 -0.8374 -0.5466 +vn 0.0314 -0.7838 -0.6202 +vn -0.0334 -0.7439 -0.6675 +vn -0.0123 -0.6806 -0.7326 +vn -0.0707 -0.6373 -0.7674 +vn -0.0535 -0.5694 -0.8203 +vn -0.1027 -0.5271 -0.8436 +vn 0.0399 -0.9916 -0.1228 +vn -0.0161 -0.9817 -0.1897 +vn 0.0047 -0.9672 -0.2538 +vn -0.0584 -0.9461 -0.3185 +vn -0.0347 -0.9196 -0.3913 +vn -0.1013 -0.8876 -0.4493 +vn -0.0764 -0.8472 -0.5257 +vn -0.1415 -0.8072 -0.5731 +vn -0.1176 -0.7537 -0.6466 +vn -0.1763 -0.7102 -0.6815 +vn -0.1553 -0.6472 -0.7464 +vn -0.2045 -0.6049 -0.7696 +vn -0.1874 -0.5369 -0.8225 +vn -0.2262 -0.4994 -0.8363 +vn -0.3086 -0.4994 -0.8096 +vn -0.2869 -0.6049 -0.7428 +vn -0.2579 -0.7102 -0.6550 +vn -0.2224 -0.8072 -0.5468 +vn -0.1822 -0.8876 -0.4230 +vn -0.1400 -0.9461 -0.2920 +vn -0.0985 -0.9817 -0.1630 +vn -0.3318 -0.5369 -0.7756 +vn -0.4127 -0.5271 -0.7428 +vn -0.3130 -0.6472 -0.6951 +vn -0.3939 -0.6373 -0.6623 +vn -0.4389 -0.5694 -0.6951 +vn -0.5199 -0.5483 -0.6550 +vn -0.2849 -0.7537 -0.5922 +vn -0.3653 -0.7439 -0.5596 +vn -0.4206 -0.6806 -0.5999 +vn -0.5020 -0.6594 -0.5596 +vn -0.5468 -0.5919 -0.5922 +vn -0.6225 -0.5599 -0.5468 +vn -0.2472 -0.8472 -0.4702 +vn -0.3273 -0.8374 -0.4378 +vn -0.3900 -0.7838 -0.4833 +vn -0.4713 -0.7626 -0.4431 +vn -0.5267 -0.6993 -0.4833 +vn -0.6026 -0.6673 -0.4378 +vn -0.6472 -0.6000 -0.4702 +vn -0.7124 -0.5599 -0.4230 +vn -0.2020 -0.9196 -0.3370 +vn -0.2824 -0.9097 -0.3045 +vn -0.3472 -0.8694 -0.3515 +vn -0.4285 -0.8482 -0.3113 +vn -0.4911 -0.7947 -0.3568 +vn -0.5670 -0.7626 -0.3113 +vn -0.6224 -0.6993 -0.3515 +vn -0.6874 -0.6594 -0.3045 +vn -0.7322 -0.5919 -0.3370 +vn -0.7836 -0.5483 -0.2920 +vn -0.1530 -0.9672 -0.2026 +vn -0.2339 -0.9573 -0.1699 +vn -0.2955 -0.9309 -0.2147 +vn -0.3768 -0.9097 -0.1745 +vn -0.4416 -0.8694 -0.2215 +vn -0.5175 -0.8374 -0.1760 +vn -0.5801 -0.7838 -0.2215 +vn -0.6451 -0.7439 -0.1745 +vn -0.7005 -0.6806 -0.2147 +vn -0.7516 -0.6373 -0.1699 +vn -0.7967 -0.5694 -0.2026 +vn -0.8340 -0.5271 -0.1630 +vn -0.1045 -0.9916 -0.0759 +vn -0.1854 -0.9817 -0.0433 +vn -0.2399 -0.9672 -0.0829 +vn -0.3210 -0.9461 -0.0429 +vn -0.3829 -0.9196 -0.0879 +vn -0.4586 -0.8876 -0.0425 +vn -0.5236 -0.8472 -0.0898 +vn -0.5888 -0.8072 -0.0425 +vn -0.6513 -0.7537 -0.0879 +vn -0.7027 -0.7102 -0.0429 +vn -0.7578 -0.6472 -0.0829 +vn -0.7951 -0.6049 -0.0433 +vn -0.8402 -0.5369 -0.0759 +vn -0.8653 -0.4994 -0.0434 +vn -0.8653 -0.4994 0.0434 +vn -0.7951 -0.6049 0.0433 +vn -0.7027 -0.7102 0.0429 +vn -0.5888 -0.8072 0.0425 +vn -0.4586 -0.8876 0.0425 +vn -0.3210 -0.9461 0.0429 +vn -0.1854 -0.9817 0.0433 +vn -0.8402 -0.5369 0.0759 +vn -0.8340 -0.5271 0.1630 +vn -0.7578 -0.6472 0.0829 +vn -0.7516 -0.6373 0.1699 +vn -0.7967 -0.5694 0.2026 +vn -0.7836 -0.5483 0.2920 +vn -0.6513 -0.7537 0.0879 +vn -0.6451 -0.7439 0.1745 +vn -0.7005 -0.6806 0.2147 +vn -0.6874 -0.6594 0.3045 +vn -0.7322 -0.5919 0.3370 +vn -0.7124 -0.5599 0.4230 +vn -0.5236 -0.8472 0.0898 +vn -0.5175 -0.8374 0.1760 +vn -0.5801 -0.7838 0.2215 +vn -0.5670 -0.7626 0.3113 +vn -0.6224 -0.6993 0.3515 +vn -0.6026 -0.6673 0.4378 +vn -0.6472 -0.6000 0.4702 +vn -0.6225 -0.5599 0.5468 +vn -0.3829 -0.9196 0.0879 +vn -0.3768 -0.9097 0.1745 +vn -0.4416 -0.8694 0.2215 +vn -0.4285 -0.8482 0.3113 +vn -0.4911 -0.7947 0.3568 +vn -0.4713 -0.7626 0.4431 +vn -0.5267 -0.6993 0.4833 +vn -0.5020 -0.6594 0.5596 +vn -0.5468 -0.5919 0.5922 +vn -0.5199 -0.5483 0.6550 +vn -0.2399 -0.9672 0.0829 +vn -0.2339 -0.9573 0.1699 +vn -0.2955 -0.9309 0.2147 +vn -0.2824 -0.9097 0.3045 +vn -0.3472 -0.8694 0.3515 +vn -0.3273 -0.8374 0.4378 +vn -0.3900 -0.7838 0.4833 +vn -0.3653 -0.7439 0.5596 +vn -0.4206 -0.6806 0.5999 +vn -0.3939 -0.6373 0.6623 +vn -0.4388 -0.5694 0.6951 +vn -0.4127 -0.5271 0.7428 +vn -0.1045 -0.9916 0.0759 +vn -0.0985 -0.9817 0.1630 +vn -0.1530 -0.9672 0.2026 +vn -0.1400 -0.9461 0.2920 +vn -0.2020 -0.9196 0.3370 +vn -0.1822 -0.8876 0.4230 +vn -0.2472 -0.8472 0.4702 +vn -0.2224 -0.8072 0.5468 +vn -0.2849 -0.7537 0.5922 +vn -0.2579 -0.7102 0.6550 +vn -0.3130 -0.6472 0.6951 +vn -0.2869 -0.6049 0.7428 +vn -0.3318 -0.5369 0.7756 +vn -0.3086 -0.4994 0.8096 +vn 0.7255 -0.4994 -0.4735 +vn 0.7705 -0.5271 -0.3584 +vn 0.8056 -0.5483 -0.2244 +vn 0.8250 -0.5599 -0.0765 +vn 0.8250 -0.5599 0.0765 +vn 0.8056 -0.5483 0.2244 +vn 0.7705 -0.5271 0.3584 +vn 0.7244 -0.5369 -0.4324 +vn 0.6687 -0.6049 -0.4323 +vn 0.7636 -0.5694 -0.3044 +vn 0.7080 -0.6373 -0.3043 +vn 0.6618 -0.6472 -0.3784 +vn 0.5937 -0.7102 -0.3783 +vn 0.7904 -0.5919 -0.1577 +vn 0.7351 -0.6594 -0.1577 +vn 0.6929 -0.6806 -0.2381 +vn 0.6245 -0.7439 -0.2381 +vn 0.5786 -0.7537 -0.3116 +vn 0.5013 -0.8072 -0.3117 +vn 0.8000 -0.6000 0.0000 +vn 0.7448 -0.6673 0.0000 +vn 0.7101 -0.6993 -0.0814 +vn 0.6417 -0.7626 -0.0814 +vn 0.5996 -0.7838 -0.1618 +vn 0.5221 -0.8374 -0.1618 +vn 0.4764 -0.8472 -0.2351 +vn 0.3960 -0.8876 -0.2352 +vn 0.7904 -0.5919 0.1577 +vn 0.7351 -0.6594 0.1577 +vn 0.7101 -0.6993 0.0814 +vn 0.6417 -0.7626 0.0814 +vn 0.6071 -0.7947 0.0000 +vn 0.5297 -0.8482 0.0000 +vn 0.4875 -0.8694 -0.0803 +vn 0.4074 -0.9097 -0.0804 +vn 0.3615 -0.9196 -0.1539 +vn 0.2849 -0.9461 -0.1540 +vn 0.7636 -0.5694 0.3044 +vn 0.7080 -0.6373 0.3043 +vn 0.6929 -0.6806 0.2381 +vn 0.6245 -0.7439 0.2381 +vn 0.5996 -0.7838 0.1618 +vn 0.5222 -0.8374 0.1618 +vn 0.4875 -0.8694 0.0803 +vn 0.4074 -0.9097 0.0804 +vn 0.3652 -0.9309 0.0000 +vn 0.2891 -0.9573 0.0000 +vn 0.2428 -0.9672 -0.0740 +vn 0.1755 -0.9817 -0.0740 +vn 0.7244 -0.5369 0.4324 +vn 0.6687 -0.6049 0.4323 +vn 0.6618 -0.6472 0.3784 +vn 0.5937 -0.7102 0.3783 +vn 0.5786 -0.7537 0.3116 +vn 0.5013 -0.8072 0.3117 +vn 0.4764 -0.8472 0.2351 +vn 0.3960 -0.8876 0.2352 +vn 0.3615 -0.9196 0.1539 +vn 0.2849 -0.9461 0.1540 +vn 0.2428 -0.9672 0.0740 +vn 0.1755 -0.9817 0.0740 +vn 0.1292 -0.9916 0.0000 +vn 0.0738 -0.9973 0.0000 +vn -0.2262 -0.4994 0.8363 +vn -0.2045 -0.6049 0.7696 +vn -0.1763 -0.7102 0.6815 +vn -0.1415 -0.8072 0.5731 +vn -0.1013 -0.8876 0.4493 +vn -0.0584 -0.9461 0.3185 +vn -0.0161 -0.9817 0.1897 +vn -0.1874 -0.5369 0.8225 +vn -0.1027 -0.5271 0.8436 +vn -0.1553 -0.6472 0.7463 +vn -0.0707 -0.6373 0.7674 +vn -0.0535 -0.5694 0.8203 +vn 0.0356 -0.5483 0.8355 +vn -0.1176 -0.7537 0.6466 +vn -0.0334 -0.7439 0.6675 +vn -0.0123 -0.6806 0.7326 +vn 0.0772 -0.6594 0.7478 +vn 0.0942 -0.5919 0.8005 +vn 0.1822 -0.5599 0.8083 +vn -0.0764 -0.8472 0.5257 +vn 0.0075 -0.8374 0.5466 +vn 0.0314 -0.7838 0.6202 +vn 0.1209 -0.7626 0.6355 +vn 0.1420 -0.6993 0.7005 +vn 0.2302 -0.6673 0.7084 +vn 0.2472 -0.6000 0.7608 +vn 0.3277 -0.5599 0.7610 +vn -0.0347 -0.9196 0.3913 +vn 0.0495 -0.9097 0.4123 +vn 0.0742 -0.8694 0.4885 +vn 0.1637 -0.8482 0.5037 +vn 0.1876 -0.7947 0.5773 +vn 0.2757 -0.7626 0.5852 +vn 0.2969 -0.6993 0.6502 +vn 0.3771 -0.6594 0.6504 +vn 0.3943 -0.5919 0.7030 +vn 0.4623 -0.5483 0.6968 +vn 0.0047 -0.9672 0.2538 +vn 0.0893 -0.9573 0.2749 +vn 0.1129 -0.9309 0.3473 +vn 0.2023 -0.9097 0.3626 +vn 0.2271 -0.8694 0.4388 +vn 0.3152 -0.8374 0.4466 +vn 0.3391 -0.7838 0.5202 +vn 0.4194 -0.7439 0.5203 +vn 0.4406 -0.6806 0.5854 +vn 0.5082 -0.6373 0.5793 +vn 0.5255 -0.5694 0.6322 +vn 0.5789 -0.5271 0.6221 +vn 0.0399 -0.9916 0.1228 +vn 0.1246 -0.9817 0.1440 +vn 0.1454 -0.9672 0.2081 +vn 0.2345 -0.9461 0.2234 +vn 0.2581 -0.9196 0.2962 +vn 0.3460 -0.8876 0.3040 +vn 0.3708 -0.8472 0.3804 +vn 0.4513 -0.8072 0.3805 +vn 0.4752 -0.7537 0.4539 +vn 0.5433 -0.7102 0.4477 +vn 0.5644 -0.6472 0.5125 +vn 0.6178 -0.6049 0.5024 +vn 0.6351 -0.5369 0.5553 +vn 0.6746 -0.4994 0.5437 +usemtl None +s off +f 1//1 20//1 19//1 +f 2//2 26//2 40//2 +f 1//3 19//3 54//3 +f 1//4 54//4 68//4 +f 1//5 68//5 41//5 +f 2//6 40//6 89//6 +f 3//7 33//7 103//7 +f 4//8 61//8 117//8 +f 5//9 75//9 131//9 +f 6//10 82//10 145//10 +f 2//11 89//11 104//11 +f 3//12 103//12 118//12 +f 4//13 117//13 132//13 +f 5//14 131//14 146//14 +f 6//15 145//15 90//15 +f 7//16 159//16 194//16 +f 8//17 166//17 208//17 +f 9//18 173//18 215//18 +f 10//19 180//19 222//19 +f 11//20 187//20 195//20 +f 201//21 216//21 12//21 +f 200//22 223//22 201//22 +f 199//23 224//23 200//23 +f 198//24 226//24 199//24 +f 197//25 229//25 198//25 +f 196//26 233//26 197//26 +f 195//27 238//27 196//27 +f 201//28 223//28 216//28 +f 223//29 217//29 216//29 +f 200//30 224//30 223//30 +f 224//31 225//31 223//31 +f 223//32 225//32 217//32 +f 225//33 218//33 217//33 +f 199//34 226//34 224//34 +f 226//35 227//35 224//35 +f 224//36 227//36 225//36 +f 227//37 228//37 225//37 +f 225//38 228//38 218//38 +f 228//39 219//39 218//39 +f 198//40 229//40 226//40 +f 229//41 230//41 226//41 +f 226//42 230//42 227//42 +f 230//43 231//43 227//43 +f 227//44 231//44 228//44 +f 231//45 232//45 228//45 +f 228//46 232//46 219//46 +f 232//47 220//47 219//47 +f 197//48 233//48 229//48 +f 233//49 234//49 229//49 +f 229//50 234//50 230//50 +f 234//51 235//51 230//51 +f 230//52 235//52 231//52 +f 235//53 236//53 231//53 +f 231//54 236//54 232//54 +f 236//55 237//55 232//55 +f 232//56 237//56 220//56 +f 237//57 221//57 220//57 +f 196//58 238//58 233//58 +f 238//59 239//59 233//59 +f 233//60 239//60 234//60 +f 239//61 240//61 234//61 +f 234//62 240//62 235//62 +f 240//63 241//63 235//63 +f 235//64 241//64 236//64 +f 241//65 242//65 236//65 +f 236//66 242//66 237//66 +f 242//67 243//67 237//67 +f 237//68 243//68 221//68 +f 243//69 222//69 221//69 +f 195//70 187//70 238//70 +f 187//71 186//71 238//71 +f 238//72 186//72 239//72 +f 186//73 185//73 239//73 +f 239//74 185//74 240//74 +f 185//75 184//75 240//75 +f 240//76 184//76 241//76 +f 184//77 183//77 241//77 +f 241//78 183//78 242//78 +f 183//79 182//79 242//79 +f 242//80 182//80 243//80 +f 182//81 181//81 243//81 +f 243//82 181//82 222//82 +f 181//83 10//83 222//83 +f 216//84 209//84 12//84 +f 217//85 244//85 216//85 +f 218//86 245//86 217//86 +f 219//87 247//87 218//87 +f 220//88 250//88 219//88 +f 221//89 254//89 220//89 +f 222//90 259//90 221//90 +f 216//91 244//91 209//91 +f 244//92 210//92 209//92 +f 217//93 245//93 244//93 +f 245//94 246//94 244//94 +f 244//95 246//95 210//95 +f 246//96 211//96 210//96 +f 218//97 247//97 245//97 +f 247//98 248//98 245//98 +f 245//99 248//99 246//99 +f 248//100 249//100 246//100 +f 246//101 249//101 211//101 +f 249//102 212//102 211//102 +f 219//103 250//103 247//103 +f 250//104 251//104 247//104 +f 247//105 251//105 248//105 +f 251//106 252//106 248//106 +f 248//107 252//107 249//107 +f 252//108 253//108 249//108 +f 249//109 253//109 212//109 +f 253//110 213//110 212//110 +f 220//111 254//111 250//111 +f 254//112 255//112 250//112 +f 250//113 255//113 251//113 +f 255//114 256//114 251//114 +f 251//115 256//115 252//115 +f 256//116 257//116 252//116 +f 252//117 257//117 253//117 +f 257//118 258//118 253//118 +f 253//119 258//119 213//119 +f 258//120 214//120 213//120 +f 221//121 259//121 254//121 +f 259//122 260//122 254//122 +f 254//123 260//123 255//123 +f 260//124 261//124 255//124 +f 255//125 261//125 256//125 +f 261//126 262//126 256//126 +f 256//127 262//127 257//127 +f 262//128 263//128 257//128 +f 257//129 263//129 258//129 +f 263//130 264//130 258//130 +f 258//131 264//131 214//131 +f 264//132 215//132 214//132 +f 222//133 180//133 259//133 +f 180//134 179//134 259//134 +f 259//135 179//135 260//135 +f 179//136 178//136 260//136 +f 260//137 178//137 261//137 +f 178//138 177//138 261//138 +f 261//139 177//139 262//139 +f 177//140 176//140 262//140 +f 262//141 176//141 263//141 +f 176//142 175//142 263//142 +f 263//143 175//143 264//143 +f 175//144 174//144 264//144 +f 264//145 174//145 215//145 +f 174//146 9//146 215//146 +f 209//147 202//147 12//147 +f 210//148 265//148 209//148 +f 211//149 266//149 210//149 +f 212//150 268//150 211//150 +f 213//151 271//151 212//151 +f 214//152 275//152 213//152 +f 215//153 280//153 214//153 +f 209//154 265//154 202//154 +f 265//155 203//155 202//155 +f 210//156 266//156 265//156 +f 266//157 267//157 265//157 +f 265//158 267//158 203//158 +f 267//159 204//159 203//159 +f 211//160 268//160 266//160 +f 268//161 269//161 266//161 +f 266//162 269//162 267//162 +f 269//163 270//163 267//163 +f 267//164 270//164 204//164 +f 270//165 205//165 204//165 +f 212//166 271//166 268//166 +f 271//167 272//167 268//167 +f 268//168 272//168 269//168 +f 272//169 273//169 269//169 +f 269//170 273//170 270//170 +f 273//171 274//171 270//171 +f 270//172 274//172 205//172 +f 274//173 206//173 205//173 +f 213//174 275//174 271//174 +f 275//175 276//175 271//175 +f 271//176 276//176 272//176 +f 276//177 277//177 272//177 +f 272//178 277//178 273//178 +f 277//179 278//179 273//179 +f 273//180 278//180 274//180 +f 278//181 279//181 274//181 +f 274//182 279//182 206//182 +f 279//183 207//183 206//183 +f 214//184 280//184 275//184 +f 280//185 281//185 275//185 +f 275//186 281//186 276//186 +f 281//187 282//187 276//187 +f 276//188 282//188 277//188 +f 282//189 283//189 277//189 +f 277//190 283//190 278//190 +f 283//191 284//191 278//191 +f 278//192 284//192 279//192 +f 284//193 285//193 279//193 +f 279//194 285//194 207//194 +f 285//195 208//195 207//195 +f 215//196 173//196 280//196 +f 173//197 172//197 280//197 +f 280//198 172//198 281//198 +f 172//199 171//199 281//199 +f 281//200 171//200 282//200 +f 171//201 170//201 282//201 +f 282//202 170//202 283//202 +f 170//203 169//203 283//203 +f 283//204 169//204 284//204 +f 169//205 168//205 284//205 +f 284//206 168//206 285//206 +f 168//207 167//207 285//207 +f 285//208 167//208 208//208 +f 167//209 8//209 208//209 +f 202//210 188//210 12//210 +f 203//211 286//211 202//211 +f 204//212 287//212 203//212 +f 205//213 289//213 204//213 +f 206//214 292//214 205//214 +f 207//215 296//215 206//215 +f 208//216 301//216 207//216 +f 202//217 286//217 188//217 +f 286//218 189//218 188//218 +f 203//219 287//219 286//219 +f 287//220 288//220 286//220 +f 286//221 288//221 189//221 +f 288//222 190//222 189//222 +f 204//223 289//223 287//223 +f 289//224 290//224 287//224 +f 287//225 290//225 288//225 +f 290//226 291//226 288//226 +f 288//227 291//227 190//227 +f 291//228 191//228 190//228 +f 205//229 292//229 289//229 +f 292//230 293//230 289//230 +f 289//231 293//231 290//231 +f 293//232 294//232 290//232 +f 290//233 294//233 291//233 +f 294//234 295//234 291//234 +f 291//235 295//235 191//235 +f 295//236 192//236 191//236 +f 206//237 296//237 292//237 +f 296//238 297//238 292//238 +f 292//239 297//239 293//239 +f 297//240 298//240 293//240 +f 293//241 298//241 294//241 +f 298//242 299//242 294//242 +f 294//243 299//243 295//243 +f 299//244 300//244 295//244 +f 295//245 300//245 192//245 +f 300//246 193//246 192//246 +f 207//247 301//247 296//247 +f 301//248 302//248 296//248 +f 296//249 302//249 297//249 +f 302//250 303//250 297//250 +f 297//251 303//251 298//251 +f 303//252 304//252 298//252 +f 298//253 304//253 299//253 +f 304//254 305//254 299//254 +f 299//255 305//255 300//255 +f 305//256 306//256 300//256 +f 300//257 306//257 193//257 +f 306//258 194//258 193//258 +f 208//259 166//259 301//259 +f 166//260 165//260 301//260 +f 301//261 165//261 302//261 +f 165//262 164//262 302//262 +f 302//263 164//263 303//263 +f 164//264 163//264 303//264 +f 303//265 163//265 304//265 +f 163//266 162//266 304//266 +f 304//267 162//267 305//267 +f 162//268 161//268 305//268 +f 305//269 161//269 306//269 +f 161//270 160//270 306//270 +f 306//271 160//271 194//271 +f 160//272 7//272 194//272 +f 188//273 201//273 12//273 +f 189//274 307//274 188//274 +f 190//275 308//275 189//275 +f 191//276 310//276 190//276 +f 192//277 313//277 191//277 +f 193//278 317//278 192//278 +f 194//279 322//279 193//279 +f 188//280 307//280 201//280 +f 307//281 200//281 201//281 +f 189//282 308//282 307//282 +f 308//283 309//283 307//283 +f 307//284 309//284 200//284 +f 309//285 199//285 200//285 +f 190//286 310//286 308//286 +f 310//287 311//287 308//287 +f 308//288 311//288 309//288 +f 311//289 312//289 309//289 +f 309//290 312//290 199//290 +f 312//291 198//291 199//291 +f 191//292 313//292 310//292 +f 313//293 314//293 310//293 +f 310//294 314//294 311//294 +f 314//295 315//295 311//295 +f 311//296 315//296 312//296 +f 315//297 316//297 312//297 +f 312//298 316//298 198//298 +f 316//299 197//299 198//299 +f 192//300 317//300 313//300 +f 317//301 318//301 313//301 +f 313//302 318//302 314//302 +f 318//303 319//303 314//303 +f 314//304 319//304 315//304 +f 319//305 320//305 315//305 +f 315//306 320//306 316//306 +f 320//307 321//307 316//307 +f 316//308 321//308 197//308 +f 321//309 196//309 197//309 +f 193//310 322//310 317//310 +f 322//311 323//311 317//311 +f 317//312 323//312 318//312 +f 323//313 324//313 318//313 +f 318//314 324//314 319//314 +f 324//315 325//315 319//315 +f 319//316 325//316 320//316 +f 325//317 326//317 320//317 +f 320//318 326//318 321//318 +f 326//319 327//319 321//319 +f 321//320 327//320 196//320 +f 327//321 195//321 196//321 +f 194//322 159//322 322//322 +f 159//323 158//323 322//323 +f 322//324 158//324 323//324 +f 158//325 157//325 323//325 +f 323//326 157//326 324//326 +f 157//327 156//327 324//327 +f 324//328 156//328 325//328 +f 156//329 155//329 325//329 +f 325//330 155//330 326//330 +f 155//331 154//331 326//331 +f 326//332 154//332 327//332 +f 154//333 153//333 327//333 +f 327//334 153//334 195//334 +f 153//335 11//335 195//335 +f 96//336 187//336 11//336 +f 95//337 328//337 96//337 +f 94//338 329//338 95//338 +f 93//339 331//339 94//339 +f 92//340 334//340 93//340 +f 91//341 338//341 92//341 +f 90//342 343//342 91//342 +f 96//343 328//343 187//343 +f 328//344 186//344 187//344 +f 95//345 329//345 328//345 +f 329//346 330//346 328//346 +f 328//347 330//347 186//347 +f 330//348 185//348 186//348 +f 94//349 331//349 329//349 +f 331//350 332//350 329//350 +f 329//351 332//351 330//351 +f 332//352 333//352 330//352 +f 330//353 333//353 185//353 +f 333//354 184//354 185//354 +f 93//355 334//355 331//355 +f 334//356 335//356 331//356 +f 331//357 335//357 332//357 +f 335//358 336//358 332//358 +f 332//359 336//359 333//359 +f 336//360 337//360 333//360 +f 333//361 337//361 184//361 +f 337//362 183//362 184//362 +f 92//363 338//363 334//363 +f 338//364 339//364 334//364 +f 334//365 339//365 335//365 +f 339//366 340//366 335//366 +f 335//367 340//367 336//367 +f 340//368 341//368 336//368 +f 336//369 341//369 337//369 +f 341//370 342//370 337//370 +f 337//371 342//371 183//371 +f 342//372 182//372 183//372 +f 91//373 343//373 338//373 +f 343//374 344//374 338//374 +f 338//375 344//375 339//375 +f 344//376 345//376 339//376 +f 339//377 345//377 340//377 +f 345//378 346//378 340//378 +f 340//379 346//379 341//379 +f 346//380 347//380 341//380 +f 341//381 347//381 342//381 +f 347//382 348//382 342//382 +f 342//383 348//383 182//383 +f 348//384 181//384 182//384 +f 90//385 145//385 343//385 +f 145//386 144//386 343//386 +f 343//387 144//387 344//387 +f 144//388 143//388 344//388 +f 344//389 143//389 345//389 +f 143//390 142//390 345//390 +f 345//391 142//391 346//391 +f 142//392 141//392 346//392 +f 346//393 141//393 347//393 +f 141//394 140//394 347//394 +f 347//395 140//395 348//395 +f 140//396 139//396 348//396 +f 348//397 139//397 181//397 +f 139//398 10//398 181//398 +f 152//399 180//399 10//399 +f 151//400 349//400 152//400 +f 150//401 350//401 151//401 +f 149//402 352//402 150//402 +f 148//403 355//403 149//403 +f 147//404 359//404 148//404 +f 146//405 364//405 147//405 +f 152//406 349//406 180//406 +f 349//407 179//407 180//407 +f 151//408 350//408 349//408 +f 350//409 351//409 349//409 +f 349//410 351//410 179//410 +f 351//411 178//411 179//411 +f 150//412 352//412 350//412 +f 352//413 353//413 350//413 +f 350//414 353//414 351//414 +f 353//415 354//415 351//415 +f 351//416 354//416 178//416 +f 354//417 177//417 178//417 +f 149//418 355//418 352//418 +f 355//419 356//419 352//419 +f 352//420 356//420 353//420 +f 356//421 357//421 353//421 +f 353//422 357//422 354//422 +f 357//423 358//423 354//423 +f 354//424 358//424 177//424 +f 358//425 176//425 177//425 +f 148//426 359//426 355//426 +f 359//427 360//427 355//427 +f 355//428 360//428 356//428 +f 360//429 361//429 356//429 +f 356//430 361//430 357//430 +f 361//431 362//431 357//431 +f 357//432 362//432 358//432 +f 362//433 363//433 358//433 +f 358//434 363//434 176//434 +f 363//435 175//435 176//435 +f 147//436 364//436 359//436 +f 364//437 365//437 359//437 +f 359//438 365//438 360//438 +f 365//439 366//439 360//439 +f 360//440 366//440 361//440 +f 366//441 367//441 361//441 +f 361//442 367//442 362//442 +f 367//443 368//443 362//443 +f 362//444 368//444 363//444 +f 368//445 369//445 363//445 +f 363//446 369//446 175//446 +f 369//447 174//447 175//447 +f 146//448 131//448 364//448 +f 131//449 130//449 364//449 +f 364//450 130//450 365//450 +f 130//451 129//451 365//451 +f 365//452 129//452 366//452 +f 129//453 128//453 366//453 +f 366//454 128//454 367//454 +f 128//455 127//455 367//455 +f 367//456 127//456 368//456 +f 127//457 126//457 368//457 +f 368//458 126//458 369//458 +f 126//459 125//459 369//459 +f 369//460 125//460 174//460 +f 125//461 9//461 174//461 +f 138//462 173//462 9//462 +f 137//463 370//463 138//463 +f 136//464 371//464 137//464 +f 135//465 373//465 136//465 +f 134//466 376//466 135//466 +f 133//467 380//467 134//467 +f 132//468 385//468 133//468 +f 138//469 370//469 173//469 +f 370//470 172//470 173//470 +f 137//471 371//471 370//471 +f 371//472 372//472 370//472 +f 370//473 372//473 172//473 +f 372//474 171//474 172//474 +f 136//475 373//475 371//475 +f 373//476 374//476 371//476 +f 371//477 374//477 372//477 +f 374//478 375//478 372//478 +f 372//479 375//479 171//479 +f 375//480 170//480 171//480 +f 135//481 376//481 373//481 +f 376//482 377//482 373//482 +f 373//483 377//483 374//483 +f 377//484 378//484 374//484 +f 374//485 378//485 375//485 +f 378//486 379//486 375//486 +f 375//487 379//487 170//487 +f 379//488 169//488 170//488 +f 134//489 380//489 376//489 +f 380//490 381//490 376//490 +f 376//491 381//491 377//491 +f 381//492 382//492 377//492 +f 377//493 382//493 378//493 +f 382//494 383//494 378//494 +f 378//495 383//495 379//495 +f 383//496 384//496 379//496 +f 379//497 384//497 169//497 +f 384//498 168//498 169//498 +f 133//499 385//499 380//499 +f 385//500 386//500 380//500 +f 380//501 386//501 381//501 +f 386//502 387//502 381//502 +f 381//503 387//503 382//503 +f 387//504 388//504 382//504 +f 382//505 388//505 383//505 +f 388//506 389//506 383//506 +f 383//507 389//507 384//507 +f 389//508 390//508 384//508 +f 384//509 390//509 168//509 +f 390//510 167//510 168//510 +f 132//511 117//511 385//511 +f 117//512 116//512 385//512 +f 385//513 116//513 386//513 +f 116//514 115//514 386//514 +f 386//515 115//515 387//515 +f 115//516 114//516 387//516 +f 387//517 114//517 388//517 +f 114//518 113//518 388//518 +f 388//519 113//519 389//519 +f 113//520 112//520 389//520 +f 389//521 112//521 390//521 +f 112//522 111//522 390//522 +f 390//523 111//523 167//523 +f 111//524 8//524 167//524 +f 124//525 166//525 8//525 +f 123//526 391//526 124//526 +f 122//527 392//527 123//527 +f 121//528 394//528 122//528 +f 120//529 397//529 121//529 +f 119//530 401//530 120//530 +f 118//531 406//531 119//531 +f 124//532 391//532 166//532 +f 391//533 165//533 166//533 +f 123//534 392//534 391//534 +f 392//535 393//535 391//535 +f 391//536 393//536 165//536 +f 393//537 164//537 165//537 +f 122//538 394//538 392//538 +f 394//539 395//539 392//539 +f 392//540 395//540 393//540 +f 395//541 396//541 393//541 +f 393//542 396//542 164//542 +f 396//543 163//543 164//543 +f 121//544 397//544 394//544 +f 397//545 398//545 394//545 +f 394//546 398//546 395//546 +f 398//547 399//547 395//547 +f 395//548 399//548 396//548 +f 399//549 400//549 396//549 +f 396//550 400//550 163//550 +f 400//551 162//551 163//551 +f 120//552 401//552 397//552 +f 401//553 402//553 397//553 +f 397//554 402//554 398//554 +f 402//555 403//555 398//555 +f 398//556 403//556 399//556 +f 403//557 404//557 399//557 +f 399//558 404//558 400//558 +f 404//559 405//559 400//559 +f 400//560 405//560 162//560 +f 405//561 161//561 162//561 +f 119//562 406//562 401//562 +f 406//563 407//563 401//563 +f 401//564 407//564 402//564 +f 407//565 408//565 402//565 +f 402//566 408//566 403//566 +f 408//567 409//567 403//567 +f 403//568 409//568 404//568 +f 409//569 410//569 404//569 +f 404//570 410//570 405//570 +f 410//571 411//571 405//571 +f 405//572 411//572 161//572 +f 411//573 160//573 161//573 +f 118//574 103//574 406//574 +f 103//575 102//575 406//575 +f 406//576 102//576 407//576 +f 102//577 101//577 407//577 +f 407//578 101//578 408//578 +f 101//579 100//579 408//579 +f 408//580 100//580 409//580 +f 100//581 99//581 409//581 +f 409//582 99//582 410//582 +f 99//583 98//583 410//583 +f 410//584 98//584 411//584 +f 98//585 97//585 411//585 +f 411//586 97//586 160//586 +f 97//587 7//587 160//587 +f 110//588 159//588 7//588 +f 109//589 412//589 110//589 +f 108//590 413//590 109//590 +f 107//591 415//591 108//591 +f 106//592 418//592 107//592 +f 105//593 422//593 106//593 +f 104//594 427//594 105//594 +f 110//595 412//595 159//595 +f 412//596 158//596 159//596 +f 109//597 413//597 412//597 +f 413//598 414//598 412//598 +f 412//599 414//599 158//599 +f 414//600 157//600 158//600 +f 108//601 415//601 413//601 +f 415//602 416//602 413//602 +f 413//603 416//603 414//603 +f 416//604 417//604 414//604 +f 414//605 417//605 157//605 +f 417//606 156//606 157//606 +f 107//607 418//607 415//607 +f 418//608 419//608 415//608 +f 415//609 419//609 416//609 +f 419//610 420//610 416//610 +f 416//611 420//611 417//611 +f 420//612 421//612 417//612 +f 417//613 421//613 156//613 +f 421//614 155//614 156//614 +f 106//615 422//615 418//615 +f 422//616 423//616 418//616 +f 418//617 423//617 419//617 +f 423//618 424//618 419//618 +f 419//619 424//619 420//619 +f 424//620 425//620 420//620 +f 420//621 425//621 421//621 +f 425//622 426//622 421//622 +f 421//623 426//623 155//623 +f 426//624 154//624 155//624 +f 105//625 427//625 422//625 +f 427//626 428//626 422//626 +f 422//627 428//627 423//627 +f 428//628 429//628 423//628 +f 423//629 429//629 424//629 +f 429//630 430//630 424//630 +f 424//631 430//631 425//631 +f 430//632 431//632 425//632 +f 425//633 431//633 426//633 +f 431//634 432//634 426//634 +f 426//635 432//635 154//635 +f 432//636 153//636 154//636 +f 104//637 89//637 427//637 +f 89//638 88//638 427//638 +f 427//639 88//639 428//639 +f 88//640 87//640 428//640 +f 428//641 87//641 429//641 +f 87//642 86//642 429//642 +f 429//643 86//643 430//643 +f 86//644 85//644 430//644 +f 430//645 85//645 431//645 +f 85//646 84//646 431//646 +f 431//647 84//647 432//647 +f 84//648 83//648 432//648 +f 432//649 83//649 153//649 +f 83//650 11//650 153//650 +f 139//651 152//651 10//651 +f 140//652 433//652 139//652 +f 141//653 434//653 140//653 +f 142//654 436//654 141//654 +f 143//655 439//655 142//655 +f 144//656 443//656 143//656 +f 145//657 448//657 144//657 +f 139//658 433//658 152//658 +f 433//659 151//659 152//659 +f 140//660 434//660 433//660 +f 434//661 435//661 433//661 +f 433//662 435//662 151//662 +f 435//663 150//663 151//663 +f 141//664 436//664 434//664 +f 436//665 437//665 434//665 +f 434//666 437//666 435//666 +f 437//667 438//667 435//667 +f 435//668 438//668 150//668 +f 438//669 149//669 150//669 +f 142//670 439//670 436//670 +f 439//671 440//671 436//671 +f 436//672 440//672 437//672 +f 440//673 441//673 437//673 +f 437//674 441//674 438//674 +f 441//675 442//675 438//675 +f 438//676 442//676 149//676 +f 442//677 148//677 149//677 +f 143//678 443//678 439//678 +f 443//679 444//679 439//679 +f 439//680 444//680 440//680 +f 444//681 445//681 440//681 +f 440//682 445//682 441//682 +f 445//683 446//683 441//683 +f 441//684 446//684 442//684 +f 446//685 447//685 442//685 +f 442//686 447//686 148//686 +f 447//687 147//687 148//687 +f 144//688 448//688 443//688 +f 448//689 449//689 443//689 +f 443//690 449//690 444//690 +f 449//691 450//691 444//691 +f 444//692 450//692 445//692 +f 450//693 451//693 445//693 +f 445//694 451//694 446//694 +f 451//695 452//695 446//695 +f 446//696 452//696 447//696 +f 452//697 453//697 447//697 +f 447//698 453//698 147//698 +f 453//699 146//699 147//699 +f 145//700 82//700 448//700 +f 82//701 81//701 448//701 +f 448//702 81//702 449//702 +f 81//703 80//703 449//703 +f 449//704 80//704 450//704 +f 80//705 79//705 450//705 +f 450//706 79//706 451//706 +f 79//707 78//707 451//707 +f 451//708 78//708 452//708 +f 78//709 77//709 452//709 +f 452//710 77//710 453//710 +f 77//711 76//711 453//711 +f 453//712 76//712 146//712 +f 76//713 5//713 146//713 +f 125//714 138//714 9//714 +f 126//715 454//715 125//715 +f 127//716 455//716 126//716 +f 128//717 457//717 127//717 +f 129//718 460//718 128//718 +f 130//719 464//719 129//719 +f 131//720 469//720 130//720 +f 125//721 454//721 138//721 +f 454//722 137//722 138//722 +f 126//723 455//723 454//723 +f 455//724 456//724 454//724 +f 454//725 456//725 137//725 +f 456//726 136//726 137//726 +f 127//727 457//727 455//727 +f 457//728 458//728 455//728 +f 455//729 458//729 456//729 +f 458//730 459//730 456//730 +f 456//731 459//731 136//731 +f 459//732 135//732 136//732 +f 128//733 460//733 457//733 +f 460//734 461//734 457//734 +f 457//735 461//735 458//735 +f 461//736 462//736 458//736 +f 458//737 462//737 459//737 +f 462//738 463//738 459//738 +f 459//739 463//739 135//739 +f 463//740 134//740 135//740 +f 129//741 464//741 460//741 +f 464//742 465//742 460//742 +f 460//743 465//743 461//743 +f 465//744 466//744 461//744 +f 461//745 466//745 462//745 +f 466//746 467//746 462//746 +f 462//747 467//747 463//747 +f 467//748 468//748 463//748 +f 463//749 468//749 134//749 +f 468//750 133//750 134//750 +f 130//751 469//751 464//751 +f 469//752 470//752 464//752 +f 464//753 470//753 465//753 +f 470//754 471//754 465//754 +f 465//755 471//755 466//755 +f 471//756 472//756 466//756 +f 466//757 472//757 467//757 +f 472//758 473//758 467//758 +f 467//759 473//759 468//759 +f 473//760 474//760 468//760 +f 468//761 474//761 133//761 +f 474//762 132//762 133//762 +f 131//763 75//763 469//763 +f 75//764 74//764 469//764 +f 469//765 74//765 470//765 +f 74//766 73//766 470//766 +f 470//767 73//767 471//767 +f 73//768 72//768 471//768 +f 471//769 72//769 472//769 +f 72//770 71//770 472//770 +f 472//771 71//771 473//771 +f 71//772 70//772 473//772 +f 473//773 70//773 474//773 +f 70//774 69//774 474//774 +f 474//775 69//775 132//775 +f 69//776 4//776 132//776 +f 111//777 124//777 8//777 +f 112//778 475//778 111//778 +f 113//779 476//779 112//779 +f 114//780 478//780 113//780 +f 115//781 481//781 114//781 +f 116//782 485//782 115//782 +f 117//783 490//783 116//783 +f 111//784 475//784 124//784 +f 475//785 123//785 124//785 +f 112//786 476//786 475//786 +f 476//787 477//787 475//787 +f 475//788 477//788 123//788 +f 477//789 122//789 123//789 +f 113//790 478//790 476//790 +f 478//791 479//791 476//791 +f 476//792 479//792 477//792 +f 479//793 480//793 477//793 +f 477//794 480//794 122//794 +f 480//795 121//795 122//795 +f 114//796 481//796 478//796 +f 481//797 482//797 478//797 +f 478//798 482//798 479//798 +f 482//799 483//799 479//799 +f 479//800 483//800 480//800 +f 483//801 484//801 480//801 +f 480//802 484//802 121//802 +f 484//803 120//803 121//803 +f 115//804 485//804 481//804 +f 485//805 486//805 481//805 +f 481//806 486//806 482//806 +f 486//807 487//807 482//807 +f 482//808 487//808 483//808 +f 487//809 488//809 483//809 +f 483//810 488//810 484//810 +f 488//811 489//811 484//811 +f 484//812 489//812 120//812 +f 489//813 119//813 120//813 +f 116//814 490//814 485//814 +f 490//815 491//815 485//815 +f 485//816 491//816 486//816 +f 491//817 492//817 486//817 +f 486//818 492//818 487//818 +f 492//819 493//819 487//819 +f 487//820 493//820 488//820 +f 493//821 494//821 488//821 +f 488//822 494//822 489//822 +f 494//823 495//823 489//823 +f 489//824 495//824 119//824 +f 495//825 118//825 119//825 +f 117//826 61//826 490//826 +f 61//827 60//827 490//827 +f 490//828 60//828 491//828 +f 60//829 59//829 491//829 +f 491//830 59//830 492//830 +f 59//831 58//831 492//831 +f 492//832 58//832 493//832 +f 58//833 57//833 493//833 +f 493//834 57//834 494//834 +f 57//835 56//835 494//835 +f 494//836 56//836 495//836 +f 56//837 55//837 495//837 +f 495//838 55//838 118//838 +f 55//839 3//839 118//839 +f 97//840 110//840 7//840 +f 98//841 496//841 97//841 +f 99//842 497//842 98//842 +f 100//843 499//843 99//843 +f 101//844 502//844 100//844 +f 102//845 506//845 101//845 +f 103//846 511//846 102//846 +f 97//847 496//847 110//847 +f 496//848 109//848 110//848 +f 98//849 497//849 496//849 +f 497//850 498//850 496//850 +f 496//851 498//851 109//851 +f 498//852 108//852 109//852 +f 99//853 499//853 497//853 +f 499//854 500//854 497//854 +f 497//855 500//855 498//855 +f 500//856 501//856 498//856 +f 498//857 501//857 108//857 +f 501//858 107//858 108//858 +f 100//859 502//859 499//859 +f 502//860 503//860 499//860 +f 499//861 503//861 500//861 +f 503//862 504//862 500//862 +f 500//863 504//863 501//863 +f 504//864 505//864 501//864 +f 501//865 505//865 107//865 +f 505//866 106//866 107//866 +f 101//867 506//867 502//867 +f 506//868 507//868 502//868 +f 502//869 507//869 503//869 +f 507//870 508//870 503//870 +f 503//871 508//871 504//871 +f 508//872 509//872 504//872 +f 504//873 509//873 505//873 +f 509//874 510//874 505//874 +f 505//875 510//875 106//875 +f 510//876 105//876 106//876 +f 102//877 511//877 506//877 +f 511//878 512//878 506//878 +f 506//879 512//879 507//879 +f 512//880 513//880 507//880 +f 507//881 513//881 508//881 +f 513//882 514//882 508//882 +f 508//883 514//883 509//883 +f 514//884 515//884 509//884 +f 509//885 515//885 510//885 +f 515//886 516//886 510//886 +f 510//887 516//887 105//887 +f 516//888 104//888 105//888 +f 103//889 33//889 511//889 +f 33//890 32//890 511//890 +f 511//891 32//891 512//891 +f 32//892 31//892 512//892 +f 512//893 31//893 513//893 +f 31//894 30//894 513//894 +f 513//895 30//895 514//895 +f 30//896 29//896 514//896 +f 514//897 29//897 515//897 +f 29//898 28//898 515//898 +f 515//899 28//899 516//899 +f 28//900 27//900 516//900 +f 516//901 27//901 104//901 +f 27//902 2//902 104//902 +f 83//903 96//903 11//903 +f 84//904 517//904 83//904 +f 85//905 518//905 84//905 +f 86//906 520//906 85//906 +f 87//907 523//907 86//907 +f 88//908 527//908 87//908 +f 89//909 532//909 88//909 +f 83//910 517//910 96//910 +f 517//911 95//911 96//911 +f 84//912 518//912 517//912 +f 518//913 519//913 517//913 +f 517//914 519//914 95//914 +f 519//915 94//915 95//915 +f 85//916 520//916 518//916 +f 520//917 521//917 518//917 +f 518//918 521//918 519//918 +f 521//919 522//919 519//919 +f 519//920 522//920 94//920 +f 522//921 93//921 94//921 +f 86//922 523//922 520//922 +f 523//923 524//923 520//923 +f 520//924 524//924 521//924 +f 524//925 525//925 521//925 +f 521//926 525//926 522//926 +f 525//927 526//927 522//927 +f 522//928 526//928 93//928 +f 526//929 92//929 93//929 +f 87//930 527//930 523//930 +f 527//931 528//931 523//931 +f 523//932 528//932 524//932 +f 528//933 529//933 524//933 +f 524//934 529//934 525//934 +f 529//935 530//935 525//935 +f 525//936 530//936 526//936 +f 530//937 531//937 526//937 +f 526//938 531//938 92//938 +f 531//939 91//939 92//939 +f 88//940 532//940 527//940 +f 532//941 533//941 527//941 +f 527//942 533//942 528//942 +f 533//943 534//943 528//943 +f 528//944 534//944 529//944 +f 534//945 535//945 529//945 +f 529//946 535//946 530//946 +f 535//947 536//947 530//947 +f 530//948 536//948 531//948 +f 536//949 537//949 531//949 +f 531//950 537//950 91//950 +f 537//951 90//951 91//951 +f 89//952 40//952 532//952 +f 40//953 39//953 532//953 +f 532//954 39//954 533//954 +f 39//955 38//955 533//955 +f 533//956 38//956 534//956 +f 38//957 37//957 534//957 +f 534//958 37//958 535//958 +f 37//959 36//959 535//959 +f 535//960 36//960 536//960 +f 36//961 35//961 536//961 +f 536//962 35//962 537//962 +f 35//963 34//963 537//963 +f 537//964 34//964 90//964 +f 34//965 6//965 90//965 +f 47//966 82//966 6//966 +f 46//967 538//967 47//967 +f 45//968 539//968 46//968 +f 44//969 541//969 45//969 +f 43//970 544//970 44//970 +f 42//971 548//971 43//971 +f 41//972 553//972 42//972 +f 47//973 538//973 82//973 +f 538//974 81//974 82//974 +f 46//975 539//975 538//975 +f 539//976 540//976 538//976 +f 538//977 540//977 81//977 +f 540//978 80//978 81//978 +f 45//979 541//979 539//979 +f 541//980 542//980 539//980 +f 539//981 542//981 540//981 +f 542//982 543//982 540//982 +f 540//983 543//983 80//983 +f 543//984 79//984 80//984 +f 44//985 544//985 541//985 +f 544//986 545//986 541//986 +f 541//987 545//987 542//987 +f 545//988 546//988 542//988 +f 542//989 546//989 543//989 +f 546//990 547//990 543//990 +f 543//991 547//991 79//991 +f 547//992 78//992 79//992 +f 43//993 548//993 544//993 +f 548//994 549//994 544//994 +f 544//995 549//995 545//995 +f 549//996 550//996 545//996 +f 545//997 550//997 546//997 +f 550//998 551//998 546//998 +f 546//999 551//999 547//999 +f 551//1000 552//1000 547//1000 +f 547//1001 552//1001 78//1001 +f 552//1002 77//1002 78//1002 +f 42//1003 553//1003 548//1003 +f 553//1004 554//1004 548//1004 +f 548//1005 554//1005 549//1005 +f 554//1006 555//1006 549//1006 +f 549//1007 555//1007 550//1007 +f 555//1008 556//1008 550//1008 +f 550//1009 556//1009 551//1009 +f 556//1010 557//1010 551//1010 +f 551//1011 557//1011 552//1011 +f 557//1012 558//1012 552//1012 +f 552//1013 558//1013 77//1013 +f 558//1014 76//1014 77//1014 +f 41//1015 68//1015 553//1015 +f 68//1016 67//1016 553//1016 +f 553//1017 67//1017 554//1017 +f 67//1018 66//1018 554//1018 +f 554//1019 66//1019 555//1019 +f 66//1020 65//1020 555//1020 +f 555//1021 65//1021 556//1021 +f 65//1022 64//1022 556//1022 +f 556//1023 64//1023 557//1023 +f 64//1024 63//1024 557//1024 +f 557//1025 63//1025 558//1025 +f 63//1026 62//1026 558//1026 +f 558//1027 62//1027 76//1027 +f 62//1028 5//1028 76//1028 +f 62//1029 75//1029 5//1029 +f 63//1030 559//1030 62//1030 +f 64//1031 560//1031 63//1031 +f 65//1032 562//1032 64//1032 +f 66//1033 565//1033 65//1033 +f 67//1034 569//1034 66//1034 +f 68//1035 574//1035 67//1035 +f 62//1036 559//1036 75//1036 +f 559//1037 74//1037 75//1037 +f 63//1038 560//1038 559//1038 +f 560//1039 561//1039 559//1039 +f 559//1040 561//1040 74//1040 +f 561//1041 73//1041 74//1041 +f 64//1042 562//1042 560//1042 +f 562//1043 563//1043 560//1043 +f 560//1044 563//1044 561//1044 +f 563//1045 564//1045 561//1045 +f 561//1046 564//1046 73//1046 +f 564//1047 72//1047 73//1047 +f 65//1048 565//1048 562//1048 +f 565//1049 566//1049 562//1049 +f 562//1050 566//1050 563//1050 +f 566//1051 567//1051 563//1051 +f 563//1052 567//1052 564//1052 +f 567//1053 568//1053 564//1053 +f 564//1054 568//1054 72//1054 +f 568//1055 71//1055 72//1055 +f 66//1056 569//1056 565//1056 +f 569//1057 570//1057 565//1057 +f 565//1058 570//1058 566//1058 +f 570//1059 571//1059 566//1059 +f 566//1060 571//1060 567//1060 +f 571//1061 572//1061 567//1061 +f 567//1062 572//1062 568//1062 +f 572//1063 573//1063 568//1063 +f 568//1064 573//1064 71//1064 +f 573//1065 70//1065 71//1065 +f 67//1066 574//1066 569//1066 +f 574//1067 575//1067 569//1067 +f 569//1068 575//1068 570//1068 +f 575//1069 576//1069 570//1069 +f 570//1070 576//1070 571//1070 +f 576//1071 577//1071 571//1071 +f 571//1072 577//1072 572//1072 +f 577//1073 578//1073 572//1073 +f 572//1074 578//1074 573//1074 +f 578//1075 579//1075 573//1075 +f 573//1076 579//1076 70//1076 +f 579//1077 69//1077 70//1077 +f 68//1078 54//1078 574//1078 +f 54//1079 53//1079 574//1079 +f 574//1080 53//1080 575//1080 +f 53//1081 52//1081 575//1081 +f 575//1082 52//1082 576//1082 +f 52//1083 51//1083 576//1083 +f 576//1084 51//1084 577//1084 +f 51//1085 50//1085 577//1085 +f 577//1086 50//1086 578//1086 +f 50//1087 49//1087 578//1087 +f 578//1088 49//1088 579//1088 +f 49//1089 48//1089 579//1089 +f 579//1090 48//1090 69//1090 +f 48//1091 4//1091 69//1091 +f 48//1092 61//1092 4//1092 +f 49//1093 580//1093 48//1093 +f 50//1094 581//1094 49//1094 +f 51//1095 583//1095 50//1095 +f 52//1096 586//1096 51//1096 +f 53//1097 590//1097 52//1097 +f 54//1098 595//1098 53//1098 +f 48//1099 580//1099 61//1099 +f 580//1100 60//1100 61//1100 +f 49//1101 581//1101 580//1101 +f 581//1102 582//1102 580//1102 +f 580//1103 582//1103 60//1103 +f 582//1104 59//1104 60//1104 +f 50//1105 583//1105 581//1105 +f 583//1106 584//1106 581//1106 +f 581//1107 584//1107 582//1107 +f 584//1108 585//1108 582//1108 +f 582//1109 585//1109 59//1109 +f 585//1110 58//1110 59//1110 +f 51//1111 586//1111 583//1111 +f 586//1112 587//1112 583//1112 +f 583//1113 587//1113 584//1113 +f 587//1114 588//1114 584//1114 +f 584//1115 588//1115 585//1115 +f 588//1116 589//1116 585//1116 +f 585//1117 589//1117 58//1117 +f 589//1118 57//1118 58//1118 +f 52//1119 590//1119 586//1119 +f 590//1120 591//1120 586//1120 +f 586//1121 591//1121 587//1121 +f 591//1122 592//1122 587//1122 +f 587//1123 592//1123 588//1123 +f 592//1124 593//1124 588//1124 +f 588//1125 593//1125 589//1125 +f 593//1126 594//1126 589//1126 +f 589//1127 594//1127 57//1127 +f 594//1128 56//1128 57//1128 +f 53//1129 595//1129 590//1129 +f 595//1130 596//1130 590//1130 +f 590//1131 596//1131 591//1131 +f 596//1132 597//1132 591//1132 +f 591//1133 597//1133 592//1133 +f 597//1134 598//1134 592//1134 +f 592//1135 598//1135 593//1135 +f 598//1136 599//1136 593//1136 +f 593//1137 599//1137 594//1137 +f 599//1138 600//1138 594//1138 +f 594//1139 600//1139 56//1139 +f 600//1140 55//1140 56//1140 +f 54//1141 19//1141 595//1141 +f 19//1142 18//1142 595//1142 +f 595//1143 18//1143 596//1143 +f 18//1144 17//1144 596//1144 +f 596//1145 17//1145 597//1145 +f 17//1146 16//1146 597//1146 +f 597//1147 16//1147 598//1147 +f 16//1148 15//1148 598//1148 +f 598//1149 15//1149 599//1149 +f 15//1150 14//1150 599//1150 +f 599//1151 14//1151 600//1151 +f 14//1152 13//1152 600//1152 +f 600//1153 13//1153 55//1153 +f 13//1154 3//1154 55//1154 +f 34//1155 47//1155 6//1155 +f 35//1156 601//1156 34//1156 +f 36//1157 602//1157 35//1157 +f 37//1158 604//1158 36//1158 +f 38//1159 607//1159 37//1159 +f 39//1160 611//1160 38//1160 +f 40//1161 616//1161 39//1161 +f 34//1162 601//1162 47//1162 +f 601//1163 46//1163 47//1163 +f 35//1164 602//1164 601//1164 +f 602//1165 603//1165 601//1165 +f 601//1166 603//1166 46//1166 +f 603//1167 45//1167 46//1167 +f 36//1168 604//1168 602//1168 +f 604//1169 605//1169 602//1169 +f 602//1170 605//1170 603//1170 +f 605//1171 606//1171 603//1171 +f 603//1172 606//1172 45//1172 +f 606//1173 44//1173 45//1173 +f 37//1174 607//1174 604//1174 +f 607//1175 608//1175 604//1175 +f 604//1176 608//1176 605//1176 +f 608//1177 609//1177 605//1177 +f 605//1178 609//1178 606//1178 +f 609//1179 610//1179 606//1179 +f 606//1180 610//1180 44//1180 +f 610//1181 43//1181 44//1181 +f 38//1182 611//1182 607//1182 +f 611//1183 612//1183 607//1183 +f 607//1184 612//1184 608//1184 +f 612//1185 613//1185 608//1185 +f 608//1186 613//1186 609//1186 +f 613//1187 614//1187 609//1187 +f 609//1188 614//1188 610//1188 +f 614//1189 615//1189 610//1189 +f 610//1190 615//1190 43//1190 +f 615//1191 42//1191 43//1191 +f 39//1192 616//1192 611//1192 +f 616//1193 617//1193 611//1193 +f 611//1194 617//1194 612//1194 +f 617//1195 618//1195 612//1195 +f 612//1196 618//1196 613//1196 +f 618//1197 619//1197 613//1197 +f 613//1198 619//1198 614//1198 +f 619//1199 620//1199 614//1199 +f 614//1200 620//1200 615//1200 +f 620//1201 621//1201 615//1201 +f 615//1202 621//1202 42//1202 +f 621//1203 41//1203 42//1203 +f 40//1204 26//1204 616//1204 +f 26//1205 25//1205 616//1205 +f 616//1206 25//1206 617//1206 +f 25//1207 24//1207 617//1207 +f 617//1208 24//1208 618//1208 +f 24//1209 23//1209 618//1209 +f 618//1210 23//1210 619//1210 +f 23//1211 22//1211 619//1211 +f 619//1212 22//1212 620//1212 +f 22//1213 21//1213 620//1213 +f 620//1214 21//1214 621//1214 +f 21//1215 20//1215 621//1215 +f 621//1216 20//1216 41//1216 +f 20//1217 1//1217 41//1217 +f 13//1218 33//1218 3//1218 +f 14//1219 622//1219 13//1219 +f 15//1220 623//1220 14//1220 +f 16//1221 625//1221 15//1221 +f 17//1222 628//1222 16//1222 +f 18//1223 632//1223 17//1223 +f 19//1224 637//1224 18//1224 +f 13//1225 622//1225 33//1225 +f 622//1226 32//1226 33//1226 +f 14//1227 623//1227 622//1227 +f 623//1228 624//1228 622//1228 +f 622//1229 624//1229 32//1229 +f 624//1230 31//1230 32//1230 +f 15//1231 625//1231 623//1231 +f 625//1232 626//1232 623//1232 +f 623//1233 626//1233 624//1233 +f 626//1234 627//1234 624//1234 +f 624//1235 627//1235 31//1235 +f 627//1236 30//1236 31//1236 +f 16//1237 628//1237 625//1237 +f 628//1238 629//1238 625//1238 +f 625//1239 629//1239 626//1239 +f 629//1240 630//1240 626//1240 +f 626//1241 630//1241 627//1241 +f 630//1242 631//1242 627//1242 +f 627//1243 631//1243 30//1243 +f 631//1244 29//1244 30//1244 +f 17//1245 632//1245 628//1245 +f 632//1246 633//1246 628//1246 +f 628//1247 633//1247 629//1247 +f 633//1248 634//1248 629//1248 +f 629//1249 634//1249 630//1249 +f 634//1250 635//1250 630//1250 +f 630//1251 635//1251 631//1251 +f 635//1252 636//1252 631//1252 +f 631//1253 636//1253 29//1253 +f 636//1254 28//1254 29//1254 +f 18//1255 637//1255 632//1255 +f 637//1256 638//1256 632//1256 +f 632//1257 638//1257 633//1257 +f 638//1258 639//1258 633//1258 +f 633//1259 639//1259 634//1259 +f 639//1260 640//1260 634//1260 +f 634//1261 640//1261 635//1261 +f 640//1262 641//1262 635//1262 +f 635//1263 641//1263 636//1263 +f 641//1264 642//1264 636//1264 +f 636//1265 642//1265 28//1265 +f 642//1266 27//1266 28//1266 +f 19//1267 20//1267 637//1267 +f 20//1268 21//1268 637//1268 +f 637//1269 21//1269 638//1269 +f 21//1270 22//1270 638//1270 +f 638//1271 22//1271 639//1271 +f 22//1272 23//1272 639//1272 +f 639//1273 23//1273 640//1273 +f 23//1274 24//1274 640//1274 +f 640//1275 24//1275 641//1275 +f 24//1276 25//1276 641//1276 +f 641//1277 25//1277 642//1277 +f 25//1278 26//1278 642//1278 +f 642//1279 26//1279 27//1279 +f 26//1280 2//1280 27//1280 diff --git a/assets/spheres/smallsphere.blend b/assets/spheres/smallsphere.blend new file mode 100644 index 0000000..922e34f Binary files /dev/null and b/assets/spheres/smallsphere.blend differ diff --git a/assets/spheres/smallsphere.mtl b/assets/spheres/smallsphere.mtl new file mode 100644 index 0000000..3afaf3f --- /dev/null +++ b/assets/spheres/smallsphere.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'smallsphere.blend' +# Material Count: 1 + +newmtl None +Ns 0 +Ka 0.000000 0.000000 0.000000 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/assets/spheres/smallsphere.obj b/assets/spheres/smallsphere.obj new file mode 100644 index 0000000..2ae1d6c --- /dev/null +++ b/assets/spheres/smallsphere.obj @@ -0,0 +1,58 @@ +# Blender v2.79 (sub 0) OBJ File: 'smallsphere.blend' +# www.blender.org +mtllib smallsphere.mtl +o Icosphere +v 0.000000 -1.000000 0.000000 +v 0.723600 -0.447215 0.525720 +v -0.276385 -0.447215 0.850640 +v -0.894425 -0.447215 0.000000 +v -0.276385 -0.447215 -0.850640 +v 0.723600 -0.447215 -0.525720 +v 0.276385 0.447215 0.850640 +v -0.723600 0.447215 0.525720 +v -0.723600 0.447215 -0.525720 +v 0.276385 0.447215 -0.850640 +v 0.894425 0.447215 0.000000 +v 0.000000 1.000000 0.000000 +vn 0.1876 -0.7947 0.5774 +vn 0.6071 -0.7947 0.0000 +vn -0.4911 -0.7947 0.3568 +vn -0.4911 -0.7947 -0.3568 +vn 0.1876 -0.7947 -0.5774 +vn 0.9822 -0.1876 0.0000 +vn 0.3035 -0.1876 0.9342 +vn -0.7946 -0.1876 0.5774 +vn -0.7946 -0.1876 -0.5774 +vn 0.3035 -0.1876 -0.9342 +vn 0.7946 0.1876 0.5774 +vn -0.3035 0.1876 0.9342 +vn -0.9822 0.1876 0.0000 +vn -0.3035 0.1876 -0.9342 +vn 0.7946 0.1876 -0.5774 +vn 0.4911 0.7947 0.3568 +vn -0.1876 0.7947 0.5774 +vn -0.6071 0.7947 0.0000 +vn -0.1876 0.7947 -0.5774 +vn 0.4911 0.7947 -0.3568 +usemtl None +s off +f 1//1 2//1 3//1 +f 2//2 1//2 6//2 +f 1//3 3//3 4//3 +f 1//4 4//4 5//4 +f 1//5 5//5 6//5 +f 2//6 6//6 11//6 +f 3//7 2//7 7//7 +f 4//8 3//8 8//8 +f 5//9 4//9 9//9 +f 6//10 5//10 10//10 +f 2//11 11//11 7//11 +f 3//12 7//12 8//12 +f 4//13 8//13 9//13 +f 5//14 9//14 10//14 +f 6//15 10//15 11//15 +f 7//16 11//16 12//16 +f 8//17 7//17 12//17 +f 9//18 8//18 12//18 +f 10//19 9//19 12//19 +f 11//20 10//20 12//20 diff --git a/examples/example02/Init.hs b/examples/example02/Init.hs new file mode 100644 index 0000000..30776e1 --- /dev/null +++ b/examples/example02/Init.hs @@ -0,0 +1,157 @@ +{-# LANGUAGE OverloadedStrings #-} + +module Init where + +import SDL (($=)) +import qualified SDL + +import qualified Graphics.Rendering.OpenGL as GL +import qualified Graphics.GLUtil as GLU + +import qualified Data.ByteString as BS + +import System.Random (randomRIO) + +import Physics.Bullet.Raw + +import Codec.Wavefront + +import Linear as L + +import SpatialMath + +import Foreign + +import Util +import Types + +genVertBufObject path = do + eobj <- fromFile path + let obj = case eobj of + Right o -> o + Left err -> error err + let lobj = loadObj obj + + shipBO <- GL.genObjectName + GL.bindVertexArrayObject $= Just shipBO + + verts <- GL.genObjectName + GL.bindBuffer GL.ArrayBuffer $= Just verts + withArray (loTriangles lobj) $ \ptr -> + GL.bufferData GL.ArrayBuffer $= + ( fromIntegral $ length (loTriangles lobj) * 3 * sizeOf (0 :: Double) + , ptr + , GL.StaticDraw + ) + GL.vertexAttribPointer (GL.AttribLocation 0) $= + ( GL.ToFloat + , GL.VertexArrayDescriptor 4 GL.Float 0 (plusPtr nullPtr 0) + ) + GL.vertexAttribArray (GL.AttribLocation 0) $= GL.Enabled + return (shipBO, length (loTriangles lobj)) + +load :: IO StateData +load = do + _ <- SDL.setMouseLocationMode SDL.RelativeLocation + GL.depthFunc $= Just GL.Less + + (shipBO, stl) <- genVertBufObject "assets/spheres/smallsphere.obj" + + (planetBO, ptl) <- genVertBufObject "assets/spheres/bigsphere.obj" + + let vertexShader = foldl BS.append BS.empty + [ "attribute vec3 coord3d;" + , "attribute vec2 texcoord;" + , "uniform mat4 mvp;" + , "varying vec2 f_texcoord;" + , "void main(void) {" + , " gl_Position = mvp * vec4(coord3d, 1.0);" + , " f_texcoord = texcoord;" + , "}" + ] + fragmentShader = foldl BS.append BS.empty + [ "varying vec2 f_texcoord;" + , "void main(void) {" + , " gl_FragColor = vec4(1,1,1,0.5);" + , "}" + ] + p <- GLU.simpleShaderProgramBS vertexShader fragmentShader + + poss <- mapM (\_ -> do + x <- randomRIO (-50, 50) + y <- randomRIO (-50, 50) + z <- randomRIO (-50, 50) + return (V3 x y z) + ) [0..2000] + + let shipList = zipWith (Ship shipBO stl) + poss + (repeat $ Quaternion 1 (V3 0 0 0)) + planet = Ship planetBO ptl (V3 0 0 0) (Quaternion 1 (V3 0 0 0)) + + phys <- initPhysics + + po <- initPhysicsObjects poss + + mapM_ (addRigidBody (pWorld phys) . bodyRigidBody) (poSmallBalls po) + addRigidBody (pWorld phys) (bodyRigidBody $ poBigBall po) + + return StateData + { ships = shipList + , planet = planet + , proj = perspective (pi/2) (1600 / 900) 1 (-1) + , camera = Camera + { cameraFocus = V3 0 0 0 + , cameraRot = Euler 0 0 0 + , cameraDist = -50 + } + , program = p + , physics = phys + , physicsObjects = po + } + +loadTex :: FilePath -> IO GL.TextureObject +loadTex f = do + t <- either error id <$> GLU.readTexture f + GL.textureFilter GL.Texture2D $= ((GL.Linear', Nothing), GL.Linear') + GLU.texture2DWrap $= (GL.Repeated, GL.ClampToEdge) + return t + +initPhysics :: IO Physics +initPhysics = do + bp <- newDbvtBroadphase + config <- newDefaultCollisionConfiguration + disp <- newCollisionDispatcher config + solver <- newSequentialImpulseConstraintSolver + world <- newDiscreteDynamicsWorld disp bp solver config + setGravity world (V3 0 0 0) + return $ Physics bp config disp solver world + +initPhysicsObjects :: [V3 Float] -> IO PhysicsObjects +initPhysicsObjects poss = do + -- ground <- newStaticPlaneShape (V3 0 1 0) 1 + smallBall <- newSphereShape 1 + bigBall <- newSphereShape 5 + + -- groundMotionState <- newDefaultMotionState (Quaternion 1 (V3 0 0 0)) (V3 0 (-51) 0) + -- groundBody <- newRigidBody 0 groundMotionState 0.9 0.5 ground (V3 0 0 0) + + smallBallPOs <- mapM (\pos -> do + smallBallMotionState <- newDefaultMotionState (Quaternion 1 (V3 0 0 0)) + (fmap realToFrac pos) + localInertia <- calculateLocalInertia smallBall 1 (V3 0 0 0) + smallBallBody <- newRigidBody 1 smallBallMotionState 0.9 0.5 smallBall localInertia + return $ PhysBody smallBall smallBallMotionState smallBallBody 1 + ) poss + + bigBallPO <- do + bigBallMotionState <- newDefaultMotionState (Quaternion 1 (V3 0 0 0)) + (V3 0 0 0) + localInertia <- calculateLocalInertia bigBall 1 (V3 0 0 0) + bigBallBody <- newRigidBody 0 bigBallMotionState 0.9 0.5 bigBall localInertia + return $ PhysBody bigBall bigBallMotionState bigBallBody 0 + + return PhysicsObjects + { poBigBall = bigBallPO + , poSmallBalls = smallBallPOs + } diff --git a/examples/example02/Main.hs b/examples/example02/Main.hs new file mode 100644 index 0000000..a351020 --- /dev/null +++ b/examples/example02/Main.hs @@ -0,0 +1,196 @@ +{-# LANGUAGE OverloadedStrings, RecordWildCards #-} + +module Main where + +import Affection + +import SDL (($=)) +import qualified SDL + +import qualified Graphics.Rendering.OpenGL as GL +import qualified Graphics.GLUtil as GLU + +import Physics.Bullet.Raw + +import Control.Monad (when) +import Control.Monad.IO.Class (liftIO) + +import Linear as L + +import System.Random (randomRIO) + +import SpatialMath + +import Init +import Types + +import Debug.Trace as T + +main :: IO () +main = + withAffection AffectionConfig + { initComponents = All + , windowTitle = "hw - example 02" + , windowConfig = SDL.defaultWindow + { SDL.windowInitialSize = SDL.V2 1600 900 + , SDL.windowOpenGL = Just SDL.defaultOpenGL + { SDL.glProfile = SDL.Core SDL.Normal 3 2 + } + } + , initScreenMode = SDL.Fullscreen + , preLoop = return () + , eventLoop = handle + , updateLoop = update + , drawLoop = draw + , loadState = load + , cleanUp = const (return ()) + , canvasSize = Nothing + } + +update :: Double -> Affection StateData () +update dt = do + sd <- getAffection + let phys = physics sd + physos = physicsObjects sd + mapM_ (\smallBall -> do + ms1 <- liftIO $ getMotionState (bodyRigidBody smallBall) + ms2 <- liftIO $ getMotionState (bodyRigidBody $ poBigBall physos) + r1 <- liftIO $ return . fmap realToFrac =<< getPosition ms1 + r2 <- liftIO $ return . fmap realToFrac =<< getPosition ms2 + let g = 0.0000000000667300 + m1 = bodyMass smallBall + -- m2 = bodyMass (poBigBall physos) + m2 = 1000000000000000 + eta_sq = 0.1 ^ 2 + force = (g * m2 * m1 *^ (r2 - r1)) ^/ + ((sqrt (((r2 - r1) `dot` (r2 - r1)) + eta_sq)) ^ 3) + liftIO $ applyCentralForce (bodyRigidBody smallBall) force + ) (poSmallBalls physos) + liftIO $ stepSimulation (pWorld phys) dt 10 Nothing + posrots <- mapM ((\ball -> do + ms <- liftIO $ getMotionState ball + npos <- liftIO $ return . fmap realToFrac =<< getPosition ms + nrot <- liftIO $ return . fmap realToFrac =<< getRotation ms + return (npos, nrot)) + . bodyRigidBody) (poSmallBalls physos) + let nships = map (\(ship, (pos, rot)) -> + ship + { shipRot = rot + , shipPos = pos + } + ) (zip (ships sd) posrots) + putAffection sd + { ships = nships + } + +draw :: Affection StateData () +draw = do + GL.viewport $= (GL.Position 0 0, GL.Size 1600 900) + StateData{..} <- getAffection + GL.currentProgram $= (Just . GLU.program $ program) + mapM_ (\Ship{..} -> do + let view = lookAt + (cameraFocus camera + + rotVecByEulerB2A + (cameraRot camera) + (V3 0 0 (-cameraDist camera))) + (cameraFocus camera) + (V3 0 1 0) + model = mkTransformation shipRot shipPos + pvm = proj !*! view !*! model + liftIO $ GLU.setUniform program "mvp" pvm + GL.bindVertexArrayObject $= Just shipVao + liftIO $ GL.drawArrays GL.Triangles 0 (fromIntegral shipVaoLen) + ) (planet : ships) + +handle :: SDL.EventPayload -> Affection StateData () +handle (SDL.WindowClosedEvent _) = quit + +handle (SDL.KeyboardEvent dat) = do + let key = SDL.keysymKeycode (SDL.keyboardEventKeysym dat) + when (SDL.keyboardEventKeyMotion dat == SDL.Pressed) $ + handleKey key +handle (SDL.MouseMotionEvent dat) = do + sd <- getAffection + let (V2 rx ry) = fromIntegral <$> SDL.mouseMotionEventRelMotion dat + c = camera sd + putAffection sd + { camera = + case SDL.mouseMotionEventState dat of + [SDL.ButtonRight] -> + let (V3 sx sy sz) = rotVecByEuler (cameraRot c) (V3 (rx / 10) 0 (ry / 10)) + in c {cameraFocus = cameraFocus c + V3 sx 0 sy} + [] -> + let dphi = pi / 4 / 45 / 10 + (Euler yaw pitch roll) = cameraRot c + nangle + | nangle' >= qc = qc - mu + | nangle' <= -qc = -qc + mu + | otherwise = nangle' + where + nangle' = (dphi * ry) + roll + qc = pi / 2 + mu = 0.01 + nrot = + Euler + yaw + (pitch + (rx * dphi)) + nangle + in c + { cameraRot = nrot + } + _ -> + c + } + +handle _ = return () + +handleKey :: SDL.Keycode -> Affection StateData () +handleKey code + | code == SDL.KeycodeR = + GL.clearColor $= GL.Color4 1 0 0 1 + | code == SDL.KeycodeG = + GL.clearColor $= GL.Color4 0 1 0 1 + | code == SDL.KeycodeB = + GL.clearColor $= GL.Color4 0 0 1 1 + | code == SDL.KeycodeP = do + r <- liftIO $ randomRIO (0, 1) + g <- liftIO $ randomRIO (0, 1) + b <- liftIO $ randomRIO (0, 1) + a <- liftIO $ randomRIO (0, 1) + GL.clearColor $= GL.Color4 r g b a + | code == SDL.KeycodeEscape = + quit + | code == SDL.KeycodeF = do + dt <- deltaTime <$> get + liftIO $ putStrLn $ show (1 / dt) ++ " FPS" + | code == SDL.KeycodeT = + toggleScreen + | code `elem` + [ SDL.KeycodeW + , SDL.KeycodeS + , SDL.KeycodeA + , SDL.KeycodeD + , SDL.KeycodeQ + , SDL.KeycodeE + ] + = do + sd <- getAffection + let ship = head (ships sd) + rot = shipRot ship + dphi = pi / 2 / 45 + nquat = case code of + SDL.KeycodeW -> rot * axisAngle (V3 1 0 0) (-dphi) + SDL.KeycodeS -> rot * axisAngle (V3 1 0 0) dphi + SDL.KeycodeA -> rot * axisAngle (V3 0 1 0) (-dphi) + SDL.KeycodeD -> rot * axisAngle (V3 0 1 0) dphi + SDL.KeycodeE -> rot * axisAngle (V3 0 0 1) (-dphi) + SDL.KeycodeQ -> rot * axisAngle (V3 0 0 1) dphi + _ -> rot + putAffection sd + { ships = ship + { shipRot = nquat + } : tail (ships sd) + } + | otherwise = + return () diff --git a/examples/example02/Types.hs b/examples/example02/Types.hs new file mode 100644 index 0000000..35c5f47 --- /dev/null +++ b/examples/example02/Types.hs @@ -0,0 +1,53 @@ +module Types where + +import qualified Graphics.Rendering.OpenGL as GL +import qualified Graphics.GLUtil as GLU + +import Linear as L + +import SpatialMath + +import Physics.Bullet.Raw as Bullet + +data StateData = StateData + { ships :: [Ship] + , planet :: Ship + , camera :: Camera + , proj :: M44 Float + , program :: GLU.ShaderProgram + , physics :: Physics + , physicsObjects :: PhysicsObjects + } + +data Ship = Ship + { shipVao :: GL.VertexArrayObject + , shipVaoLen :: Int + , shipPos :: V3 Float + , shipRot :: Quaternion Float + } + +data Camera = Camera + { cameraFocus :: V3 Float + , cameraRot :: Euler Float + , cameraDist :: Float + } + +data Physics = Physics + { pBroadphase :: DbvtBroadphase + , pConfig :: DefaultCollisionConfiguration + , pDispatcher :: CollisionDispatcher + , pSolver :: SequentialImpulseConstraintSolver + , pWorld :: DiscreteDynamicsWorld + } + +data PhysicsObjects = PhysicsObjects + { poBigBall :: PhysBody SphereShape + , poSmallBalls :: [PhysBody SphereShape] + } + +data PhysBody a = PhysBody + { bodyShape :: a + , bodyMotionState :: MotionState + , bodyRigidBody :: RigidBody + , bodyMass :: Double + } deriving (Eq) diff --git a/examples/example02/Util.hs b/examples/example02/Util.hs new file mode 100644 index 0000000..91bfac5 --- /dev/null +++ b/examples/example02/Util.hs @@ -0,0 +1,67 @@ +module Util where + +import Codec.Wavefront + +import Control.Monad (sequence) + +import qualified Data.Vector as V + +data LoadedObject = LoadedObject + { loTriangles :: [Float] + , loLines :: [Float] + , loPoints :: [Float] + , loTexTri :: Maybe [Float] + } + +loadObj :: WavefrontOBJ -> LoadedObject +loadObj obj = + LoadedObject ts ls ps tritex + where + inter = objLocations obj + interTex = objTexCoords obj + faces = map elValue (V.toList $ objFaces obj) + lns = map elValue (V.toList $ objLines obj) + points = map elValue (V.toList $ objPoints obj) + deface (Face a b c []) = + map (\i -> inter V.! (faceLocIndex i -1)) [a, b, c] + deface _ = + error "loadObj: obj with quads encountered" + deline (Line a b) = + map (\i -> inter V.! (lineLocIndex i -1)) [a, b] + depoint (Point i) = inter V.! (i - 1) + tsLocs = concatMap deface faces + lsLocs = concatMap deline lns + psLocs = map depoint points + deLoc (Location x y z w) = [x, y, z, w] + deTex (TexCoord r s _) = [r, s] + ts = concatMap deLoc tsLocs + ls = concatMap deLoc lsLocs + ps = concatMap deLoc psLocs + defaceTex :: Face -> Maybe [TexCoord] + defaceTex (Face a b c []) = + mapM + (fmap (\x -> interTex V.! (x - 1)) . faceTexCoordIndex) + [a, b, c] + defaceTex _ = + error "loadObj: obj with quads encountered" + tritex :: Maybe [Float] + tritex = concatMap deTex <$> mftxs + mftxs :: Maybe [TexCoord] + mftxs = fmap concat (mapM defaceTex faces) + +-- objLocsToPtr :: WavefrontOBJ -> IO (Ptr Float, Int) +-- objLocsToPtr obj = do +-- let ivs = objLocations obj +-- faces = map elValue $ V.toList $ objFaces obj +-- vs = concatMap +-- (\(Face a b c []) -> +-- map (\i -> ivs V.! ((faceLocIndex i) - 1)) [a, b, c]) +-- faces +-- ptr <- newArray $ concatMap (\(Location x y z w) -> [x, y, z, w]) vs +-- return (ptr, length vs) +-- +-- objUVsToPtr :: WavefrontOBJ -> IO (Ptr Float, Int) +-- objUVsToPtr obj = do +-- let uvs= V.toList $ objTexCoords obj +-- ptr <- newArray $ concatMap (\(TexCoord r s t) -> [r, s, t]) uvs +-- return (ptr, length uvs)