diff --git a/ar/ex1_ar_intro/code/sketch.properties b/ar/ex1_ar_intro/code/sketch.properties new file mode 100644 index 0000000..db8eaa0 --- /dev/null +++ b/ar/ex1_ar_intro/code/sketch.properties @@ -0,0 +1 @@ +component=ar diff --git a/ar/ex1_ar_intro/data/grey.png b/ar/ex1_ar_intro/data/grey.png new file mode 100644 index 0000000..b6d6f05 Binary files /dev/null and b/ar/ex1_ar_intro/data/grey.png differ diff --git a/ar/ex1_ar_intro/data/materials.mtl b/ar/ex1_ar_intro/data/materials.mtl new file mode 100644 index 0000000..d0bf7bc --- /dev/null +++ b/ar/ex1_ar_intro/data/materials.mtl @@ -0,0 +1,12 @@ +newmtl mat10 + Kd 0.30 0.69 0.31 + +newmtl mat9 + Kd 0.55 0.76 0.29 + +newmtl mat20 + Kd 0.47 0.33 0.28 + +newmtl mat21 + Kd 1.00 1.00 1.00 + diff --git a/ar/ex1_ar_intro/data/model.obj b/ar/ex1_ar_intro/data/model.obj new file mode 100644 index 0000000..b30f38d --- /dev/null +++ b/ar/ex1_ar_intro/data/model.obj @@ -0,0 +1,949 @@ +mtllib materials.mtl +v 0.03500453 0.019117 0.02433401 +v -0.006614864 0.0148387 -0.01981938 +v 0.03608745 0.01436758 0.02320725 +v 0.008281738 -0.0277046 0.0253039 +v -0.002996296 0.01700664 -0.01070774 +v -0.02605835 0.00233531 0.005670011 +v -0.01863462 0.2030077 0.1667039 +v -0.01543677 0.0811317 0.09948444 +v 0.03643253 0.02604151 0.01268643 +v 0.01329854 0.01135957 -0.04139006 +v 0.01430747 0.006541491 -0.04051358 +v 0.03744149 0.02122343 0.01356286 +v -0.02249089 0.01276231 0.007519543 +v -0.02148193 0.007944226 0.008396029 +v 0.02063528 0.2003068 -0.1131554 +v 0.03034195 0.1211638 -0.04571742 +v 0.001753241 0.03735411 -0.02767992 +v 0.01017797 0.08989894 -0.05778307 +v 0.02250633 0.09819317 -0.04077369 +v 0.01443794 0.165741 -0.09460694 +v 0.01391521 0.04973161 0.003262162 +v 0.002539635 0.02941597 0.01170969 +v -0.01658016 0.02541399 0.0003730655 +v -0.06505209 0.1163319 -0.004948497 +v 0.01759383 -0.009375334 -0.01819491 +v 0.01072627 0.02040827 0.01247698 +v -0.03959695 0.07464659 -0.01419669 +v -0.0185844 -0.01070535 0.005561471 +v -0.05041924 0.06390738 0.001349032 +v 0.006013215 0.03756678 -0.005902886 +v 0.006297797 0.0006850958 -0.02858913 +v 0.00980702 -0.001161218 -0.02554345 +v 0.009522438 0.03572035 -0.002857208 +v -0.02055576 0.005186796 0.005080104 +v -0.01704657 0.003340483 0.008125842 +v -0.01841947 0.04425907 -0.06405324 +v -0.03397268 0.08564556 -0.1005961 +v -0.02476519 0.05102789 -0.0618062 +v 0.02960703 0.004537225 0.03208822 +v 0.01192492 -0.002894044 -0.007959068 +v 0.02648646 0.0009000301 0.03351396 +v -0.0108943 0.03334081 0.01692253 +v -0.01401487 0.02970362 0.01834822 +v 0.0001596808 0.05255258 0.02025765 +v 0.051799 0.1298349 0.04909253 +v 0.0005793571 0.01908755 0.01888919 +v 0.0499264 -0.01731193 -0.0006120801 +v 0.04912642 -0.0203712 0.00326097 +v 0.003881067 0.01530802 0.02209854 +v -0.006612957 -0.02721441 -0.02011198 +v -0.00741291 -0.03027368 -0.01623887 +v -0.002917379 -0.02342451 0.03035516 +v -0.1224723 0.1188886 -0.0985955 +v -0.1014801 0.09994781 -0.08556575 +v -0.1030209 0.1053934 0.1052268 +v -0.0212988 -0.01117647 -0.03490889 +v 0.0158276 0.02291071 -0.001223564 +v -0.07115999 0.05342448 0.04761094 +v -0.01541749 -0.022282 0.02439606 +v -0.07139879 0.05052888 0.06651038 +v -0.01759699 0.02451885 0.00341332 +v -0.005952865 0.01053989 -0.003992498 +v -0.02672911 -0.009570718 0.01931787 +v -0.02047238 -0.006453276 -0.02330488 +v -0.1268312 0.07678592 0.002777576 +v -0.1150678 0.0672816 0.009178877 +v -0.07114238 0.03764832 -0.006659627 +v -0.02572748 -0.02377486 -0.007589579 +v -0.01347169 0.01270366 0.01641744 +v 0.04988497 0.003462791 -0.04212153 +v -0.02844059 -0.002164483 -0.06671989 +v -0.02802613 -0.007144094 -0.06690043 +v 0.05029941 -0.0015167 -0.04230213 +v -0.07574981 -0.008532882 0.0003093481 +v -0.07533535 -0.01351237 0.000128746 +v -0.02666298 -0.00684154 0.06633401 +v -0.02624851 -0.01182103 0.06615347 +v 0.05098358 0.0005722046 0.04011029 +v 0.05139804 -0.004407287 0.03992969 +v -0.02176204 -0.04356194 -0.07239652 +v 0.05649534 -0.03909731 -0.04734689 +v -0.0695408 -0.04930222 -0.005644143 +v -0.02081233 -0.04838526 0.06066066 +v 0.0570823 -0.04207826 0.03488696 +v 0.07041439 0.01539612 -0.05716801 +v -0.03705421 0.007957578 -0.08661979 +v -0.03663483 0.002982736 -0.08689362 +v 0.07083377 0.01042128 -0.05744183 +v -0.04998913 0.00577414 -0.06675935 +v -0.0977459 -0.002287507 0.006567121 +v -0.09732652 -0.007262349 0.006293297 +v -0.08314592 -0.002056479 0.02473265 +v -0.04424265 -0.001441121 0.07313687 +v -0.02778679 -0.001180768 0.0936116 +v -0.02736741 -0.006155729 0.09333777 +v 0.07614198 0.00974834 0.05422109 +v 0.07656136 0.004773378 0.05394727 +v 0.0750888 0.01078677 0.03373891 +v 0.07135528 0.01446831 -0.03887033 +v -0.02881977 0.0001393557 0.0680449 +v 0.05481839 0.008709669 0.04043132 +v -0.03199118 -0.08194315 -0.09419835 +v -0.08995503 -0.08119118 0.001257837 +v -0.01710126 -0.08282828 0.0858857 +v 0.08588874 -0.0845921 0.04273254 +v 0.07668623 -0.08404505 -0.06856555 +v 0.04908967 0.01287305 -0.04398769 +v -0.03213352 0.007053494 -0.06265551 +v -0.07307526 -0.0002579689 0.00748086 +v -0.03908038 -0.01706243 -0.0657807 +v 0.04292423 -0.0108943 -0.05105788 +v 0.05283928 -0.01613939 0.03291172 +v -0.02927521 -0.02569211 0.06449127 +v -0.07646161 -0.02560854 0.006180525 +v 0.01355043 -0.02314949 0.04385048 +v 0.01901108 -0.008549571 -0.01473302 +v 0.01652125 -0.01269674 -0.0159986 +v 0.0110606 -0.02729666 0.0425849 +v -0.0290007 0.01061189 0.01693255 +v -0.03149053 0.00646472 0.01566696 +v -0.02181986 0.003832459 0.008502007 +v 0.1225296 0.1186905 0.01693249 +vn 0.6759462 0.3124644 -0.66743 +vn 0.3036638 -0.1538349 0.9402782 +vn -0.1288713 -0.6415519 -0.7561768 +vn 0.6317405 -0.4490114 -0.6318961 +vn 0.5168009 0.6132385 -0.5973738 +vn 0.6353032 -0.3483134 0.6892516 +vn -0.9574758 -0.1581962 0.2412763 +vn -0.7149026 -0.4934512 0.495399 +vn 0.513531 -0.404038 0.7569936 +vn -0.6899258 0.4684089 -0.5519016 +vn 0.2377314 0.9194574 -0.3131804 +vn -0.9323441 0.05290945 0.3576803 +vn 0.902027 0.1131086 -0.4165979 +vn -0.7814992 -0.2662952 -0.5642216 +vn -0.1205278 0.1531868 0.9808195 +vn -0.7951764 -0.1880778 -0.5764732 +vn 0.2017912 -0.9636137 0.1752966 +vn 0.9226931 -0.1570926 -0.3520787 +vn -0.1877113 0.5051754 0.8423552 +vn -0.828216 0.3726066 0.4185961 +vn 0.6965678 0.2683296 0.6654266 +vn -0.8662611 0.1966525 -0.4592596 +vn 0.9343936 -0.1576237 -0.3194739 +vn -0.3524163 -0.3926582 -0.8494835 +vn -0.4714933 0.5698856 0.6729968 +vn 0.9370085 -0.3383273 -0.08688932 +vn 0.8010244 -0.4923694 -0.3404884 +vn -0.5066848 0.5572503 0.6578318 +vn -0.730508 -0.2646336 -0.6295453 +vn 0.4703085 -0.6906323 -0.5493971 +vn 0.5243899 -0.5602476 -0.6412004 +vn -0.6460397 0.4476092 0.618287 +vn 0.7643175 0.5396877 -0.352925 +vn -0.5135508 -0.3115103 -0.7995167 +vn -0.2271142 -0.002504592 0.9738649 +vn -0.6906796 -0.2732151 -0.6695635 +vn 0.4608619 -0.5828981 0.6692057 +vn -0.6596208 -0.3198385 -0.6801499 +vn 0.3868736 0.2156837 0.8965542 +vn 0.7782366 0.5445973 -0.3126687 +vn 0.7123011 0.3717107 -0.595364 +vn -0.350459 -0.9234875 -0.156043 +vn -0.3618422 0.5517769 0.751407 +vn -0.6169685 -0.6768168 -0.4015832 +vn 0.7018433 -0.3692735 0.6091413 +vn 0.9352891 0.190618 -0.2981597 +vn -0.5437235 0.6330461 0.551015 +vn -0.7395383 -0.5798131 -0.3419064 +vn -0.7387139 -0.5767542 -0.3487927 +vn -0.7117295 -0.5995156 -0.3660905 +vn -0.2450886 -0.6918193 -0.6792037 +vn 0.7083459 -0.6808023 -0.1864253 +vn -0.577066 0.183116 -0.7959042 +vn -0.05425279 0.4044118 0.9129664 +vn -0.3655506 0.3593813 -0.858614 +vn -0.6241442 -0.7272121 0.285669 +vn 0.9166214 -0.1101973 -0.3842678 +vn -0.2199824 -0.04261146 0.9745728 +vn -0.4381971 -0.04221215 0.8978872 +vn 0.5168417 0.3057183 -0.7996317 +vn -0.4323599 -0.04563689 0.9005456 +vn -0.1379253 0.4258103 -0.8942384 +vn 0.6460316 0.5284206 0.5508313 +vn 0.3233464 -0.7739131 -0.5445234 +vn 0.9823619 -0.1736944 -0.0692488 +vn 0.3515399 -0.2111629 -0.9120472 +vn -0.1599931 -0.6118627 0.7746137 +vn 0.5969911 0.7998882 0.06148641 +vn -0.8055354 -0.5835604 0.1028103 +vn -0.5761724 0.2658848 0.7728718 +vn 0.3974828 0.776682 0.4886436 +vn -0.7156691 -0.6781162 0.1672608 +vn -0.07940822 0.7431037 -0.6644482 +vn -0.8092278 -0.5867478 -0.02962401 +vn 0.6566163 -0.02666638 0.7537534 +vn -0.8871716 -0.4543079 -0.08081483 +vn 0.7527174 -0.6295595 -0.1925396 +vn -0.8154821 -0.5704756 -0.09770723 +vn -0.4086105 -0.6716307 0.6180208 +vn -0.6949745 0.2989345 -0.6539487 +vn 0.6619559 0.163908 0.7314018 +vn 0.266736 0.6152108 -0.7418677 +vn -0.6199426 -0.7842435 -0.02516915 +vn 0.2866544 0.5899032 -0.7548798 +vn 0.8534204 -0.4676813 -0.2301036 +vn 0.3394441 0.6475117 -0.6822803 +vn -0.000973773 0.1296944 0.9915536 +vn 0.2884114 0.6099449 -0.7380963 +vn 0.3598991 0.7445212 0.5622818 +vn 0.3754486 0.790543 0.4838181 +vn 0.6365256 -0.4595098 -0.6194239 +vn 0.3754486 0.790543 0.4838181 +vn -0.639107 -0.6897317 0.3403125 +vn 0.8143744 -0.5001561 0.2943436 +vn -0.5803067 -0.4435949 -0.6829845 +vn 0.2952288 0.05915305 -0.9535937 +vn -0.8140077 -0.04675739 -0.5789691 +vn -0.7983131 -0.08805058 0.5957711 +vn 0.3206232 -0.007661377 0.9471759 +vn 0.9964691 0.08331603 -0.01038414 +vn -0.08289231 0.9959039 0.03611439 +vn 0.286491 0.1822246 -0.9405941 +vn -0.8123397 -0.04491663 -0.5814524 +vn -0.7837809 -0.2125169 0.5835445 +vn 0.3226649 -0.08544654 0.9426486 +vn 0.9876623 0.1565333 -0.004534003 +vn 0.06860351 -0.9969714 -0.03662946 +vn 0.2587442 0.07481664 -0.9630441 +vn -0.835243 -0.04022668 -0.5484077 +vn -0.7749525 -0.09967847 0.6241096 +vn 0.356296 -0.02137723 0.9341286 +vn 0.9951558 0.08646443 -0.04678641 +vn -0.08387454 0.9949704 0.05476191 +vn 0.2568304 0.09675303 -0.9616013 +vn -0.8347547 -0.04585963 -0.548709 +vn -0.7680125 -0.1630291 0.6193371 +vn 0.3605577 -0.07899904 0.9293854 +vn 0.9929608 0.1093502 -0.04551313 +vn -0.0185397 -0.9998224 -0.00338177 +vn 0.2300202 0.127853 -0.9647509 +vn 0.9940968 0.07122472 -0.08184498 +vn -0.8547598 -0.002095141 -0.5190196 +vn -0.7535963 -0.1191722 0.6464446 +vn 0.3856194 -0.03796748 0.9218765 +vn -0.08387487 0.9949704 0.05476191 +vn -0.08387746 0.9949701 0.05476293 +vn -0.08387492 0.9949704 0.054762 +vn -0.0838771 0.9949703 0.05476097 +vn 0.8370441 -0.3003807 0.4573058 +vn -0.2022253 -0.2306736 0.951785 +vn -0.9958286 0.05799839 0.07043803 +vn -0.3230657 0.1345664 -0.9367606 +vn 0.8053956 0.06682255 -0.588959 +vn 0.8852978 -0.1409901 0.4431361 +vn 0.7753266 -0.07137989 -0.6275139 +vn -0.1704701 -0.0781832 0.9822562 +vn -0.9686102 0.2132797 0.1276949 +vn -0.3726705 0.2958405 -0.8795426 +vn -0.08772954 0.9935086 0.07241636 +vn 0.8625041 -0.5040262 -0.04521547 +vn -0.3532428 0.4605826 -0.8142992 +vn -0.5092613 0.04344368 0.8595148 +vn 0.2014092 -0.6723981 0.7122606 +vn -0.4979688 -0.8294312 -0.2531227 +vn 0.7829186 -0.6168609 -0.08075375 +vn -0.2661578 0.3731634 0.8887683 +vn -0.3811645 0.5344062 -0.7544028 +vn -0.3251337 0.4688944 -0.8212346 +vt -0.1140787 0.03138284 +vt -0.1158554 0.02556534 +vt -0.1136141 0.03119799 +vt 0.09894149 0.1048713 +vt 0.1021685 0.109191 +vt 0.1016744 0.1091149 +vt -0.1066763 0.1035016 +vt -0.1121509 0.1055655 +vt -0.1115286 0.1024404 +vt -0.08475467 0.1383537 +vt -0.0901614 0.1356119 +vt -0.08420303 0.1333365 +vt -0.06537322 -0.03387522 +vt -0.06724139 -0.02905086 +vt -0.09099902 -0.03133029 +vt 0.07564665 0.128677 +vt 0.07249503 0.124302 +vt 0.09948863 0.1275901 +vt -0.005117498 0.1487897 +vt 0.006192557 0.1439615 +vt -0.01494416 0.1586518 +vt 0.08523902 -0.0517007 +vt 0.09608601 -0.04590664 +vt 0.08278457 -0.0473825 +vt 0.0740456 0.113275 +vt 0.08742387 0.1136336 +vt 0.1010457 0.1165095 +vt -0.08119667 0.1337613 +vt -0.0558333 0.1293723 +vt -0.05547386 0.1325383 +vt 0.006262578 0.003618848 +vt 0.01038755 0.0004965129 +vt 0.01137706 0.0003261221 +vt 0.0510156 0.1469026 +vt 0.05004591 0.1471631 +vt 0.04608426 0.1428577 +vt -0.0688381 0.1264659 +vt -0.07417805 0.1235963 +vt -0.07394136 0.1231558 +vt -0.06860141 0.1260255 +vt -0.1078465 0.1188627 +vt -0.1100746 0.1132248 +vt -0.1096096 0.1130411 +vt -0.1073815 0.1186789 +vt 0.1179777 0.102659 +vt 0.1160989 0.1084227 +vt 0.1156235 0.1082677 +vt 0.1175023 0.1025041 +vt -0.1057023 0.1199926 +vt -0.103169 0.1255001 +vt -0.1183577 0.1388551 +vt -0.01354274 0.07674651 +vt -0.01952282 0.07575219 +vt -0.01567168 0.07107045 +vt -0.05110518 0.1516622 +vt -0.04528297 0.1533509 +vt -0.05128602 0.162781 +vt 0.1083808 0.1214489 +vt 0.1108377 0.1159069 +vt 0.118157 0.1268701 +vt 0.06290381 0.1529554 +vt 0.06604792 0.1581991 +vt 0.06413454 0.1593991 +vt 0.1264942 0.130957 +vt 0.1174081 0.1225252 +vt 0.1132593 0.1180342 +vt 0.1123433 0.113189 +vt -0.06912652 0.1435414 +vt -0.06841803 0.1484213 +vt -0.07191654 0.1539707 +vt -0.07323746 0.1560659 +vt -0.04413793 0.1652177 +vt -0.05065675 0.1733763 +vt -0.04452227 0.154104 +vt -0.124141 0.1168212 +vt -0.1340527 0.124265 +vt -0.1310707 0.1216421 +vt 0.09981892 0.1402302 +vt 0.09372418 0.1338609 +vt 0.1062645 0.1424113 +vt -0.007361628 0.1738323 +vt -0.007709313 0.17138 +vt -0.005147806 0.1628786 +vt -0.0538327 0.161586 +vt -0.05581391 0.1605016 +vt -0.04927731 0.1539648 +vt 0.09250034 0.1317357 +vt 0.1043252 0.1442625 +vt 0.09186566 0.135595 +vt 0.09088932 0.1333186 +vt -0.1226757 0.1284759 +vt -0.1122508 0.114762 +vt -0.1163737 0.1228593 +vt -0.08792244 0.137607 +vt -0.08221005 0.1305407 +vt -0.08053256 0.1320529 +vt -0.08900896 0.1344408 +vt -0.08996293 0.1367266 +vt -0.09593607 0.1432101 +vt 0.09943064 0.1496814 +vt 0.1019548 0.1527476 +vt 0.0930742 0.1472529 +vt -0.01989863 -0.1092991 +vt -0.01381554 -0.09547608 +vt -0.01781833 -0.09712763 +vt -0.1225598 0.1129164 +vt -0.1139305 0.1103271 +vt -0.1124988 0.1144137 +vt 0.1284472 0.09043346 +vt 0.1162811 0.0925452 +vt 0.115033 0.08839886 +vt -0.1183999 0.1133674 +vt -0.1187976 0.1155082 +vt -0.1237072 0.1147289 +vt 0.05978798 0.1068567 +vt 0.05546509 0.1071068 +vt 0.05740996 0.103238 +vt -0.1209545 0.1119765 +vt -0.1204887 0.1098495 +vt -0.1123944 0.1091671 +vt 0.1132004 0.1118751 +vt 0.1213011 0.1124761 +vt 0.1266491 0.1136676 +vt 0.01676467 -0.1112485 +vt 0.01793306 -0.1064167 +vt 0.0187613 -0.09627871 +vt -0.11463 0.006658147 +vt -0.1112072 0.004005964 +vt -0.1109009 0.0044012 +vt -0.1143238 0.00705338 +vt -0.08027916 0.03211533 +vt -0.07883324 0.02803375 +vt -0.07836194 0.02820071 +vt -0.07980787 0.03228229 +vt 0.10148 0.1225743 +vt 0.1026396 0.1267463 +vt 0.1021579 0.1268802 +vt 0.1009982 0.1227082 +vt -0.113922 0.0599463 +vt -0.1136528 0.06426805 +vt -0.1196823 0.06541675 +vt 0.06852727 0.1349547 +vt 0.06428875 0.1340687 +vt 0.06717528 0.130841 +vt -0.031122 0.136667 +vt -0.02851421 0.1401238 +vt -0.03805421 0.1462688 +vt 0.08087214 0.137729 +vt 0.08012602 0.1334637 +vt 0.09210182 0.1393621 +vt -0.1228887 0.06915759 +vt -0.1220789 0.06966314 +vt -0.1272685 0.0721065 +vt -0.1220974 0.07083166 +vt -0.1229096 0.07033004 +vt -0.1171047 0.06465271 +vt -0.1166995 0.0635231 +vt -0.1226809 0.06901416 +vt -0.1271384 0.07184418 +vt -0.1225632 0.1000327 +vt -0.1170617 0.09840968 +vt -0.1109856 0.09754105 +vt -0.03230288 0.1458602 +vt -0.03669528 0.1452095 +vt -0.03228601 0.1453605 +vt -0.08946843 0.1235516 +vt -0.09427954 0.1223765 +vt -0.09411226 0.1219053 +vt 0.1168864 0.1136613 +vt 0.1120057 0.1154441 +vt 0.1118342 0.1149745 +vt 0.1167149 0.1131916 +vt -0.08923022 0.102894 +vt -0.08441637 0.1040579 +vt -0.09072792 0.1045616 +vt -0.02206336 -0.06198291 +vt -0.026459 -0.06236074 +vt -0.02417939 -0.06672869 +vt -0.05463599 0.1456433 +vt -0.0503474 0.1467942 +vt -0.04910248 0.1595716 +vt 0.1189074 0.08985645 +vt 0.1159428 0.08829741 +vt 0.1177477 0.08793834 +vt 0.1171631 0.08354659 +vt 0.1199852 0.08535087 +vt 0.123382 0.09447052 +vt -0.1099102 0.04050694 +vt -0.1141292 0.03747376 +vt -0.1123682 0.03800825 +vt 0.1142366 0.08509803 +vt 0.1171581 0.08316149 +vt 0.1234379 0.09405048 +vt -0.09879679 0.08813052 +vt -0.09228849 0.0808953 +vt -0.08597927 0.08036333 +vt 0.1120607 0.09141384 +vt 0.1117586 0.09101542 +vt 0.1165892 0.08735266 +vt -0.0806265 0.1231025 +vt -0.084486 0.1184276 +vt -0.08410042 0.1181093 +vt -0.08024094 0.1227841 +vt 0.003482211 0.1583301 +vt 0.008283757 0.1566894 +vt 0.009117588 0.1606198 +vt 0.003706832 0.1578865 +vt -0.1132746 0.1046951 +vt -0.110367 0.1100145 +vt -0.1334541 0.1032534 +vt 0.07486738 0.03010331 +vt 0.07010847 0.03385869 +vt 0.06923567 0.02785967 +vt 0.08733691 -0.001883278 +vt 0.107071 -0.006697561 +vt 0.08547853 0.003908656 +vt -0.1046513 -0.0164464 +vt -0.1242836 -0.02133137 +vt -0.1016751 -0.02055635 +vt 0.1212808 0.1178688 +vt 0.1042064 0.12052 +vt 0.1016979 0.117381 +vt 0.1256555 0.0683793 +vt 0.1226187 0.0690648 +vt 0.1030349 0.06861331 +vt -0.06885661 -0.05426354 +vt -0.08479238 -0.06094307 +vt -0.0872846 -0.06280877 +vt -0.06427599 0.0429099 +vt -0.04557212 0.04992529 +vt -0.05010713 0.05394819 +vt -0.1186936 0.00875746 +vt -0.1111613 0.01484358 +vt -0.1148017 0.01969101 +vt 0.1133721 0.1177334 +vt 0.09872365 0.1281269 +vt 0.09655823 0.1224647 +vt -0.1210305 0.057626 +vt -0.121323 0.05951564 +vt -0.1272598 0.05359038 +vt -0.03441339 0.1511454 +vt -0.03898577 0.147165 +vt -0.03325248 0.1451954 +vt -0.1214571 0.02656759 +vt -0.1206144 0.02485112 +vt -0.1133698 0.03189421 +vt 0.05701512 -0.0197142 +vt 0.0656883 -0.0248974 +vt 0.07260296 -0.02759513 +vt -0.0905035 0.1244898 +vt -0.08244815 0.1268278 +vt -0.07161251 0.1309845 +vt 0.1098242 0.1199025 +vt 0.1079822 0.1205848 +vt 0.1073509 0.1169247 +vt -0.07463787 0.01149246 +vt -0.07068079 0.01041753 +vt -0.07288663 0.01238216 +vt -0.09607417 -0.01917072 +vt -0.09462651 -0.01839539 +vt -0.0896282 -0.007019095 +vt -0.08036827 0.006541973 +vt -0.07875977 0.01191062 +vt -0.08519926 0.00165505 +vt -0.03451624 0.1565128 +vt -0.03692249 0.1547995 +vt -0.03572354 0.1527238 +vt -0.06357461 -0.005884686 +vt -0.06871022 -0.01052367 +vt -0.07308383 -0.01582387 +vt 0.1154477 0.1019501 +vt 0.1264731 0.09787957 +vt 0.1167904 0.1041863 +vt -0.07543775 0.008823099 +vt -0.07690215 0.003413375 +vt -0.07148749 0.007723369 +vt 0.1106047 0.07933239 +vt 0.1089076 0.0787183 +vt 0.1182114 0.07186498 +vt 0.1143609 0.06150217 +vt 0.1159351 0.06103433 +vt 0.1070294 0.0692399 +vt -0.0856042 0.133481 +vt -0.08607899 0.1360457 +vt -0.08776338 0.1366938 +vt 0.1143609 0.06150217 +vt 0.1159351 0.06103433 +vt 0.1070294 0.0692399 +vt -0.00711296 -0.08452687 +vt -0.006638455 -0.07278366 +vt -0.009549673 -0.07189343 +vt 0.02740077 0.1438553 +vt 0.03042767 0.1435304 +vt 0.02961959 0.1471556 +vt -0.1268686 0.09593622 +vt -0.1149407 0.1007597 +vt -0.1164133 0.1026511 +vt -0.1132122 0.08596116 +vt -0.116635 0.07847779 +vt -0.1161803 0.07826982 +vt -0.1127575 0.08575319 +vt -0.09220141 0.1340483 +vt -0.0955446 0.1265291 +vt -0.09508772 0.1263259 +vt -0.09174453 0.1338452 +vt 0.1076475 0.09159471 +vt 0.1012101 0.09672074 +vt 0.1008986 0.0963296 +vt 0.107336 0.09120356 +vt 0.1088697 0.1063079 +vt 0.1060496 0.1140386 +vt 0.1055798 0.1138672 +vt 0.1083999 0.1061365 +vt 0.04792935 0.1433837 +vt 0.04180641 0.1488816 +vt 0.04147236 0.1485095 +vt 0.04759529 0.1430117 +vt 0.03883927 0.07155949 +vt 0.03899961 0.06333206 +vt 0.04687391 0.06094213 +vt 0.05158016 0.0676925 +vt 0.04661448 0.07425439 +vt -0.1090102 0.0720264 +vt -0.1118069 0.06428732 +vt -0.1082356 0.06319106 +vt -0.1053391 0.07089337 +vt -0.091727 0.1338432 +vt -0.09507115 0.1263244 +vt -0.09153756 0.1253288 +vt -0.0881338 0.1328208 +vt 0.1156497 0.06152174 +vt 0.1103468 0.06781421 +vt 0.1076163 0.06526272 +vt 0.1129695 0.059013 +vt 0.1053661 0.1045086 +vt 0.1025635 0.1122455 +vt 0.09884425 0.1112788 +vt 0.1017466 0.1035787 +vt 0.05987245 0.1339858 +vt 0.05440415 0.1401351 +vt 0.05130423 0.1378654 +vt 0.05677184 0.1317156 +vt -0.04742923 0.07296612 +vt -0.052449 0.06644552 +vt -0.04779873 0.05965646 +vt -0.03990494 0.06198118 +vt -0.03967657 0.07020701 +vt -0.1126079 0.08761457 +vt -0.1170812 0.07738168 +vt -0.116623 0.07718141 +vt -0.1121497 0.0874143 +vt -0.09040387 0.137115 +vt -0.09136991 0.1349397 +vt -0.09493659 0.1269083 +vt -0.09447964 0.1267054 +vt -0.08994691 0.1369121 +vt 0.1126091 0.0847635 +vt 0.1108731 0.08631867 +vt 0.1062476 0.09046261 +vt 0.104291 0.09221547 +vt 0.1039573 0.09184305 +vt 0.1122754 0.08439109 +vt 0.1087505 0.1067333 +vt 0.1050009 0.1172529 +vt 0.1045299 0.1170851 +vt 0.1082795 0.1065654 +vt 0.04346379 0.1439831 +vt 0.04188982 0.1453021 +vt 0.03631011 0.1499778 +vt 0.03490401 0.1511562 +vt 0.03458287 0.1507729 +vt 0.04314264 0.1435999 +vt 0.03859253 0.07477754 +vt 0.03847141 0.06361028 +vt 0.04096083 0.06277146 +vt 0.04090803 0.06440245 +vt 0.04062173 0.07324729 +vt 0.04055234 0.07539091 +vt -0.1115371 0.08516809 +vt -0.1158737 0.07487652 +vt -0.1081331 0.0712769 +vt -0.09044557 0.1366012 +vt -0.09494228 0.1263786 +vt -0.08806984 0.1235113 +vt 0.116101 0.07012583 +vt 0.1085203 0.07832673 +vt 0.1028228 0.07304142 +vt 0.1059965 0.1057554 +vt 0.1022465 0.1162749 +vt 0.09359471 0.1136038 +vt 0.04671876 0.1411094 +vt 0.03839004 0.1485495 +vt 0.04023906 0.1347846 +vt -0.0485208 0.06271283 +vt -0.05463352 0.05336634 +vt -0.04763341 0.04466456 +vt -0.03719438 0.04863306 +vt -0.03774281 0.05978751 +vt -0.1063763 0.06940357 +vt -0.1014021 0.07940255 +vt -0.1101423 0.08320101 +vt 0.02503191 0.1526401 +vt 0.01901537 0.1452495 +vt 0.02837731 0.1391605 +vt -0.08299437 0.1268454 +vt -0.07715007 0.1363621 +vt -0.08486463 0.140017 +vt 0.101952 0.07948565 +vt 0.1099468 0.07168785 +vt 0.1152929 0.07687157 +vt 0.09472505 0.1153084 +vt 0.09966098 0.1052905 +vt 0.1071245 0.1074564 +vt 0.05429678 0.06709726 +vt 0.0557166 0.06900758 +vt 0.04925064 0.07811327 +vt 0.04749985 0.07756533 +vt 0.04874702 0.07564453 +vt 0.05329662 0.06863762 +vt 0.04096082 0.06277189 +vt 0.04684603 0.06078886 +vt 0.04811948 0.0623384 +vt 0.04090803 0.06440288 +vt 0.04874703 0.07564454 +vt 0.04749986 0.07756533 +vt 0.04055234 0.07539096 +vt 0.04062172 0.07324734 +vt 0.04684583 0.06078869 +vt 0.04905448 0.06004447 +vt 0.05429659 0.06709749 +vt 0.05329644 0.06863783 +vt 0.04811928 0.06233824 +vt 0.06042005 0.1400615 +vt 0.05567345 0.1466915 +vt 0.05380367 0.1449886 +vt 0.1090244 0.06430319 +vt 0.1065122 0.07227091 +vt 0.1045174 0.07067419 +vt -0.01340094 0.1599647 +vt -0.02074384 0.1557398 +vt -0.01893001 0.1538718 +vt -0.1014335 0.1117869 +vt -0.1043637 0.1034366 +vt -0.1019694 0.1024032 +vt -0.09895404 0.1022399 +vt -0.1050736 0.09790201 +vt -0.09772499 0.09993985 +vt 0.06604317 0.1456356 +vt 0.07035102 0.1387124 +vt 0.07234798 0.1403156 +vt -0.1009395 0.1124417 +vt -0.09987329 0.1101134 +vt -0.09348343 0.1140423 +vt 0.1101286 0.08789753 +vt 0.1132709 0.08015662 +vt 0.1151113 0.08189123 +vt 0.002846764 0.1586051 +vt 0.01075032 0.1616549 +vt 0.009274639 0.1637408 +vt -0.09130703 0.1005571 +vt -0.08848813 0.1089456 +vt -0.09089162 0.1099469 +vt 0.05002477 0.06340988 +vt 0.05546781 0.06948122 +vt 0.05122348 0.07667714 +vt 0.04300268 0.07463127 +vt 0.04290868 0.0657823 +vt -0.006475641 0.1533231 +vt -0.0114986 0.1567173 +vt -0.01177854 0.156303 +vt -0.006755578 0.1529089 +vt -0.0747896 0.09971711 +vt -0.07908086 0.09543516 +vt -0.07872769 0.09508123 +vt -0.07443643 0.09936318 +vt 0.1166597 0.09208065 +vt 0.1108894 0.09393932 +vt 0.1107361 0.0934634 +vt 0.1165064 0.09160472 +vt 0.05920173 0.06907564 +vt 0.05513092 0.07356769 +vt 0.05805777 0.06968994 +vt -0.09210218 0.03360453 +vt -0.09663808 0.03762642 +vt -0.0978532 0.03168727 +vt -0.02150865 0.1506603 +vt -0.01634552 0.1474835 +vt -0.01356576 0.1653571 +vt 0.1074875 0.1151102 +vt 0.1133728 0.1136564 +vt 0.1132144 0.1322682 +vt -0.06883705 0.09612168 +vt -0.07584256 0.1132075 +vt -0.06999642 0.09553699 +vt -0.08491834 0.1101264 +vt -0.07818113 0.09293307 +vt -0.07504927 0.09664721 +o group2002521463 +g mesh2002521463 +usemtl mat10 +f 3/3/1 2/2/1 1/1/1 +f 3/6/2 1/5/2 4/4/2 +f 6/9/3 5/8/3 4/7/3 +f 4/12/4 2/11/4 3/10/4 +f 7/15/5 1/14/5 5/13/5 +f 7/18/6 4/17/6 1/16/6 +f 7/21/7 6/20/7 8/19/7 +f 4/24/8 8/23/8 6/22/8 +f 7/27/9 8/26/9 4/25/9 +f 5/30/10 6/29/10 7/28/10 +f 2/33/11 5/32/11 1/31/11 +f 4/36/12 5/35/12 2/34/12 +o group1119943561 +g mesh1119943561 +usemtl mat10 +f 12/40/13 11/39/13 10/38/13 9/37/13 +f 11/44/14 14/43/14 13/42/14 10/41/14 +f 14/48/15 12/47/15 9/46/15 13/45/15 +f 15/51/16 10/50/16 13/49/16 +f 14/54/17 11/53/17 12/52/17 +f 16/57/18 9/56/18 10/55/18 +f 16/60/19 13/59/19 9/58/19 +f 19/63/20 18/62/20 17/61/20 +f 13/67/21 17/66/21 18/65/21 15/64/21 +f 16/71/22 19/70/22 17/69/22 13/68/22 +f 10/74/23 15/73/23 16/72/23 +f 20/77/24 15/76/24 18/75/24 +f 20/80/25 21/79/25 16/78/25 +f 22/83/26 19/82/26 16/81/26 +f 22/86/27 18/85/27 19/84/27 +f 22/90/28 21/89/28 20/88/28 23/87/28 +f 18/93/29 23/92/29 20/91/29 +f 22/96/30 23/95/30 18/94/30 +f 16/99/31 21/98/31 22/97/31 +f 16/102/32 15/101/32 20/100/32 +o group634111619 +g mesh634111619 +usemtl mat10 +f 26/105/33 25/104/33 24/103/33 +f 25/108/34 28/107/34 27/106/34 +f 28/111/35 26/110/35 24/109/35 +f 24/114/36 27/113/36 29/112/36 +f 28/117/37 25/116/37 26/115/37 +f 28/120/38 29/119/38 27/118/38 +f 24/123/39 29/122/39 28/121/39 +f 25/126/40 27/125/40 24/124/40 +o group1265393450 +g mesh1265393450 +usemtl mat9 +f 33/130/41 32/129/41 31/128/41 30/127/41 +f 32/134/42 35/133/42 34/132/42 31/131/42 +f 35/138/43 33/137/43 30/136/43 34/135/43 +f 36/141/44 31/140/44 34/139/44 +f 35/144/45 32/143/45 33/142/45 +f 37/147/46 30/146/46 31/145/46 +f 37/150/47 34/149/47 30/148/47 +f 37/153/48 36/152/48 38/151/48 +f 34/156/49 38/155/49 36/154/49 +f 37/159/50 38/158/50 34/157/50 +f 31/162/51 36/161/51 37/160/51 +o group792360013 +g mesh792360013 +usemtl mat9 +f 41/165/52 40/164/52 39/163/52 +f 43/168/53 42/167/53 40/166/53 +f 43/172/54 41/171/54 39/170/54 42/169/54 +f 44/175/55 40/174/55 42/173/55 +f 43/178/56 40/177/56 41/176/56 +f 45/181/57 39/180/57 40/179/57 +f 42/184/58 46/183/58 44/182/58 +f 45/187/59 44/186/59 46/185/59 +f 46/190/60 42/189/60 39/188/60 +f 45/193/61 46/192/61 39/191/61 +f 40/196/62 44/195/62 45/194/62 +o group481990970 +g mesh481990970 +usemtl mat10 +f 49/199/63 48/198/63 47/197/63 +f 48/203/64 51/202/64 50/201/64 47/200/64 +f 51/207/65 49/206/65 52/205/65 50/204/65 +f 53/210/66 47/209/66 50/208/66 +f 51/213/67 48/212/67 49/211/67 +f 47/216/68 53/215/68 49/214/68 +f 52/219/69 53/218/69 50/217/69 +f 52/222/70 49/221/70 54/220/70 +f 52/225/71 54/224/71 53/223/71 +f 53/228/72 54/227/72 49/226/72 +o group1935184771 +g mesh1935184771 +usemtl mat9 +f 57/231/73 56/230/73 55/229/73 +f 56/234/74 59/233/74 58/232/74 +f 59/237/75 57/236/75 55/235/75 +f 55/240/76 58/239/76 60/238/76 +f 59/243/77 56/242/77 57/241/77 +f 59/246/78 60/245/78 58/244/78 +f 55/249/79 60/248/79 59/247/79 +f 56/252/80 58/251/80 55/250/80 +o group2043820846 +g mesh2043820846 +usemtl mat10 +f 63/255/81 62/254/81 61/253/81 +f 62/258/82 64/257/82 61/256/82 +f 64/261/83 66/260/83 65/259/83 +f 65/264/84 61/263/84 67/262/84 +f 68/267/85 64/266/85 62/265/85 +f 65/270/86 67/269/86 64/268/86 +f 69/273/87 66/272/87 63/271/87 +f 64/276/88 67/275/88 61/274/88 +f 66/279/89 69/278/89 61/277/89 +f 61/282/90 65/281/90 66/280/90 +f 61/285/91 69/284/91 63/283/91 +f 61/288/92 65/287/92 66/286/92 +f 68/291/93 63/290/93 66/289/93 +f 62/294/94 63/293/94 68/292/94 +f 64/297/95 68/296/95 66/295/95 +o group971385351 +g mesh971385351 +usemtl mat20 +f 73/301/96 72/300/96 71/299/96 70/298/96 +f 72/305/97 75/304/97 74/303/97 71/302/97 +f 75/309/98 77/308/98 76/307/98 74/306/98 +f 77/313/99 79/312/99 78/311/99 76/310/99 +f 79/317/100 73/316/100 70/315/100 78/314/100 +f 70/322/101 71/321/101 74/320/101 76/319/101 78/318/101 +f 81/326/102 80/325/102 72/324/102 73/323/102 +f 80/330/103 82/329/103 75/328/103 72/327/103 +f 82/334/104 83/333/104 77/332/104 75/331/104 +f 83/338/105 84/337/105 79/336/105 77/335/105 +f 84/342/106 81/341/106 73/340/106 79/339/106 +f 84/347/107 83/346/107 82/345/107 80/344/107 81/343/107 +o group7854860 +g mesh7854860 +usemtl mat21 +f 88/351/108 87/350/108 86/349/108 85/348/108 +f 87/356/109 91/355/109 90/354/109 89/353/109 86/352/109 +f 91/362/110 95/361/110 94/360/110 93/359/110 92/358/110 90/357/110 +f 95/366/111 97/365/111 96/364/111 94/363/111 +f 97/372/112 88/371/112 85/370/112 99/369/112 98/368/112 96/367/112 +f 98/378/113 101/377/113 100/376/113 93/375/113 94/374/113 96/373/113 +f 102/381/114 87/380/114 88/379/114 +f 103/384/115 91/383/115 87/382/115 +f 104/387/116 95/386/116 91/385/116 +f 105/390/117 97/389/117 95/388/117 +f 105/393/118 88/392/118 97/391/118 +f 105/398/119 104/397/119 103/396/119 102/395/119 106/394/119 +f 88/401/120 106/400/120 102/399/120 +f 105/404/121 106/403/121 88/402/121 +f 87/407/122 102/406/122 103/405/122 +f 91/410/123 103/409/123 104/408/123 +f 95/413/124 104/412/124 105/411/124 +f 108/419/125 107/418/125 99/417/125 85/416/125 86/415/125 89/414/125 +f 100/423/126 109/422/126 92/421/126 93/420/126 +f 101/427/127 98/426/127 99/425/127 107/424/127 +f 109/432/128 108/431/128 89/430/128 90/429/128 92/428/128 +f 110/435/129 108/434/129 109/433/129 +f 111/438/130 107/437/130 108/436/130 +f 112/441/131 101/440/131 107/439/131 +f 113/444/132 100/443/132 101/442/132 +f 113/447/133 109/446/133 100/445/133 +f 109/450/134 114/449/134 110/448/134 +f 113/453/135 114/452/135 109/451/135 +f 108/456/136 110/455/136 111/454/136 +f 107/459/137 111/458/137 112/457/137 +f 101/462/138 112/461/138 113/460/138 +f 113/467/139 112/466/139 111/465/139 110/464/139 114/463/139 +o group1104563999 +g mesh1104563999 +usemtl mat10 +f 118/471/140 117/470/140 116/469/140 115/468/140 +f 117/475/141 120/474/141 119/473/141 116/472/141 +f 120/479/142 118/478/142 115/477/142 119/476/142 +f 121/482/143 116/481/143 119/480/143 +f 120/485/144 117/484/144 118/483/144 +f 122/488/145 115/487/145 116/486/145 +f 122/491/146 119/490/146 115/489/146 +f 119/494/147 122/493/147 121/492/147 +f 116/497/148 121/496/148 122/495/148 diff --git a/ar/ex1_ar_intro/ex1_ar_intro.pde b/ar/ex1_ar_intro/ex1_ar_intro.pde new file mode 100644 index 0000000..c9c23b9 --- /dev/null +++ b/ar/ex1_ar_intro/ex1_ar_intro.pde @@ -0,0 +1,83 @@ +import processing.ar.*; + +ARTracker tracker; +ArrayList trackAnchors = new ArrayList(); +ARAnchor touchAnchor; +PShape obj; + +void setup() { + fullScreen(AR); + obj = loadShape("model.obj"); + tracker = new ARTracker(this); + tracker.start(); + noStroke(); +} + +void draw() { + lights(); + drawObject(touchAnchor); + drawAnchors(); + drawTrackables(); +} + +void mousePressed() { + if (touchAnchor != null) touchAnchor.dispose(); + ARTrackable hit = tracker.get(mouseX, mouseY); + if (hit != null) touchAnchor = new ARAnchor(hit); + else touchAnchor = null; +} + +void trackableEvent(ARTrackable t) { + if (trackAnchors.size() < 10 && t.isFloorPlane()) { + trackAnchors.add(new ARAnchor(t, 0, 0, 0)); + } +} + +void drawAnchors() { + for (ARAnchor anchor : trackAnchors) { + if (anchor.isTracking()) drawSphere(anchor, 0.05); + if (anchor.isStopped()) anchor.dispose(); + } + tracker.clearAnchors(trackAnchors); +} + +void drawTrackables() { + for (int i = 0; i < tracker.count(); i++) { + ARTrackable t = tracker.get(i); + pushMatrix(); + t.transform(); + float lx = t.lengthX(); + float lz = t.lengthZ(); + if (mousePressed && t.isSelected(mouseX, mouseY)) { + fill(255, 0, 0, 100); + } else { + fill(255, 100); + } + drawPlane(lx, lz); + popMatrix(); + } +} + +void drawSphere(ARAnchor anchor, float r) { + anchor.attach(); + fill(#CF79F5); + sphere(r); + anchor.detach(); +} + +void drawPlane(float lx, float lz) { + beginShape(QUADS); + vertex(-lx/2, 0, -lz/2); + vertex(-lx/2, 0, +lz/2); + vertex(+lx/2, 0, +lz/2); + vertex(+lx/2, 0, -lz/2); + endShape(); +} + +void drawObject(ARAnchor anchor) { + if (anchor != null) { + anchor.attach(); + shape(obj); + anchor.detach(); + } +} diff --git a/sensors/ex2_boxes/ex2_boxes.pde b/sensors/ex2_boxes/ex2_boxes.pde index b2a5cd2..e1db644 100644 --- a/sensors/ex2_boxes/ex2_boxes.pde +++ b/sensors/ex2_boxes/ex2_boxes.pde @@ -30,7 +30,7 @@ void setup() { fullScreen(P2D); orientation(PORTRAIT); - context = getActivity(); + context = getContext(); manager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); listener = new AccelerometerListener(); @@ -95,4 +95,4 @@ class AccelerometerListener implements SensorEventListener { } public void onAccuracyChanged(Sensor sensor, int accuracy) { } -} \ No newline at end of file +} diff --git a/vr/ex3_solar_system/code/sketch.properties b/vr/ex3_solar_system/code/sketch.properties new file mode 100644 index 0000000..0828c1e --- /dev/null +++ b/vr/ex3_solar_system/code/sketch.properties @@ -0,0 +1,3 @@ +mode=Android +component=vr +mode.id=processing.mode.android.AndroidMode diff --git a/vr/ex3_solar_system/data/earthlike.jpg b/vr/ex3_solar_system/data/earthlike.jpg new file mode 100644 index 0000000..8fd33bf Binary files /dev/null and b/vr/ex3_solar_system/data/earthlike.jpg differ diff --git a/vr/ex3_solar_system/data/mercury.jpg b/vr/ex3_solar_system/data/mercury.jpg new file mode 100644 index 0000000..662ddda Binary files /dev/null and b/vr/ex3_solar_system/data/mercury.jpg differ diff --git a/vr/ex3_solar_system/data/sol.jpg b/vr/ex3_solar_system/data/sol.jpg new file mode 100644 index 0000000..46d7bea Binary files /dev/null and b/vr/ex3_solar_system/data/sol.jpg differ diff --git a/vr/ex3_solar_system/data/startfield.jpg b/vr/ex3_solar_system/data/startfield.jpg new file mode 100644 index 0000000..08a9cdb Binary files /dev/null and b/vr/ex3_solar_system/data/startfield.jpg differ diff --git a/vr/ex3_solar_system/ex3_solar_system.pde b/vr/ex3_solar_system/ex3_solar_system.pde new file mode 100644 index 0000000..216a804 --- /dev/null +++ b/vr/ex3_solar_system/ex3_solar_system.pde @@ -0,0 +1,114 @@ +import processing.vr.*; + +VRCamera cam; + +PShape stars; +PShape sol; +PShape planet1; +PShape planet2; + +float orbitalAngle1; +float orbitalAngle2; +float rotationAngle1; +float rotationAngle2; + +int followPlanet; +PMatrix3D mat = new PMatrix3D(); +float cx, cy, cz; + +void setup() { + fullScreen(VR); + cameraUp(); + + cam = new VRCamera(this); + cam.setNear(10); + cam.setFar(1500); + + noStroke(); + sphereDetail(40); + + stars = createShape(SPHERE, 1000); + stars.setTexture(loadImage("startfield.jpg")); + + sol = createShape(SPHERE, 100); + sol.setTexture(loadImage("sol.jpg")); + + planet1 = createShape(SPHERE, 20); + planet1.setTexture(loadImage("mercury.jpg")); + + planet2 = createShape(SPHERE, 50); + planet2.setTexture(loadImage("earthlike.jpg")); +} + +void calculate() { + orbitalAngle1 += 0.002; + orbitalAngle2 += 0.001; + rotationAngle1 += 0.02; + rotationAngle2 += 0.02; + + if (0 < followPlanet) { + float d; + float r; + float oa; + float ra; + if (followPlanet == 1) { + d = 300; + r = 20; + oa = orbitalAngle1; + ra = rotationAngle1; + } else { + d = 600; + r = 50; + oa = orbitalAngle2; + ra = rotationAngle2; + } + + mat.reset(); + mat.rotateY(oa); + mat.translate(d, 0, 0); + mat.rotateY(ra); + mat.translate(-2 * r, 0, 0); + + cx = mat.multX(0, 0, 0); + cy = mat.multY(0, 0, 0); + cz = mat.multZ(0, 0, 0); + } +} + +void draw() { + background(0); + shape(stars); + + if (0 < followPlanet) cam.setPosition(cx, cy, cz); + + shape(sol); + if (intersectsSphere(100, 0, 0) && mousePressed) followPlanet = 0; + + pointLight(255, 255, 255, 0, 0, 0); + + pushMatrix(); + rotateY(orbitalAngle1); + translate(300, 0, 0); + rotateY(rotationAngle1); + if (followPlanet != 1 && intersectsSphere(2 * 20, 0, 0)) { + planet1.setTint(color(255, 0, 0)); + if (mousePressed) followPlanet = 1; + } else { + planet1.setTint(color(255)); + } + shape(planet1); + popMatrix(); + + pushMatrix(); + rotateY(orbitalAngle2); + translate(600, 0, 0); + rotateY(rotationAngle2); + if (followPlanet != 2 && intersectsSphere(2 * 50, 0, 0)) { + planet2.setTint(color(255, 0, 0)); + if (mousePressed) followPlanet = 2; + } else { + planet2.setTint(color(255)); + } + shape(planet2); + popMatrix(); +}