-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.json
1 lines (1 loc) · 114 KB
/
db.json
1
{"meta":{"version":1,"warehouse":"5.0.1"},"models":{"Asset":[{"_id":"node_modules/hexo-theme-butterfly/source/img/favicon.png","path":"img/favicon.png","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/img/friend_404.gif","path":"img/friend_404.gif","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/img/404.jpg","path":"img/404.jpg","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/css/index.styl","path":"css/index.styl","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/css/var.styl","path":"css/var.styl","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/js/main.js","path":"js/main.js","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/js/tw_cn.js","path":"js/tw_cn.js","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/js/utils.js","path":"js/utils.js","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/js/search/algolia.js","path":"js/search/algolia.js","modified":1,"renderable":1},{"_id":"node_modules/hexo-theme-butterfly/source/js/search/local-search.js","path":"js/search/local-search.js","modified":1,"renderable":1},{"_id":"source/CNAME","path":"CNAME","modified":1,"renderable":0},{"_id":"source/img/bg1.jpg","path":"img/bg1.jpg","modified":1,"renderable":0},{"_id":"source/img/avatar.png","path":"img/avatar.png","modified":1,"renderable":0},{"_id":"source/img/bg2.jpg","path":"img/bg2.jpg","modified":1,"renderable":0},{"_id":"source/img/support.jpg","path":"img/support.jpg","modified":1,"renderable":0},{"_id":"source/img/bg3.jpg","path":"img/bg3.jpg","modified":1,"renderable":0},{"_id":"source/font/IntelOneMono-Light.otf","path":"font/IntelOneMono-Light.otf","modified":1,"renderable":0}],"Cache":[{"_id":"source/_posts/入学記事.md","hash":"f526c1f95ecdd9e05ad7be71fa73c089fa3eefd3","modified":1718471535398},{"_id":"source/css/font.css","hash":"d2d64751097d188f637a5baa88920b6acf86d8bb","modified":1713433393810},{"_id":"source/_posts/Rasterize.md","hash":"4279fc8e7c44389d51b09b9294f1339c873675c0","modified":1718469640645},{"_id":"source/categories/index.md","hash":"ab02a237696bf7ae1c09e53934f65b67ae738eb2","modified":1713373965930},{"_id":"source/css/modify.styl","hash":"c8631b54fd93982809c41f543dfbadcc4496834f","modified":1713282059457},{"_id":"source/CNAME","hash":"bd57814fbdd38df34e54aad5c6bcae877226fd51","modified":1718467502203},{"_id":"source/css/universe.css","hash":"f87b874a9380792a00dde3743a3790861140969a","modified":1713370148779},{"_id":"source/img/avatar.png","hash":"e897f9b98237b2413ab8040835d8ac9bd3489f9e","modified":1713359662130},{"_id":"source/tags/index.md","hash":"5a905a59ebc1b6cdaaefb726558c388f9a540f94","modified":1713374063237},{"_id":"source/img/support.jpg","hash":"a2e28af0d7131faa161ba2095f47bc8c40c0ab3b","modified":1713363578879},{"_id":"source/js/universe.js","hash":"768994786dcb2453af3c0688f5c22090924feda2","modified":1713370076217},{"_id":"source/_posts/Rasterize/box.png","hash":"2aed87d517470605248bf619cacde7eeebf867f0","modified":1718467555506},{"_id":"source/font/IntelOneMono-Light.otf","hash":"5258b2c9c7cd3a93b9c30b8424f90895887acbcf","modified":1713433382056},{"_id":"source/_posts/Rasterize/叉乘.png","hash":"0b542351dee0feea1199911e20aebfef27593153","modified":1718467555509},{"_id":"source/img/bg3.jpg","hash":"de4afa09e56869e22e92bbfb6d76c101f2603606","modified":1713282059493},{"_id":"source/_posts/Rasterize/投影变换.png","hash":"6b65cd1cb4cdc0d7eafd937f103f141601b0acb8","modified":1718467555511},{"_id":"source/_posts/Rasterize/颜色插值.png","hash":"8c3ddedf8c817a97eac2f3d197a06fb2eeb5892a","modified":1718467555513},{"_id":"source/_posts/Rasterize/光栅化.png","hash":"9e2daedb7616b2fcf7d39cbf983887a5368dea5f","modified":1718467555509},{"_id":"source/_posts/Rasterize/视口变换矩阵.png","hash":"adfd86be765b83dfbb63d2972cca735869f914f0","modified":1718467555511},{"_id":"source/_posts/Rasterize/屏幕空间.png","hash":"586fb5b5f8dd8b190bd03810d00fcb85babf125a","modified":1718467555510},{"_id":"source/img/bg1.jpg","hash":"4d27a3413a7bf3b0dbf46d506e09b1d8c25aae11","modified":1713282059458},{"_id":"source/_posts/Rasterize/image.png","hash":"bc79f828ca108cae3d556d3cc1cfc3db7e27228b","modified":1718467555507},{"_id":"node_modules/hexo-theme-butterfly/package.json","hash":"b3b9e581778f66a1e920dc99c5035730033a475f","modified":1713020300420},{"_id":"node_modules/hexo-theme-butterfly/README_CN.md","hash":"148da187d16033624ceccce8b8561835296f5a5a","modified":1713020300420},{"_id":"node_modules/hexo-theme-butterfly/LICENSE","hash":"1128f8f91104ba9ef98d37eea6523a888dcfa5de","modified":1713020300401},{"_id":"node_modules/hexo-theme-butterfly/README.md","hash":"4e01b47448d9f3a02afc04eef644e2321253f6f4","modified":1713020300421},{"_id":"node_modules/hexo-theme-butterfly/_config.yml","hash":"39fbabbbf1e89dd82a6ea21517c6c24b49e4dd98","modified":1718362977149},{"_id":"node_modules/hexo-theme-butterfly/.github/FUNDING.yml","hash":"da5e77f5e0cdb7e11b36546fb6796d10e3dfbe5d","modified":1713020300463},{"_id":"node_modules/hexo-theme-butterfly/languages/default.yml","hash":"90a6dc361de67532437d819a55ec64945ca5404b","modified":1713020300462},{"_id":"node_modules/hexo-theme-butterfly/plugins.yml","hash":"d807fbb62163bb6fc5a83a24ebd69ac14cf45f67","modified":1713020300463},{"_id":"node_modules/hexo-theme-butterfly/languages/en.yml","hash":"af5603b1a888f167dc80be6d53a19437b5cf6bef","modified":1713020300463},{"_id":"node_modules/hexo-theme-butterfly/languages/zh-CN.yml","hash":"5004faee365139521f161babd66649a8107e4008","modified":1713020300464},{"_id":"node_modules/hexo-theme-butterfly/languages/zh-TW.yml","hash":"03629d1d13a7be09d4933aa5dc0dcbe45e79140c","modified":1713020300464},{"_id":"node_modules/hexo-theme-butterfly/layout/archive.pug","hash":"bb32c9c476372de747dfa563b83f77d7a917a77d","modified":1713020300423},{"_id":"node_modules/hexo-theme-butterfly/layout/category.pug","hash":"710708cfdb436bc875602abf096c919ccdf544db","modified":1713020300429},{"_id":"node_modules/hexo-theme-butterfly/.github/ISSUE_TEMPLATE/bug_report.yml","hash":"6e34b565ea013812d5e363b6de5fa1f9078d4e12","modified":1713020300462},{"_id":"node_modules/hexo-theme-butterfly/.github/ISSUE_TEMPLATE/feature_request.yml","hash":"996640605ed1e8e35182f0fd9a60a88783b24b03","modified":1713020300463},{"_id":"node_modules/hexo-theme-butterfly/.github/ISSUE_TEMPLATE/config.yml","hash":"7b4831ae8f8f8c55dd1b856781210c517c63e6dd","modified":1713020300462},{"_id":"node_modules/hexo-theme-butterfly/layout/page.pug","hash":"baf469784aef227e4cc840550888554588e87a13","modified":1713020300443},{"_id":"node_modules/hexo-theme-butterfly/layout/post.pug","hash":"fc9f45252d78fcd15e4a82bfd144401cba5b169a","modified":1713020300445},{"_id":"node_modules/hexo-theme-butterfly/layout/index.pug","hash":"e1c3146834c16e6077406180858add0a8183875a","modified":1713020300439},{"_id":"node_modules/hexo-theme-butterfly/.github/workflows/publish.yml","hash":"05857c2f265246d8de00e31037f2720709540c09","modified":1713020300464},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/404.pug","hash":"cb49f737aca272ccfeb62880bd651eccee72a129","modified":1713020300421},{"_id":"node_modules/hexo-theme-butterfly/layout/tag.pug","hash":"0440f42569df2676273c026a92384fa7729bc4e9","modified":1713020300450},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/footer.pug","hash":"02390a5b6ae1f57497b22ba2e6be9f13cfb7acac","modified":1713020300434},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/layout.pug","hash":"7fa9ae4b70b87fc97e992dde5944681f92b59bea","modified":1713020300440},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/additional-js.pug","hash":"aca0ec7ef69b21d1f242c62fed389468a0f0e1a2","modified":1713020300422},{"_id":"node_modules/hexo-theme-butterfly/.github/workflows/stale.yml","hash":"ac62b989b5550c756e1986fcc68f243170705383","modified":1713020300464},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head.pug","hash":"ecec62305aaa596bb1dfbb46c13d06fb5a9628cf","modified":1713020300436},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/pagination.pug","hash":"4c85de4dea4dca4e5088097a79bd6d7009cbf8ef","modified":1713020300443},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/sidebar.pug","hash":"9f0e9e039f304439007460fa0a7c8ac18e0ffd37","modified":1713020300449},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/rightside.pug","hash":"db275f7fbe4438b54cd813b695f4834e10aa234f","modified":1713020300448},{"_id":"node_modules/hexo-theme-butterfly/source/img/favicon.png","hash":"3cf89864b4f6c9b532522a4d260a2e887971c92d","modified":1713020300421},{"_id":"node_modules/hexo-theme-butterfly/source/img/friend_404.gif","hash":"8d2d0ebef70a8eb07329f57e645889b0e420fa48","modified":1713020300403},{"_id":"node_modules/hexo-theme-butterfly/source/img/404.jpg","hash":"fb4489bc1d30c93d28f7332158c1c6c1416148de","modified":1713020300404},{"_id":"node_modules/hexo-theme-butterfly/source/css/var.styl","hash":"152b6bd4b6285165541a71f5a1c913f8ee6a602b","modified":1713020300461},{"_id":"node_modules/hexo-theme-butterfly/source/css/index.styl","hash":"755490867fd8afe47d5cce24faea2ca172b0c4dd","modified":1713020300457},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/404.js","hash":"83cd7f73225ccad123afbd526ce1834eb1eb6a6d","modified":1713020300404},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/init.js","hash":"428b94c7b9e83f7ea36227dee66bfe3c23aee4a8","modified":1713020300411},{"_id":"node_modules/hexo-theme-butterfly/source/js/tw_cn.js","hash":"f8d2e3f31468991a7f5171cbfdb157dfb86d3372","modified":1713020300419},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/cdn.js","hash":"21fb5aabe043486d095c4c8cce361ed85ba88a26","modified":1713020300408},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/comment.js","hash":"5351e0bc09e6b5b3f6d30f333a2520626a28ca3a","modified":1713020300409},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/welcome.js","hash":"8ad9911b755cba13dde2cc055c3f857a6b0dd20e","modified":1713020300419},{"_id":"node_modules/hexo-theme-butterfly/scripts/filters/post_lazyload.js","hash":"860f967ecf3c6a6ea785b560a7aae4d0757cd18a","modified":1713020300415},{"_id":"node_modules/hexo-theme-butterfly/scripts/filters/random_cover.js","hash":"a8eef3f37428436554f58a2b6bac7c255fbdf38d","modified":1713020300416},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/stylus.js","hash":"e196a99733d7f90899bceed5d12488e8234817d5","modified":1713020300417},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/aside_categories.js","hash":"96f861151e3b889ef0ffe78821d489ad2625ee43","modified":1713020300407},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/aside_archives.js","hash":"2ec66513d5322f185d2071acc052978ba9415a8e","modified":1713020300406},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/series.js","hash":"821e973d41f7b3b64cde91e0e836ea49c43e3c06","modified":1713020300417},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/related_post.js","hash":"4677be4175da6800c0b3b8c1614e593f73df8831","modified":1713020300416},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/findArchiveLength.js","hash":"7caf549810f971c34196fb9deac2d992545bdff9","modified":1713020300409},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/inject_head_js.js","hash":"d5c7e61257b08a9648404f6f48ce4d471cd5fa55","modified":1713020300412},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/button.js","hash":"93229d44b35b9da92e647b89d6d3087085974a29","modified":1713020300408},{"_id":"node_modules/hexo-theme-butterfly/scripts/helpers/page.js","hash":"e2a8a09bfe47da26eab242a36f516e6c452c799a","modified":1713020300415},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/inlineImg.js","hash":"512c68a22ae4a58d6a6b24b368a0c00c2ccb4fcb","modified":1713020300412},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/hide.js","hash":"365db87ddfc582bf8c15cb440c48bed95106e4b1","modified":1713020300411},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/flink.js","hash":"ab62919fa567b95fbe14889517abda649991b1ee","modified":1713020300410},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/mermaid.js","hash":"5c2a07df5874b5377540884e4da14dd21489378f","modified":1713020300414},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/label.js","hash":"19773218877281ccffed921431e87148413a7c20","modified":1713020300413},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/series.js","hash":"830b1d592278b9f676df0cf9a91b1eeda2456aec","modified":1713020300417},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/tabs.js","hash":"ffc62222f8d7b4d44c1c0726c8a08824a2201039","modified":1713020300418},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/score.js","hash":"5cb273e95846874e3a58074074c501df23c5e912","modified":1713020300416},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/note.js","hash":"1acefc59ead75ebd8cafee36efc7da4fa426d088","modified":1713020300415},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/timeline.js","hash":"4526c75e5bf84609d67e92b6af3524bcb278e852","modified":1713020300418},{"_id":"node_modules/hexo-theme-butterfly/source/js/utils.js","hash":"8e6b48d294e7aeaba8ff6348c43b2271cf865547","modified":1713020300419},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/analytics.pug","hash":"67e1c3b48e4ca7ee0b2c76d3ca7476b9883cf105","modified":1713020300423},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/config_site.pug","hash":"7df90c8e432e33716517ab918b0a125bc284041b","modified":1713020300430},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/preconnect.pug","hash":"5208fe1e75d97a05fd9bdd6cc53c59d8b741b94b","modified":1713020300445},{"_id":"node_modules/hexo-theme-butterfly/source/js/main.js","hash":"0dac585446445e0c419b86eec5580bc9b0657dc6","modified":1713020300413},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/Open_Graph.pug","hash":"8aa8d799aedbfd811195b84a451bc4b6e2647c12","modified":1713020300442},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/google_adsense.pug","hash":"95a37e92b39c44bcbea4be7e29ddb3921c5b8220","modified":1713020300435},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/site_verification.pug","hash":"e2e8d681f183f00ce5ee239c42d2e36b3744daad","modified":1713020300449},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/pwa.pug","hash":"3d492cfe645d37c94d30512e0b230b0a09913148","modified":1713020300446},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/head/config.pug","hash":"63fed4548367a3663cdbaffa1df48167b0a2397b","modified":1713020300430},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/header/social.pug","hash":"5de9a82032cdad1db3b868b797460921cd775fc2","modified":1713020300449},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/header/menu_item.pug","hash":"31346a210f4f9912c5b29f51d8f659913492f388","modified":1713020300441},{"_id":"node_modules/hexo-theme-butterfly/scripts/events/merge_config.js","hash":"2ac43fd4103ba3c6897da7c13015cb05f39fd695","modified":1713020300414},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/header/post-info.pug","hash":"f50e6a17073677933c5bc78481bf587a4a9e6da0","modified":1713020300444},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/page/categories.pug","hash":"5276a8d2835e05bd535fedc9f593a0ce8c3e8437","modified":1713020300429},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/mixins/post-ui.pug","hash":"6f310ca7b392021632b987557607d5b6d18052bb","modified":1713020300444},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/mixins/article-sort.pug","hash":"90554c2ca5ba946f4c02e1bc5fe2859cef1b1594","modified":1713020300425},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/page/flink.pug","hash":"f9ce83978b217a71a2eb8761dc14b09866faa3f4","modified":1713020300433},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/post/post-copyright.pug","hash":"5574804fdea5edf7fd52aad2caf030614d5e7f2f","modified":1713020300444},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/page/default-page.pug","hash":"12c65c174d26a41821df9bad26cdf1087ec5b0ca","modified":1713020300431},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/post/reward.pug","hash":"a096ff8eb6b2a22395be881f827ff2a686ba5596","modified":1713020300448},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/page/tags.pug","hash":"9621991359e22b14049346f1cf87bdedc94edf5a","modified":1713020300450},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/loading/fullpage-loading.pug","hash":"9e8c5788602b29a527ef35fe8a20076a5fa969bd","modified":1713020300434},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/aplayer.pug","hash":"c7cfade2b160380432c47eef4cd62273b6508c58","modified":1713020300423},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/loading/pace.pug","hash":"6ab4e301c92586505d6cddce1b3ad23b7c79010d","modified":1713020300442},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/header/nav.pug","hash":"f61659aa457d1a2d1baa3a13157996cfac4d6609","modified":1713020300442},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/loading/index.pug","hash":"131f344d68b4c241d6e03849b243ee792fcd3cea","modified":1713020300436},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/effect.pug","hash":"1d39670ee6225f85f5c53bf5c84f3fd6e19290e8","modified":1713020300432},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/pjax.pug","hash":"12e57491e94fa00d953bbda9db0b6d6169e2358c","modified":1713020300444},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/pangu.pug","hash":"0f024e36b8116118233e10118714bde304e01e12","modified":1713020300443},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/prismjs.pug","hash":"ffb9ea15a2b54423cd4cd441e2d061b8233e9b58","modified":1713020300446},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/subtitle.pug","hash":"8044b9c18b34b019ffe26b7383e7e80356b5e4b5","modified":1713020300449},{"_id":"node_modules/hexo-theme-butterfly/scripts/tag/gallery.js","hash":"418684993a3a3a2ac534257a2d9ecbcead6808c1","modified":1713020300410},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/header/index.pug","hash":"944d6e9dd50df3395f3a2c7ad9db667d50dea4ed","modified":1713020300436},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_ad.pug","hash":"60dc48a7b5d89c2a49123c3fc5893ab9c57dd225","modified":1713020300425},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_newest_comment.pug","hash":"7834bf7c711e739fd33cfcd0b53d151013b3d449","modified":1713020300427},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_bottom_self.pug","hash":"13dc8ce922e2e2332fe6ad5856ebb5dbf9ea4444","modified":1713020300426},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_categories.pug","hash":"d1a416d0a8a7916d0b1a41d73adc66f8c811e493","modified":1713020300426},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_announcement.pug","hash":"ae392459ad401a083ca51ee0b27526b3c1e1faed","modified":1713020300425},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_post_series.pug","hash":"bd5ad01277f8c6ddf8a3a29af1518e5fe6eed23f","modified":1713020300427},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_post_toc.pug","hash":"a658a274c5f7896ee5122725bee45548693bdd66","modified":1713020300427},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_tags.pug","hash":"eceb4420a64c720f0d2741e89d6229bbb3d87353","modified":1713020300428},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_recent_post.pug","hash":"e5aac7b28ed4123d75797263c64e74ac547945bc","modified":1713020300427},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_archives.pug","hash":"86897010fe71503e239887fd8f6a4f5851737be9","modified":1713020300425},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_author.pug","hash":"03c6afabbf1ac729c7fb21c7ec06da0190b0fdc7","modified":1713020300426},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_top_self.pug","hash":"ae67c6d4130a6c075058a9c1faea1648bcc6f83e","modified":1713020300428},{"_id":"node_modules/hexo-theme-butterfly/source/css/_global/function.styl","hash":"f19694a42dbe28eda4b39a1696e8fbcd277bc76c","modified":1713020300455},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/card_webinfo.pug","hash":"35ce167c5a275211bfc1fa3d49adfde5b404d98f","modified":1713020300428},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/highlight.styl","hash":"4dcd468e4d11a0ac75406162678feffcd89fee00","modified":1713020300456},{"_id":"node_modules/hexo-theme-butterfly/source/css/_global/index.styl","hash":"c8ff6ddd5bfe1190b7b8056b68ce41114fd79dcb","modified":1713020300457},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/widget/index.pug","hash":"b831355f7187d79899771538cca5b7c7ed839600","modified":1713367664221},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/aside.styl","hash":"fad650f88778b33a6358e38cf50dfafc0974d28f","modified":1713020300453},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/footer.styl","hash":"83a7a70eb0532ea9c4267939fe484af915fca01e","modified":1713020300455},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/comments.styl","hash":"134811b2d696f9ed2c0cd578f3886f1c60770c0a","modified":1713020300454},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/theme.styl","hash":"bcd384c8b2aa0390c9eb69ac1abbfd1240ce1da4","modified":1713020300461},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/post.styl","hash":"a2eb44fa5eaea1325319a2064439cf36d0f35a2f","modified":1713020300459},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/reward.styl","hash":"d6cf26ffb8a0343eda1cde65b6b73b0ddbe8fcfc","modified":1713020300460},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/head.styl","hash":"18d08be0cd9b1f8c049d4b922e80f8163a55c947","modified":1713020300456},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/loading.styl","hash":"ac2aeee9926f75b2a0098efe1c114126987430f2","modified":1713020300458},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/chat.styl","hash":"f9a5d3f1fc5ed0ed2ee4c1eaa58ed650d11ddebd","modified":1713020300453},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/rightside.styl","hash":"f845b9b4efdee750f70c023aab27432611f83059","modified":1713020300460},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/sidebar.styl","hash":"b7a6a585dbc38d177c9aba75df3a467415d0488a","modified":1713020300460},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/third-party.styl","hash":"5556c9bf4f53a90cb9b4945cd76a8849bd67f3f3","modified":1713020300461},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/pagination.styl","hash":"fb9f78bfbb79579f1d752cb73fb6d25c8418e0fd","modified":1713020300459},{"_id":"node_modules/hexo-theme-butterfly/source/css/_mode/darkmode.styl","hash":"0db591a1f4ed5adcb8668a549bbee5c9d62682cf","modified":1713020300454},{"_id":"node_modules/hexo-theme-butterfly/source/css/_mode/readmode.styl","hash":"e549d24ad81a7d93326a509ff8dcfcc58c80729e","modified":1713020300459},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/archives.styl","hash":"c9e98027f2dd730ce389c2047f62ebb748955fcf","modified":1713020300453},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/common.styl","hash":"4e320e16d49bc18085045937681f7331a1e243ca","modified":1713020300454},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/404.styl","hash":"50dbb9e6d98c71ffe16741b8c1b0c1b9771efd2b","modified":1713020300452},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/categories.styl","hash":"f01ee74948cedb44e53cd3bb1ef36b7d2778ede7","modified":1713020300453},{"_id":"node_modules/hexo-theme-butterfly/source/css/_search/algolia.styl","hash":"649a054e73278b6724bd4dd9b94724791ec5c928","modified":1713020300452},{"_id":"node_modules/hexo-theme-butterfly/source/css/_layout/relatedposts.styl","hash":"d53de408cb27a2e704aba7f7402b7caebe0410d8","modified":1713020300459},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/homepage.styl","hash":"d4ebc41b5c855dd75f47de7345d62f85ce7cf073","modified":1713020300456},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/flink.styl","hash":"98d755b686ee833e9da10afaa40c4ec2bd66c19a","modified":1713020300455},{"_id":"node_modules/hexo-theme-butterfly/source/css/_search/index.styl","hash":"20a3134e1302b62bfc881f4ec43f398267111f22","modified":1713020300457},{"_id":"node_modules/hexo-theme-butterfly/source/css/_search/local-search.styl","hash":"961589da3c0a532c4709a4a4ea96bd579257f766","modified":1713020300458},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/gallery.styl","hash":"5cddbb5f4eae695a26685e415d821b523e0f17bf","modified":1713020300455},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/button.styl","hash":"45f0c32bdea117540f6b14ebac6450d7142bd710","modified":1713020300453},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/hexo.styl","hash":"d76c38adf1d9c1279ef4241835667789f5b736e0","modified":1713020300456},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/note.styl","hash":"909bb5079b26b6ee68177919f522566503654058","modified":1713020300459},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/hide.styl","hash":"ce489ca2e249e2a3cf71584e20d84bdb022e3475","modified":1713020300456},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/label.styl","hash":"66c59e193d794cdb02cca7bd1dc4aea5a19d7e84","modified":1713020300458},{"_id":"node_modules/hexo-theme-butterfly/source/css/_page/tags.styl","hash":"580feb7e8b0822a1be48ac380f8c5c53b1523321","modified":1713020300461},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/tabs.styl","hash":"2d02e52b360f6e6cae47c293ae57ed78e2554663","modified":1713020300460},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/abcjs/abcjs.pug","hash":"f7299f9fef5bf94bb58c8cd3be8ee660ad2f9cd4","modified":1713020300422},{"_id":"node_modules/hexo-theme-butterfly/source/css/_third-party/normalize.min.css","hash":"2c18a1c9604af475b4749def8f1959df88d8b276","modified":1713020300402},{"_id":"node_modules/hexo-theme-butterfly/source/js/search/local-search.js","hash":"e1f60ebac53a3f596fd0a4769b4f9275c48c6542","modified":1713020300413},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/abcjs/index.pug","hash":"f58f1648d2d71311bafca4833f20b605bb5f18c8","modified":1713020300437},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/disqus.pug","hash":"c5f7081ca29db8cc80f808dfc29e36d5fa22fd7e","modified":1713020300431},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/remark42.pug","hash":"001e8be47854b891efe04013c240c38fed4185eb","modified":1713020300446},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/index.pug","hash":"b2d274db84ef22fbd6d5ea8f4404821898934209","modified":1713020300437},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/fb.pug","hash":"0344477a2cf38698318ead2681c63ac12f01586e","modified":1713020300433},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/twikoo.pug","hash":"56c028ba0ea8fac19f0125114d765dfc56ce2b48","modified":1713020300450},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/artalk.pug","hash":"71af0b679e00290b0854384368b3c7e9b3e5f26a","modified":1713020300424},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/timeline.styl","hash":"f071156d439556e7463ed4bc61ceee87170d5d08","modified":1713020300461},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/waline.pug","hash":"3a5ccfc69bd8ccb4b8f3ce3502023f7914f2a022","modified":1713020300452},{"_id":"node_modules/hexo-theme-butterfly/source/css/_tags/inlineImg.styl","hash":"df9d405c33a9a68946b530410f64096bcb72560c","modified":1713020300457},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/card-post-count/valine.pug","hash":"39427e107230a10790972349c9dd4c4f31d55eb7","modified":1713020300451},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/chatra.pug","hash":"ddce8352b371a1fb426bdb6c33f587eb37a69647","modified":1713020300429},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/index.pug","hash":"618e1b7f9204049b07beb9e1363c844a78a9ace3","modified":1713020300437},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/crisp.pug","hash":"2fb098a7aa45010a8cd212dc0bd5308c6e7c63e3","modified":1713020300430},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/daovoice.pug","hash":"9b57a8e13de8fc51a5f550854e47164fd8ac1be8","modified":1713020300430},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/tidio.pug","hash":"dd61eca6e9a45f63e09bdefba89fe285a81ba096","modified":1713020300450},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/artalk.pug","hash":"f77f0fdeac2bc8a72f71a58f9b75aa39f0a108c8","modified":1713020300424},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/disqus.pug","hash":"62f16a602e57e5f7f7c5249dd37b42d436dc032a","modified":1713020300431},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/chat/messenger.pug","hash":"e39a9c37adf4cb15a2ba3b2cc65542ffea88650d","modified":1713020300442},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/disqusjs.pug","hash":"3bc4c1b91568561f0491bdac65b75aa0bfd01f27","modified":1713020300432},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/facebook_comments.pug","hash":"46aec6466959baec1c3d71a5dbc510fbeb00c91d","modified":1713020300433},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/js.pug","hash":"00ed91c52939b9675b316137f854d13684c895a6","modified":1713020300439},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/remark42.pug","hash":"f15699abb8c7a255aabad0222ae53eee387c66a3","modified":1713020300446},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/gitalk.pug","hash":"0d378ee8a671982a46213a4bfb223b4f3409aea9","modified":1713020300435},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/utterances.pug","hash":"1995a654ba7ad62775a0a6e2922209cd1a85f2e3","modified":1713020300451},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/index.pug","hash":"a9709905593d960954e2dd572f09f48a6c2b1ef7","modified":1713020300438},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/livere.pug","hash":"63cea2b5c8f7b59f5919379d61a2bb2ce8ed7623","modified":1713020300440},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/valine.pug","hash":"46865e3f52096acb07d0212174b4e8751b123aea","modified":1713020300451},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/twikoo.pug","hash":"5c29b5887e2e6cd81e1f13b32da53d9c139b788b","modified":1713020300451},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/math/mathjax.pug","hash":"fc072ac839401174b5d3cf9acd3b694246c23a55","modified":1713020300441},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/math/index.pug","hash":"b8ae5fd7d74e1edcef21f5004fc96147e064d219","modified":1713020300438},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/math/mermaid.pug","hash":"6b67982bb7a3713b5bffd6a23ba2810425c504d0","modified":1713020300441},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/waline.pug","hash":"7aa443b4881448979b810864e206e58c9ed787e3","modified":1713020300452},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/github-issues.pug","hash":"0f0b46d637a9a1b6ae35148923abecc80b866276","modified":1713020300435},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/comments/giscus.pug","hash":"2d7b0b09678adba09481e3152e0b32962677f650","modified":1713020300434},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/artalk.pug","hash":"17080aba1754478197ab089f7948ed900f116d2b","modified":1713020300424},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/math/katex.pug","hash":"dfcbd9881be569ea420eff1a6b00e4f4dbe2138e","modified":1713020300440},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/disqus-comment.pug","hash":"2609bc2656aaaa9b59e8d575e711776512a62192","modified":1713020300431},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/waline.pug","hash":"24804ab6da9727ed793655c1262fa3f1a9746f70","modified":1713020300452},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/remark42.pug","hash":"de2c4d02b520dd49a0a59fc0f33295e5bbb2c624","modified":1713020300447},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/index.pug","hash":"4ec0642f2d5444acfab570a6f8c7868e7ff43fde","modified":1713020300438},{"_id":"node_modules/hexo-theme-butterfly/source/js/search/algolia.js","hash":"108988d046da9a4716148df43b3975217c8ceaae","modified":1713020300405},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/valine.pug","hash":"1f9f51023e9e33081c2add2ca73643c0edc5e9d5","modified":1713020300451},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/share/addtoany.pug","hash":"85c92f8a7e44d7cd1c86f089a05be438535e5362","modified":1713020300422},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/share/share-js.pug","hash":"c7dd2b2ae9b23aa0a60fffd7df9e9f76ef52033e","modified":1713020300448},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/search/docsearch.pug","hash":"b928be14d1b47a9fadb1bcc5f5072a7328752d4b","modified":1713020300432},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/search/local-search.pug","hash":"3335024ba91f55ccf3858571b7898f46881c455c","modified":1713020300441},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/search/algolia.pug","hash":"9c3c109a12d2b6916e8b4965cca12f521510ead9","modified":1713020300422},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/prismjs/index.styl","hash":"5dc2e0bcae9a54bfb9bdcc82d02ae5a3cf1ca97d","modified":1713020300457},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/search/index.pug","hash":"a99a41334387ee9a46c6f8e8212331a29a10d159","modified":1713020300438},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/highlight/diff.styl","hash":"cf1fae641c927621a4df1be5ca4a853b9b526e23","modified":1713020300454},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/share/index.pug","hash":"3ba49cfe186e9ca05faf9f0d0113611ec47e9b38","modified":1713020300439},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/prismjs/diff.styl","hash":"5972c61f5125068cbe0af279a0c93a54847fdc3b","modified":1713020300454},{"_id":"node_modules/hexo-theme-butterfly/layout/includes/third-party/newest-comments/twikoo-comment.pug","hash":"4104f96faa6040f111ebfb9a90eeb470857c3b86","modified":1713020300450},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/prismjs/line-number.styl","hash":"25914321762e30aacc610bc4dfb9de3e1cb556a3","modified":1713020300458},{"_id":"node_modules/hexo-theme-butterfly/source/css/_highlight/highlight/index.styl","hash":"18804c58239d95798fa86d0597f32d7f7dd30051","modified":1713020300457},{"_id":"source/_posts/Rasterize/三角形.png","hash":"5f6297ff403f9c5f332e254f2218d5aad0905034","modified":1718467555508},{"_id":"source/_posts/Rasterize/重心坐标三角形.png","hash":"c1ca0f11410704de95168cd1a975b64d10255ae7","modified":1718467555512},{"_id":"source/img/bg2.jpg","hash":"7f6509da5c4fae03778c0e529bcc00a4c11b8ccd","modified":1713282059490},{"_id":"public/css/modify.css","hash":"a14fcab874b7290159970767985d5fdc14898e7a","modified":1718471539422},{"_id":"public/css/font.css","hash":"d2d64751097d188f637a5baa88920b6acf86d8bb","modified":1718471539422},{"_id":"public/js/universe.js","hash":"768994786dcb2453af3c0688f5c22090924feda2","modified":1718471539422},{"_id":"public/css/universe.css","hash":"f87b874a9380792a00dde3743a3790861140969a","modified":1718471539422},{"_id":"public/search.xml","hash":"5bbf8f035bfc891d6cf1fd6c5f85a0edf9eabb80","modified":1718471539422},{"_id":"public/categories/index.html","hash":"67e56c2ee89c2280b08bc1d97d466263fed3fdd8","modified":1718471539422},{"_id":"public/tags/index.html","hash":"a020f78b981a8daa5366e6389f8ee373d4cdc8b9","modified":1718471539422},{"_id":"public/post/siminal/20240614202828.html","hash":"5370ec388b66f9ac9e8c8b7de6e4c1bfc536f554","modified":1718471539422},{"_id":"public/post/life/20240415221322.html","hash":"b6f7f1d674825c17d73d0266e207e7ce5b5eae14","modified":1718471539422},{"_id":"public/archives/index.html","hash":"a250bcd6aeb11ab6583178f463c4872eb7a10cba","modified":1718471539422},{"_id":"public/archives/2024/index.html","hash":"bb0be463cf057cc8efd075acb254e03c1174928f","modified":1718471539422},{"_id":"public/archives/2024/04/index.html","hash":"56afe150dbf2d9b5771f4ee19f0e86df81df14b7","modified":1718471539422},{"_id":"public/archives/2024/06/index.html","hash":"ff22c4327f501290bcf007ec0f56a847ccfc49db","modified":1718471539422},{"_id":"public/categories/life/index.html","hash":"cbf67ebad60f619f9382aedc2b792a29c3286770","modified":1718471539422},{"_id":"public/categories/siminal/index.html","hash":"68f257a35ff6c42a31a35ff7805c2c1aa234fd95","modified":1718471539422},{"_id":"public/index.html","hash":"2b673961f2178f217341b6fbcd5e19f3d5fe7365","modified":1718471539422},{"_id":"public/tags/University/index.html","hash":"2749c6cae41984121df7b1e8589f6991a0f048ae","modified":1718471539422},{"_id":"public/tags/Beginning-term/index.html","hash":"8bd03ddf24d9da4db262d1c73377a0394dca48ca","modified":1718471539422},{"_id":"public/tags/CG/index.html","hash":"e740ebb25e17a7727a19136fb0b2dd0641eb5dcf","modified":1718471539422},{"_id":"public/tags/Research/index.html","hash":"dd12beec17d387e1235c8ce87a0bdefa911809a3","modified":1718471539422},{"_id":"public/CNAME","hash":"bd57814fbdd38df34e54aad5c6bcae877226fd51","modified":1718471539422},{"_id":"public/img/favicon.png","hash":"3cf89864b4f6c9b532522a4d260a2e887971c92d","modified":1718471539422},{"_id":"public/img/avatar.png","hash":"e897f9b98237b2413ab8040835d8ac9bd3489f9e","modified":1718471539422},{"_id":"public/img/support.jpg","hash":"a2e28af0d7131faa161ba2095f47bc8c40c0ab3b","modified":1718471539422},{"_id":"public/img/404.jpg","hash":"fb4489bc1d30c93d28f7332158c1c6c1416148de","modified":1718471539422},{"_id":"public/img/friend_404.gif","hash":"8d2d0ebef70a8eb07329f57e645889b0e420fa48","modified":1718471539422},{"_id":"public/font/IntelOneMono-Light.otf","hash":"5258b2c9c7cd3a93b9c30b8424f90895887acbcf","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/box.png","hash":"2aed87d517470605248bf619cacde7eeebf867f0","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/叉乘.png","hash":"0b542351dee0feea1199911e20aebfef27593153","modified":1718471539422},{"_id":"public/js/tw_cn.js","hash":"f8d2e3f31468991a7f5171cbfdb157dfb86d3372","modified":1718471539422},{"_id":"public/css/index.css","hash":"8ca6dc3b0e852f6e4708c63ff32c58d22c103053","modified":1718471539422},{"_id":"public/js/search/algolia.js","hash":"108988d046da9a4716148df43b3975217c8ceaae","modified":1718471539422},{"_id":"public/js/search/local-search.js","hash":"e1f60ebac53a3f596fd0a4769b4f9275c48c6542","modified":1718471539422},{"_id":"public/js/utils.js","hash":"8e6b48d294e7aeaba8ff6348c43b2271cf865547","modified":1718471539422},{"_id":"public/css/var.css","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1718471539422},{"_id":"public/js/main.js","hash":"0dac585446445e0c419b86eec5580bc9b0657dc6","modified":1718471539422},{"_id":"public/img/bg3.jpg","hash":"de4afa09e56869e22e92bbfb6d76c101f2603606","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/投影变换.png","hash":"6b65cd1cb4cdc0d7eafd937f103f141601b0acb8","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/颜色插值.png","hash":"8c3ddedf8c817a97eac2f3d197a06fb2eeb5892a","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/光栅化.png","hash":"9e2daedb7616b2fcf7d39cbf983887a5368dea5f","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/视口变换矩阵.png","hash":"adfd86be765b83dfbb63d2972cca735869f914f0","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/屏幕空间.png","hash":"586fb5b5f8dd8b190bd03810d00fcb85babf125a","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/image.png","hash":"bc79f828ca108cae3d556d3cc1cfc3db7e27228b","modified":1718471539422},{"_id":"public/img/bg1.jpg","hash":"4d27a3413a7bf3b0dbf46d506e09b1d8c25aae11","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/重心坐标三角形.png","hash":"c1ca0f11410704de95168cd1a975b64d10255ae7","modified":1718471539422},{"_id":"public/post/siminal/20240614202828/三角形.png","hash":"5f6297ff403f9c5f332e254f2218d5aad0905034","modified":1718471539422},{"_id":"public/img/bg2.jpg","hash":"7f6509da5c4fae03778c0e529bcc00a4c11b8ccd","modified":1718471539422}],"Category":[{"name":"life","_id":"clxgdl3kd0007yxhqhv2rg6xw"},{"name":"siminal","_id":"clxgdl3ke000ayxhq1log76pj"}],"Data":[],"Page":[{"title":"categories","date":"2024-04-17T17:11:54.000Z","type":"categories","_content":"","source":"categories/index.md","raw":"---\ntitle: categories\ndate: 2024-04-18 02:11:54\ntype: \"categories\"\n---\n","updated":"2024-04-17T17:12:45.930Z","path":"categories/index.html","comments":1,"layout":"page","_id":"clxgdl3k80000yxhqa8my4ptb","content":"\n","cover":"https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png","cover_type":"img","excerpt":"","more":"\n"},{"_content":"@import 'nib'\n\n// 顶部图\n#page-header\n background: transparent !important\n\n &.post-bg, &.not-home-page\n height: 280px !important\n #post-info\n bottom: 40px !important\n text-align: center\n #page-site-info\n top: 140px !important\n\n @media screen and (max-width: 768px)\n &.not-home-page\n height: 200px !important\n #post-info\n bottom: 10px !important\n #page-site-info\n top: 100px !important\n\n.top-img\n height: 250px\n margin: -50px -40px 50px\n border-top-left-radius: inherit\n border-top-right-radius: inherit\n background-position: center center\n background-size: cover\n transition: all 0.3s\n\n @media screen and (max-width: 768px)\n height: 230px\n margin: -36px -14px 36px\n\n [data-theme='dark'] &\n filter: brightness(0.8)\n\n// 页脚\n#footer:before\n background-color: alpha(#FFF, .5)\n\n [data-theme='dark'] &\n background-color: alpha(#000, .5)\n\n#footer-wrap, #footer-wrap a\n color: #111\n transition: unset\n\n [data-theme='dark'] &\n color: var(--light-grey)\n\n// 配色\n:root\n --card-bg: alpha(#FFF, .5) !important\n\n [data-theme='dark']&\n --card-bg: alpha(#121212, .5) !important","source":"css/modify.styl","raw":"@import 'nib'\n\n// 顶部图\n#page-header\n background: transparent !important\n\n &.post-bg, &.not-home-page\n height: 280px !important\n #post-info\n bottom: 40px !important\n text-align: center\n #page-site-info\n top: 140px !important\n\n @media screen and (max-width: 768px)\n &.not-home-page\n height: 200px !important\n #post-info\n bottom: 10px !important\n #page-site-info\n top: 100px !important\n\n.top-img\n height: 250px\n margin: -50px -40px 50px\n border-top-left-radius: inherit\n border-top-right-radius: inherit\n background-position: center center\n background-size: cover\n transition: all 0.3s\n\n @media screen and (max-width: 768px)\n height: 230px\n margin: -36px -14px 36px\n\n [data-theme='dark'] &\n filter: brightness(0.8)\n\n// 页脚\n#footer:before\n background-color: alpha(#FFF, .5)\n\n [data-theme='dark'] &\n background-color: alpha(#000, .5)\n\n#footer-wrap, #footer-wrap a\n color: #111\n transition: unset\n\n [data-theme='dark'] &\n color: var(--light-grey)\n\n// 配色\n:root\n --card-bg: alpha(#FFF, .5) !important\n\n [data-theme='dark']&\n --card-bg: alpha(#121212, .5) !important","date":"2024-04-27T11:09:11.115Z","updated":"2024-04-16T15:40:59.457Z","path":"css/modify.css","layout":"false","title":"","comments":1,"_id":"clxgdl3k90001yxhq5e6s0qun","content":"#page-header {\n background: transparent !important;\n}\n#page-header.post-bg,\n#page-header.not-home-page {\n height: 280px !important;\n}\n#page-header #post-info {\n bottom: 40px !important;\n text-align: center;\n}\n#page-header #page-site-info {\n top: 140px !important;\n}\n@media screen and (max-width: 768px) {\n #page-header.not-home-page {\n height: 200px !important;\n }\n #page-header #post-info {\n bottom: 10px !important;\n }\n #page-header #page-site-info {\n top: 100px !important;\n }\n}\n.top-img {\n height: 250px;\n margin: -50px -40px 50px;\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n background-position: center center;\n background-size: cover;\n -webkit-transition: all 0.3s;\n -moz-transition: all 0.3s;\n -o-transition: all 0.3s;\n -ms-transition: all 0.3s;\n transition: all 0.3s;\n}\n@media screen and (max-width: 768px) {\n .top-img {\n height: 230px;\n margin: -36px -14px 36px;\n }\n}\n[data-theme='dark'] .top-img {\n filter: brightness(0.8);\n}\n#footer:before {\n background-color: rgba(255,255,255,0.5);\n}\n[data-theme='dark'] #footer:before {\n background-color: rgba(0,0,0,0.5);\n}\n#footer-wrap,\n#footer-wrap a {\n color: #111;\n -webkit-transition: unset;\n -moz-transition: unset;\n -o-transition: unset;\n -ms-transition: unset;\n transition: unset;\n}\n[data-theme='dark'] #footer-wrap,\n[data-theme='dark'] #footer-wrap a {\n color: var(--light-grey);\n}\n:root {\n --card-bg: rgba(255,255,255,0.5) !important;\n}\n[data-theme='dark']:root {\n --card-bg: rgba(18,18,18,0.5) !important;\n}\n"},{"_content":"@font-face {\n font-family: 'IntelOneMono-Light';\n font-display: swap;\n src: url('../font/IntelOneMono-Light.otf') format(\"truetype\");\n}\n\nbody {\n font-family: 'IntelOneMono-Light';\n}","source":"css/font.css","raw":"@font-face {\n font-family: 'IntelOneMono-Light';\n font-display: swap;\n src: url('../font/IntelOneMono-Light.otf') format(\"truetype\");\n}\n\nbody {\n font-family: 'IntelOneMono-Light';\n}","date":"2024-04-27T11:09:08.158Z","updated":"2024-04-18T09:43:13.810Z","path":"css/font.css","layout":"false","title":"","comments":1,"_id":"clxgdl3ka0002yxhq65qa8bi2","content":"@font-face {\n font-family: 'IntelOneMono-Light';\n font-display: swap;\n src: url('../font/IntelOneMono-Light.otf') format(\"truetype\");\n}\n\nbody {\n font-family: 'IntelOneMono-Light';\n}"},{"_content":"function dark() { window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; var n, e, i, h, t = .05, s = document.getElementById(\"universe\"), o = !0, a = \"180,184,240\", r = \"226,225,142\", d = \"226,225,224\", c = []; function f() { n = window.innerWidth, e = window.innerHeight, i = .216 * n, s.setAttribute(\"width\", n), s.setAttribute(\"height\", e) } function u() { h.clearRect(0, 0, n, e); for (var t = c.length, i = 0; i < t; i++) { var s = c[i]; s.move(), s.fadeIn(), s.fadeOut(), s.draw() } } function y() { this.reset = function () { this.giant = m(3), this.comet = !this.giant && !o && m(10), this.x = l(0, n - 10), this.y = l(0, e), this.r = l(1.1, 2.6), this.dx = l(t, 6 * t) + (this.comet + 1 - 1) * t * l(50, 120) + 2 * t, this.dy = -l(t, 6 * t) - (this.comet + 1 - 1) * t * l(50, 120), this.fadingOut = null, this.fadingIn = !0, this.opacity = 0, this.opacityTresh = l(.2, 1 - .4 * (this.comet + 1 - 1)), this.do = l(5e-4, .002) + .001 * (this.comet + 1 - 1) }, this.fadeIn = function () { this.fadingIn && (this.fadingIn = !(this.opacity > this.opacityTresh), this.opacity += this.do) }, this.fadeOut = function () { this.fadingOut && (this.fadingOut = !(this.opacity < 0), this.opacity -= this.do / 2, (this.x > n || this.y < 0) && (this.fadingOut = !1, this.reset())) }, this.draw = function () { if (h.beginPath(), this.giant) h.fillStyle = \"rgba(\" + a + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 2, 0, 2 * Math.PI, !1); else if (this.comet) { h.fillStyle = \"rgba(\" + d + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, !1); for (var t = 0; t < 30; t++)h.fillStyle = \"rgba(\" + d + \",\" + (this.opacity - this.opacity / 20 * t) + \")\", h.rect(this.x - this.dx / 4 * t, this.y - this.dy / 4 * t - 2, 2, 2), h.fill() } else h.fillStyle = \"rgba(\" + r + \",\" + this.opacity + \")\", h.rect(this.x, this.y, this.r, this.r); h.closePath(), h.fill() }, this.move = function () { this.x += this.dx, this.y += this.dy, !1 === this.fadingOut && this.reset(), (this.x > n - n / 4 || this.y < 0) && (this.fadingOut = !0) }, setTimeout(function () { o = !1 }, 50) } function m(t) { return Math.floor(1e3 * Math.random()) + 1 < 10 * t } function l(t, i) { return Math.random() * (i - t) + t } f(), window.addEventListener(\"resize\", f, !1), function () { h = s.getContext(\"2d\"); for (var t = 0; t < i; t++)c[t] = new y, c[t].reset(); u() }(), function t() { document.getElementsByTagName('html')[0].getAttribute('data-theme') == 'dark' && u(), window.requestAnimationFrame(t) }() };\ndark()","source":"js/universe.js","raw":"function dark() { window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; var n, e, i, h, t = .05, s = document.getElementById(\"universe\"), o = !0, a = \"180,184,240\", r = \"226,225,142\", d = \"226,225,224\", c = []; function f() { n = window.innerWidth, e = window.innerHeight, i = .216 * n, s.setAttribute(\"width\", n), s.setAttribute(\"height\", e) } function u() { h.clearRect(0, 0, n, e); for (var t = c.length, i = 0; i < t; i++) { var s = c[i]; s.move(), s.fadeIn(), s.fadeOut(), s.draw() } } function y() { this.reset = function () { this.giant = m(3), this.comet = !this.giant && !o && m(10), this.x = l(0, n - 10), this.y = l(0, e), this.r = l(1.1, 2.6), this.dx = l(t, 6 * t) + (this.comet + 1 - 1) * t * l(50, 120) + 2 * t, this.dy = -l(t, 6 * t) - (this.comet + 1 - 1) * t * l(50, 120), this.fadingOut = null, this.fadingIn = !0, this.opacity = 0, this.opacityTresh = l(.2, 1 - .4 * (this.comet + 1 - 1)), this.do = l(5e-4, .002) + .001 * (this.comet + 1 - 1) }, this.fadeIn = function () { this.fadingIn && (this.fadingIn = !(this.opacity > this.opacityTresh), this.opacity += this.do) }, this.fadeOut = function () { this.fadingOut && (this.fadingOut = !(this.opacity < 0), this.opacity -= this.do / 2, (this.x > n || this.y < 0) && (this.fadingOut = !1, this.reset())) }, this.draw = function () { if (h.beginPath(), this.giant) h.fillStyle = \"rgba(\" + a + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 2, 0, 2 * Math.PI, !1); else if (this.comet) { h.fillStyle = \"rgba(\" + d + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, !1); for (var t = 0; t < 30; t++)h.fillStyle = \"rgba(\" + d + \",\" + (this.opacity - this.opacity / 20 * t) + \")\", h.rect(this.x - this.dx / 4 * t, this.y - this.dy / 4 * t - 2, 2, 2), h.fill() } else h.fillStyle = \"rgba(\" + r + \",\" + this.opacity + \")\", h.rect(this.x, this.y, this.r, this.r); h.closePath(), h.fill() }, this.move = function () { this.x += this.dx, this.y += this.dy, !1 === this.fadingOut && this.reset(), (this.x > n - n / 4 || this.y < 0) && (this.fadingOut = !0) }, setTimeout(function () { o = !1 }, 50) } function m(t) { return Math.floor(1e3 * Math.random()) + 1 < 10 * t } function l(t, i) { return Math.random() * (i - t) + t } f(), window.addEventListener(\"resize\", f, !1), function () { h = s.getContext(\"2d\"); for (var t = 0; t < i; t++)c[t] = new y, c[t].reset(); u() }(), function t() { document.getElementsByTagName('html')[0].getAttribute('data-theme') == 'dark' && u(), window.requestAnimationFrame(t) }() };\ndark()","date":"2024-04-27T11:09:08.147Z","updated":"2024-04-17T16:07:56.217Z","path":"js/universe.js","layout":"false","title":"","comments":1,"_id":"clxgdl3ka0003yxhq1wli2b0b","content":"function dark() { window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; var n, e, i, h, t = .05, s = document.getElementById(\"universe\"), o = !0, a = \"180,184,240\", r = \"226,225,142\", d = \"226,225,224\", c = []; function f() { n = window.innerWidth, e = window.innerHeight, i = .216 * n, s.setAttribute(\"width\", n), s.setAttribute(\"height\", e) } function u() { h.clearRect(0, 0, n, e); for (var t = c.length, i = 0; i < t; i++) { var s = c[i]; s.move(), s.fadeIn(), s.fadeOut(), s.draw() } } function y() { this.reset = function () { this.giant = m(3), this.comet = !this.giant && !o && m(10), this.x = l(0, n - 10), this.y = l(0, e), this.r = l(1.1, 2.6), this.dx = l(t, 6 * t) + (this.comet + 1 - 1) * t * l(50, 120) + 2 * t, this.dy = -l(t, 6 * t) - (this.comet + 1 - 1) * t * l(50, 120), this.fadingOut = null, this.fadingIn = !0, this.opacity = 0, this.opacityTresh = l(.2, 1 - .4 * (this.comet + 1 - 1)), this.do = l(5e-4, .002) + .001 * (this.comet + 1 - 1) }, this.fadeIn = function () { this.fadingIn && (this.fadingIn = !(this.opacity > this.opacityTresh), this.opacity += this.do) }, this.fadeOut = function () { this.fadingOut && (this.fadingOut = !(this.opacity < 0), this.opacity -= this.do / 2, (this.x > n || this.y < 0) && (this.fadingOut = !1, this.reset())) }, this.draw = function () { if (h.beginPath(), this.giant) h.fillStyle = \"rgba(\" + a + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 2, 0, 2 * Math.PI, !1); else if (this.comet) { h.fillStyle = \"rgba(\" + d + \",\" + this.opacity + \")\", h.arc(this.x, this.y, 1.5, 0, 2 * Math.PI, !1); for (var t = 0; t < 30; t++)h.fillStyle = \"rgba(\" + d + \",\" + (this.opacity - this.opacity / 20 * t) + \")\", h.rect(this.x - this.dx / 4 * t, this.y - this.dy / 4 * t - 2, 2, 2), h.fill() } else h.fillStyle = \"rgba(\" + r + \",\" + this.opacity + \")\", h.rect(this.x, this.y, this.r, this.r); h.closePath(), h.fill() }, this.move = function () { this.x += this.dx, this.y += this.dy, !1 === this.fadingOut && this.reset(), (this.x > n - n / 4 || this.y < 0) && (this.fadingOut = !0) }, setTimeout(function () { o = !1 }, 50) } function m(t) { return Math.floor(1e3 * Math.random()) + 1 < 10 * t } function l(t, i) { return Math.random() * (i - t) + t } f(), window.addEventListener(\"resize\", f, !1), function () { h = s.getContext(\"2d\"); for (var t = 0; t < i; t++)c[t] = new y, c[t].reset(); u() }(), function t() { document.getElementsByTagName('html')[0].getAttribute('data-theme') == 'dark' && u(), window.requestAnimationFrame(t) }() };\ndark()"},{"title":"tags","date":"2024-04-17T17:14:07.000Z","type":"tags","_content":"","source":"tags/index.md","raw":"---\ntitle: tags\ndate: 2024-04-18 02:14:07\ntype: \"tags\"\n---\n","updated":"2024-04-17T17:14:23.237Z","path":"tags/index.html","comments":1,"layout":"page","_id":"clxgdl3kc0005yxhq4evb1fmh","content":"\n","cover":"https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png","cover_type":"img","excerpt":"","more":"\n"},{"_content":"/* 背景宇宙星光 */\n#universe {\n display: block;\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: -1;\n}","source":"css/universe.css","raw":"/* 背景宇宙星光 */\n#universe {\n display: block;\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: -1;\n}","date":"2024-04-27T11:09:08.166Z","updated":"2024-04-17T16:09:08.779Z","path":"css/universe.css","layout":"false","title":"","comments":1,"_id":"clxgdl3ke0009yxhqfpml28cs","content":"/* 背景宇宙星光 */\n#universe {\n display: block;\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: -1;\n}"}],"Post":[{"title":"入学記事","date":"2024-04-15T13:13:22.000Z","_content":"\n3月31日ギリギリ来到冲绳, 开启冲绳之旅!\n\n## 一言:\n- 4月1日: 从琉球ホステル做🚌到琉球大学北口, 办理宿舍入住, 去ニトリ买床被.\n- 4月2日: 那霸购买拖鞋, 生活用品.\n- 4月3日: 冲绳海啸, 早上度过惊魂时刻, 好在没影响下去去役場办理迁入手续.\n- 4月4日: 放弃参加入学典礼, 选择去冲绳法务局更新签证. 下午去ニトリ更换座椅.\n- 4月5日: 参加留学生入学教育.\n- 6日7日: 下雨聚餐, 无所事事.\n- 4月8日: 剪发, 面谈日本语教育, サークル参观.\n- 4月9日: 去南部福利局, 去ニトリ, 研究履修科目.\n- 4月10日: 第一次ゼミ, 向大家介绍自己, 布置实验室座位.\n- 4月11日: 参加日本语コース, 参加人类拓张的选修课. 去浦添beach看《秒速5センチ》.\n- 4月12日: 安装电脑环境, 去最近的サンエー看柯南.尽管很好看.\n- 4月13日: 海盐小队看花火大会.\n- 4月14日: 图书馆借教科书, 睡觉, 搭建个人博客.\n- 4月15日: 上课, 病院预约.\n- 4月16日: 病院预约, 取在留卡.\n- 4月17日: ゼミ, 清理留学生会馆, 写材料, 被主查训, 继续搭建个人博客.\n- 4月18日: 和领事馆大臣见面, 上课, 结识新朋友, 暂时完成博客系统的搭建.\n- 4月19日: 人体工学椅子组装, 发现底盘很低, 是不是有问题呢?\n- 4月20日: 和朋友吃寿司, 讨论人情世故, 送礼的艺术.\n- 4月21日: 纠结研究计划要不要基于swift来做.\n- 4月22日: 上课, 上课, 上课, 找到英语partner.\n- 4月23日: 就AR导览系统, 和教授讨论具体的研究手法..., 偶遇交换生三人组.\n- 4月24日: seminar被导师指定研究课题, 纠结了一下午改计算机图形学还是坚持SLAM, 晚上赶cg计划书.\n- 4月25日: 上课, 被导师指导完善cg计划书...\n- 4月26日: 验光, 提交cg报告书, 更新邮局信息, 和家人聊天..\n- 4月27日: 查看奖学金募集 !\n- 4月28日: 游泳俱乐部, 新生欢迎会! 海边漫步和野餐.\n- 4月29日: 眺望东海, 偶见彩虹🌈. \n- 4月30日: 役場办理number卡, 办乐天手机卡, 看眼镜, 去堂吉柯德.\n- 5月01日: 亚马逊购物, 皮肤科看脸痘痘! 晚上中国留学生聚餐, 喝酒.\n- 5月02日: 。。。睡觉? 结识stephanie, 印度尼西亚交换生!\n- 5月03日: 浦添3A配眼镜, 晚上看那覇ハーリー, 花火大会!\n- 5月04日: 美ら海aquariumに遊び!\n- 5月05日: 睡觉!\n- 5月06日: 组装引体架!\n- 5月07日: 晚餐被投喂, 开心!\n- 5月08日: 作ppt发表到吐血.., 被导师要求换方向, 晕!\n- 5月09日: 晚餐被投喂, 开心! 与stephanie聊天.\n- 5月10日: 白忙活一场, 完成和宁桑吃饭, 面试便利店!!\n- 5月11日: 和裴桑吃牛排, 无所事事!\n- 5月12日: 看日漫, 重温天气之子.\n- 5月13日: 上课,,上课!决定选CG还是SLAM. \n- 5月14日: 引体架返品, 偶遇yui桑, 玩乒乓球🏓, 晚上大吃!\n- 5月15日: 实验室seminal, 实习seminal. 晚上和台湾小妹吃饭, 是一个双性恋者, 人生第一次见呐! 晚上偶遇妈妈桑, 是一个Gay, 我和他(她)探讨了喜欢的人!!\n- 5月16日: 上课, 睡觉, 打羽毛球(没打上)!\n- 5月17日: 健身器械送到实验室, 被指导老师批评! 晚上和momo桑聊天. \n- 5月18日: 准备下周的seminal发表, 纠结人生!\n- 5月19日: 和裴桑几个朋友去县立博物馆吃烤肉, 质量很不错!\n- 5月23日: 打乒乓球, 结识度袈附桑, 是一个建模大神!\n- 5月25日: 乒乓球俱乐部聚餐, 吃北谷村沙滩烤肉,结识mitaさん、19岁小女孩!\n- 5月26日: 和momo桑晚上吃海景意大利牛排, 景色真美, 回来探讨价值观人生观!\n- 5月27日: 冒着写不完作业的风险, 被裴桑带去超级食堂吃饭!\n- 5月28日: 在医院呆一天,,晚上和度袈附桑去robot club, 吃烤肉狠补ppt!\n- 5月29日: 去役場拿number card! 秋实家聚餐, 调鸡尾酒!\n- 5月30日: 睡觉, 和momo桑做饭, 打羽毛球认识在中国留过学的日本人! \n- 5月31日: 去immigration办理アルバイト、波之上神宫还原, 与秋实宁桑吃やキング!\n- 6月1日: 错过美国村的英语交流会!\n- 6月2日: 被带去逛DFS, 奢侈品集中地! 晚上吃夜光贝🐚!\n- 6月3日: 上课\n- 6月4日: 吃饭, 睡觉, 体重达到59, 透过momo桑联系stepanie!\n- 6月5日: ゼミ、和stepanie沟通, 剪头, 伤心的一天 !\n- 6月6日: 上课, 请momo吃面, 打乒乓球, 运动使心情变好! \n- 6月7日: 睡觉! 吃饭!\n- 6月8日: 参加Unity活动, 了解あしびかんぱにー、结识金城美優大四生, 國樹先生的学生!\n- 6月9日: 吃饭! 看光栅化算法!\n- 6月10日: 日语考试, 上课, 吃暖幕拉面!\n- 6月11日: 研究算法! ゼミ延期.\n- 6月12日: 去那霸预定蛋糕, 逛Ryubo商城.\n- 6月13日: 上课, 研究Unity, 写算法, 通宵完成简单的光栅化器!\n- 6月14日: 早上天降惊雷! 淋雨拿🍰, Stephanie生日!\n- 6月15日: 睡觉, 吃牛排, 观海! 舍弃Github Action, 解决Latex无法在hexo上正常解析!(差点没把仓库删掉P:sweat_smile:)\n- 6月16日: 父亲节! ","source":"_posts/入学記事.md","raw":"---\ntitle: 入学記事\ndate: 2024-04-15 22:13:22\ncategories: \n- life\ntags:\n- University\n- Beginning term\n---\n\n3月31日ギリギリ来到冲绳, 开启冲绳之旅!\n\n## 一言:\n- 4月1日: 从琉球ホステル做🚌到琉球大学北口, 办理宿舍入住, 去ニトリ买床被.\n- 4月2日: 那霸购买拖鞋, 生活用品.\n- 4月3日: 冲绳海啸, 早上度过惊魂时刻, 好在没影响下去去役場办理迁入手续.\n- 4月4日: 放弃参加入学典礼, 选择去冲绳法务局更新签证. 下午去ニトリ更换座椅.\n- 4月5日: 参加留学生入学教育.\n- 6日7日: 下雨聚餐, 无所事事.\n- 4月8日: 剪发, 面谈日本语教育, サークル参观.\n- 4月9日: 去南部福利局, 去ニトリ, 研究履修科目.\n- 4月10日: 第一次ゼミ, 向大家介绍自己, 布置实验室座位.\n- 4月11日: 参加日本语コース, 参加人类拓张的选修课. 去浦添beach看《秒速5センチ》.\n- 4月12日: 安装电脑环境, 去最近的サンエー看柯南.尽管很好看.\n- 4月13日: 海盐小队看花火大会.\n- 4月14日: 图书馆借教科书, 睡觉, 搭建个人博客.\n- 4月15日: 上课, 病院预约.\n- 4月16日: 病院预约, 取在留卡.\n- 4月17日: ゼミ, 清理留学生会馆, 写材料, 被主查训, 继续搭建个人博客.\n- 4月18日: 和领事馆大臣见面, 上课, 结识新朋友, 暂时完成博客系统的搭建.\n- 4月19日: 人体工学椅子组装, 发现底盘很低, 是不是有问题呢?\n- 4月20日: 和朋友吃寿司, 讨论人情世故, 送礼的艺术.\n- 4月21日: 纠结研究计划要不要基于swift来做.\n- 4月22日: 上课, 上课, 上课, 找到英语partner.\n- 4月23日: 就AR导览系统, 和教授讨论具体的研究手法..., 偶遇交换生三人组.\n- 4月24日: seminar被导师指定研究课题, 纠结了一下午改计算机图形学还是坚持SLAM, 晚上赶cg计划书.\n- 4月25日: 上课, 被导师指导完善cg计划书...\n- 4月26日: 验光, 提交cg报告书, 更新邮局信息, 和家人聊天..\n- 4月27日: 查看奖学金募集 !\n- 4月28日: 游泳俱乐部, 新生欢迎会! 海边漫步和野餐.\n- 4月29日: 眺望东海, 偶见彩虹🌈. \n- 4月30日: 役場办理number卡, 办乐天手机卡, 看眼镜, 去堂吉柯德.\n- 5月01日: 亚马逊购物, 皮肤科看脸痘痘! 晚上中国留学生聚餐, 喝酒.\n- 5月02日: 。。。睡觉? 结识stephanie, 印度尼西亚交换生!\n- 5月03日: 浦添3A配眼镜, 晚上看那覇ハーリー, 花火大会!\n- 5月04日: 美ら海aquariumに遊び!\n- 5月05日: 睡觉!\n- 5月06日: 组装引体架!\n- 5月07日: 晚餐被投喂, 开心!\n- 5月08日: 作ppt发表到吐血.., 被导师要求换方向, 晕!\n- 5月09日: 晚餐被投喂, 开心! 与stephanie聊天.\n- 5月10日: 白忙活一场, 完成和宁桑吃饭, 面试便利店!!\n- 5月11日: 和裴桑吃牛排, 无所事事!\n- 5月12日: 看日漫, 重温天气之子.\n- 5月13日: 上课,,上课!决定选CG还是SLAM. \n- 5月14日: 引体架返品, 偶遇yui桑, 玩乒乓球🏓, 晚上大吃!\n- 5月15日: 实验室seminal, 实习seminal. 晚上和台湾小妹吃饭, 是一个双性恋者, 人生第一次见呐! 晚上偶遇妈妈桑, 是一个Gay, 我和他(她)探讨了喜欢的人!!\n- 5月16日: 上课, 睡觉, 打羽毛球(没打上)!\n- 5月17日: 健身器械送到实验室, 被指导老师批评! 晚上和momo桑聊天. \n- 5月18日: 准备下周的seminal发表, 纠结人生!\n- 5月19日: 和裴桑几个朋友去县立博物馆吃烤肉, 质量很不错!\n- 5月23日: 打乒乓球, 结识度袈附桑, 是一个建模大神!\n- 5月25日: 乒乓球俱乐部聚餐, 吃北谷村沙滩烤肉,结识mitaさん、19岁小女孩!\n- 5月26日: 和momo桑晚上吃海景意大利牛排, 景色真美, 回来探讨价值观人生观!\n- 5月27日: 冒着写不完作业的风险, 被裴桑带去超级食堂吃饭!\n- 5月28日: 在医院呆一天,,晚上和度袈附桑去robot club, 吃烤肉狠补ppt!\n- 5月29日: 去役場拿number card! 秋实家聚餐, 调鸡尾酒!\n- 5月30日: 睡觉, 和momo桑做饭, 打羽毛球认识在中国留过学的日本人! \n- 5月31日: 去immigration办理アルバイト、波之上神宫还原, 与秋实宁桑吃やキング!\n- 6月1日: 错过美国村的英语交流会!\n- 6月2日: 被带去逛DFS, 奢侈品集中地! 晚上吃夜光贝🐚!\n- 6月3日: 上课\n- 6月4日: 吃饭, 睡觉, 体重达到59, 透过momo桑联系stepanie!\n- 6月5日: ゼミ、和stepanie沟通, 剪头, 伤心的一天 !\n- 6月6日: 上课, 请momo吃面, 打乒乓球, 运动使心情变好! \n- 6月7日: 睡觉! 吃饭!\n- 6月8日: 参加Unity活动, 了解あしびかんぱにー、结识金城美優大四生, 國樹先生的学生!\n- 6月9日: 吃饭! 看光栅化算法!\n- 6月10日: 日语考试, 上课, 吃暖幕拉面!\n- 6月11日: 研究算法! ゼミ延期.\n- 6月12日: 去那霸预定蛋糕, 逛Ryubo商城.\n- 6月13日: 上课, 研究Unity, 写算法, 通宵完成简单的光栅化器!\n- 6月14日: 早上天降惊雷! 淋雨拿🍰, Stephanie生日!\n- 6月15日: 睡觉, 吃牛排, 观海! 舍弃Github Action, 解决Latex无法在hexo上正常解析!(差点没把仓库删掉P:sweat_smile:)\n- 6月16日: 父亲节! ","slug":"入学記事","published":1,"updated":"2024-06-15T17:12:15.398Z","comments":1,"layout":"post","photos":[],"_id":"clxgdl3kb0004yxhqgqojez67","content":"<p>3月31日ギリギリ来到冲绳, 开启冲绳之旅!</p>\n<h2 id=\"一言\">一言:</h2>\n<ul>\n<li>4月1日: 从琉球ホステル做🚌到琉球大学北口, 办理宿舍入住,\n去ニトリ买床被.</li>\n<li>4月2日: 那霸购买拖鞋, 生活用品.</li>\n<li>4月3日: 冲绳海啸, 早上度过惊魂时刻,\n好在没影响下去去役場办理迁入手续.</li>\n<li>4月4日: 放弃参加入学典礼, 选择去冲绳法务局更新签证.\n下午去ニトリ更换座椅.</li>\n<li>4月5日: 参加留学生入学教育.</li>\n<li>6日7日: 下雨聚餐, 无所事事.</li>\n<li>4月8日: 剪发, 面谈日本语教育, サークル参观.</li>\n<li>4月9日: 去南部福利局, 去ニトリ, 研究履修科目.</li>\n<li>4月10日: 第一次ゼミ, 向大家介绍自己, 布置实验室座位.</li>\n<li>4月11日: 参加日本语コース, 参加人类拓张的选修课.\n去浦添beach看《秒速5センチ》.</li>\n<li>4月12日: 安装电脑环境, 去最近的サンエー看柯南.尽管很好看.</li>\n<li>4月13日: 海盐小队看花火大会.</li>\n<li>4月14日: 图书馆借教科书, 睡觉, 搭建个人博客.</li>\n<li>4月15日: 上课, 病院预约.</li>\n<li>4月16日: 病院预约, 取在留卡.</li>\n<li>4月17日: ゼミ, 清理留学生会馆, 写材料, 被主查训,\n继续搭建个人博客.</li>\n<li>4月18日: 和领事馆大臣见面, 上课, 结识新朋友,\n暂时完成博客系统的搭建.</li>\n<li>4月19日: 人体工学椅子组装, 发现底盘很低, 是不是有问题呢?</li>\n<li>4月20日: 和朋友吃寿司, 讨论人情世故, 送礼的艺术.</li>\n<li>4月21日: 纠结研究计划要不要基于swift来做.</li>\n<li>4月22日: 上课, 上课, 上课, 找到英语partner.</li>\n<li>4月23日: 就AR导览系统, 和教授讨论具体的研究手法...,\n偶遇交换生三人组.</li>\n<li>4月24日: seminar被导师指定研究课题,\n纠结了一下午改计算机图形学还是坚持SLAM, 晚上赶cg计划书.</li>\n<li>4月25日: 上课, 被导师指导完善cg计划书...</li>\n<li>4月26日: 验光, 提交cg报告书, 更新邮局信息, 和家人聊天..</li>\n<li>4月27日: 查看奖学金募集 !</li>\n<li>4月28日: 游泳俱乐部, 新生欢迎会! 海边漫步和野餐.</li>\n<li>4月29日: 眺望东海, 偶见彩虹🌈.</li>\n<li>4月30日: 役場办理number卡, 办乐天手机卡, 看眼镜, 去堂吉柯德.</li>\n<li>5月01日: 亚马逊购物, 皮肤科看脸痘痘! 晚上中国留学生聚餐, 喝酒.</li>\n<li>5月02日: 。。。睡觉? 结识stephanie, 印度尼西亚交换生!</li>\n<li>5月03日: 浦添3A配眼镜, 晚上看那覇ハーリー, 花火大会!</li>\n<li>5月04日: 美ら海aquariumに遊び!</li>\n<li>5月05日: 睡觉!</li>\n<li>5月06日: 组装引体架!</li>\n<li>5月07日: 晚餐被投喂, 开心!</li>\n<li>5月08日: 作ppt发表到吐血.., 被导师要求换方向, 晕!</li>\n<li>5月09日: 晚餐被投喂, 开心! 与stephanie聊天.</li>\n<li>5月10日: 白忙活一场, 完成和宁桑吃饭, 面试便利店!!</li>\n<li>5月11日: 和裴桑吃牛排, 无所事事!</li>\n<li>5月12日: 看日漫, 重温天气之子.</li>\n<li>5月13日: 上课,,上课!决定选CG还是SLAM.</li>\n<li>5月14日: 引体架返品, 偶遇yui桑, 玩乒乓球🏓, 晚上大吃!</li>\n<li>5月15日: 实验室seminal, 实习seminal. 晚上和台湾小妹吃饭,\n是一个双性恋者, 人生第一次见呐! 晚上偶遇妈妈桑, 是一个Gay,\n我和他(她)探讨了喜欢的人!!</li>\n<li>5月16日: 上课, 睡觉, 打羽毛球(没打上)!</li>\n<li>5月17日: 健身器械送到实验室, 被指导老师批评! 晚上和momo桑聊天.</li>\n<li>5月18日: 准备下周的seminal发表, 纠结人生!</li>\n<li>5月19日: 和裴桑几个朋友去县立博物馆吃烤肉, 质量很不错!</li>\n<li>5月23日: 打乒乓球, 结识度袈附桑, 是一个建模大神!</li>\n<li>5月25日: 乒乓球俱乐部聚餐,\n吃北谷村沙滩烤肉,结识mitaさん、19岁小女孩!</li>\n<li>5月26日: 和momo桑晚上吃海景意大利牛排, 景色真美,\n回来探讨价值观人生观!</li>\n<li>5月27日: 冒着写不完作业的风险, 被裴桑带去超级食堂吃饭!</li>\n<li>5月28日: 在医院呆一天,,晚上和度袈附桑去robot club,\n吃烤肉狠补ppt!</li>\n<li>5月29日: 去役場拿number card! 秋实家聚餐, 调鸡尾酒!</li>\n<li>5月30日: 睡觉, 和momo桑做饭, 打羽毛球认识在中国留过学的日本人!</li>\n<li>5月31日: 去immigration办理アルバイト、波之上神宫还原,\n与秋实宁桑吃やキング!</li>\n<li>6月1日: 错过美国村的英语交流会!</li>\n<li>6月2日: 被带去逛DFS, 奢侈品集中地! 晚上吃夜光贝🐚!</li>\n<li>6月3日: 上课</li>\n<li>6月4日: 吃饭, 睡觉, 体重达到59, 透过momo桑联系stepanie!</li>\n<li>6月5日: ゼミ、和stepanie沟通, 剪头, 伤心的一天 !</li>\n<li>6月6日: 上课, 请momo吃面, 打乒乓球, 运动使心情变好!</li>\n<li>6月7日: 睡觉! 吃饭!</li>\n<li>6月8日: 参加Unity活动, 了解あしびかんぱにー、结识金城美優大四生,\n國樹先生的学生!</li>\n<li>6月9日: 吃饭! 看光栅化算法!</li>\n<li>6月10日: 日语考试, 上课, 吃暖幕拉面!</li>\n<li>6月11日: 研究算法! ゼミ延期.</li>\n<li>6月12日: 去那霸预定蛋糕, 逛Ryubo商城.</li>\n<li>6月13日: 上课, 研究Unity, 写算法, 通宵完成简单的光栅化器!</li>\n<li>6月14日: 早上天降惊雷! 淋雨拿🍰, Stephanie生日!</li>\n<li>6月15日: 睡觉, 吃牛排, 观海! 舍弃Github Action,\n解决Latex无法在hexo上正常解析!(差点没把仓库删掉P:sweat_smile:)</li>\n<li>6月16日: 父亲节!</li>\n</ul>\n","cover":"https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png","cover_type":"img","excerpt":"","more":"<p>3月31日ギリギリ来到冲绳, 开启冲绳之旅!</p>\n<h2 id=\"一言\">一言:</h2>\n<ul>\n<li>4月1日: 从琉球ホステル做🚌到琉球大学北口, 办理宿舍入住,\n去ニトリ买床被.</li>\n<li>4月2日: 那霸购买拖鞋, 生活用品.</li>\n<li>4月3日: 冲绳海啸, 早上度过惊魂时刻,\n好在没影响下去去役場办理迁入手续.</li>\n<li>4月4日: 放弃参加入学典礼, 选择去冲绳法务局更新签证.\n下午去ニトリ更换座椅.</li>\n<li>4月5日: 参加留学生入学教育.</li>\n<li>6日7日: 下雨聚餐, 无所事事.</li>\n<li>4月8日: 剪发, 面谈日本语教育, サークル参观.</li>\n<li>4月9日: 去南部福利局, 去ニトリ, 研究履修科目.</li>\n<li>4月10日: 第一次ゼミ, 向大家介绍自己, 布置实验室座位.</li>\n<li>4月11日: 参加日本语コース, 参加人类拓张的选修课.\n去浦添beach看《秒速5センチ》.</li>\n<li>4月12日: 安装电脑环境, 去最近的サンエー看柯南.尽管很好看.</li>\n<li>4月13日: 海盐小队看花火大会.</li>\n<li>4月14日: 图书馆借教科书, 睡觉, 搭建个人博客.</li>\n<li>4月15日: 上课, 病院预约.</li>\n<li>4月16日: 病院预约, 取在留卡.</li>\n<li>4月17日: ゼミ, 清理留学生会馆, 写材料, 被主查训,\n继续搭建个人博客.</li>\n<li>4月18日: 和领事馆大臣见面, 上课, 结识新朋友,\n暂时完成博客系统的搭建.</li>\n<li>4月19日: 人体工学椅子组装, 发现底盘很低, 是不是有问题呢?</li>\n<li>4月20日: 和朋友吃寿司, 讨论人情世故, 送礼的艺术.</li>\n<li>4月21日: 纠结研究计划要不要基于swift来做.</li>\n<li>4月22日: 上课, 上课, 上课, 找到英语partner.</li>\n<li>4月23日: 就AR导览系统, 和教授讨论具体的研究手法...,\n偶遇交换生三人组.</li>\n<li>4月24日: seminar被导师指定研究课题,\n纠结了一下午改计算机图形学还是坚持SLAM, 晚上赶cg计划书.</li>\n<li>4月25日: 上课, 被导师指导完善cg计划书...</li>\n<li>4月26日: 验光, 提交cg报告书, 更新邮局信息, 和家人聊天..</li>\n<li>4月27日: 查看奖学金募集 !</li>\n<li>4月28日: 游泳俱乐部, 新生欢迎会! 海边漫步和野餐.</li>\n<li>4月29日: 眺望东海, 偶见彩虹🌈.</li>\n<li>4月30日: 役場办理number卡, 办乐天手机卡, 看眼镜, 去堂吉柯德.</li>\n<li>5月01日: 亚马逊购物, 皮肤科看脸痘痘! 晚上中国留学生聚餐, 喝酒.</li>\n<li>5月02日: 。。。睡觉? 结识stephanie, 印度尼西亚交换生!</li>\n<li>5月03日: 浦添3A配眼镜, 晚上看那覇ハーリー, 花火大会!</li>\n<li>5月04日: 美ら海aquariumに遊び!</li>\n<li>5月05日: 睡觉!</li>\n<li>5月06日: 组装引体架!</li>\n<li>5月07日: 晚餐被投喂, 开心!</li>\n<li>5月08日: 作ppt发表到吐血.., 被导师要求换方向, 晕!</li>\n<li>5月09日: 晚餐被投喂, 开心! 与stephanie聊天.</li>\n<li>5月10日: 白忙活一场, 完成和宁桑吃饭, 面试便利店!!</li>\n<li>5月11日: 和裴桑吃牛排, 无所事事!</li>\n<li>5月12日: 看日漫, 重温天气之子.</li>\n<li>5月13日: 上课,,上课!决定选CG还是SLAM.</li>\n<li>5月14日: 引体架返品, 偶遇yui桑, 玩乒乓球🏓, 晚上大吃!</li>\n<li>5月15日: 实验室seminal, 实习seminal. 晚上和台湾小妹吃饭,\n是一个双性恋者, 人生第一次见呐! 晚上偶遇妈妈桑, 是一个Gay,\n我和他(她)探讨了喜欢的人!!</li>\n<li>5月16日: 上课, 睡觉, 打羽毛球(没打上)!</li>\n<li>5月17日: 健身器械送到实验室, 被指导老师批评! 晚上和momo桑聊天.</li>\n<li>5月18日: 准备下周的seminal发表, 纠结人生!</li>\n<li>5月19日: 和裴桑几个朋友去县立博物馆吃烤肉, 质量很不错!</li>\n<li>5月23日: 打乒乓球, 结识度袈附桑, 是一个建模大神!</li>\n<li>5月25日: 乒乓球俱乐部聚餐,\n吃北谷村沙滩烤肉,结识mitaさん、19岁小女孩!</li>\n<li>5月26日: 和momo桑晚上吃海景意大利牛排, 景色真美,\n回来探讨价值观人生观!</li>\n<li>5月27日: 冒着写不完作业的风险, 被裴桑带去超级食堂吃饭!</li>\n<li>5月28日: 在医院呆一天,,晚上和度袈附桑去robot club,\n吃烤肉狠补ppt!</li>\n<li>5月29日: 去役場拿number card! 秋实家聚餐, 调鸡尾酒!</li>\n<li>5月30日: 睡觉, 和momo桑做饭, 打羽毛球认识在中国留过学的日本人!</li>\n<li>5月31日: 去immigration办理アルバイト、波之上神宫还原,\n与秋实宁桑吃やキング!</li>\n<li>6月1日: 错过美国村的英语交流会!</li>\n<li>6月2日: 被带去逛DFS, 奢侈品集中地! 晚上吃夜光贝🐚!</li>\n<li>6月3日: 上课</li>\n<li>6月4日: 吃饭, 睡觉, 体重达到59, 透过momo桑联系stepanie!</li>\n<li>6月5日: ゼミ、和stepanie沟通, 剪头, 伤心的一天 !</li>\n<li>6月6日: 上课, 请momo吃面, 打乒乓球, 运动使心情变好!</li>\n<li>6月7日: 睡觉! 吃饭!</li>\n<li>6月8日: 参加Unity活动, 了解あしびかんぱにー、结识金城美優大四生,\n國樹先生的学生!</li>\n<li>6月9日: 吃饭! 看光栅化算法!</li>\n<li>6月10日: 日语考试, 上课, 吃暖幕拉面!</li>\n<li>6月11日: 研究算法! ゼミ延期.</li>\n<li>6月12日: 去那霸预定蛋糕, 逛Ryubo商城.</li>\n<li>6月13日: 上课, 研究Unity, 写算法, 通宵完成简单的光栅化器!</li>\n<li>6月14日: 早上天降惊雷! 淋雨拿🍰, Stephanie生日!</li>\n<li>6月15日: 睡觉, 吃牛排, 观海! 舍弃Github Action,\n解决Latex无法在hexo上正常解析!(差点没把仓库删掉P:sweat_smile:)</li>\n<li>6月16日: 父亲节!</li>\n</ul>\n"},{"title":"Rasterize","date":"2024-06-14T11:28:28.000Z","_content":"\n## viewport变换:\n投影変更によって、カメラの可視空間から正規化立方体にします。即ち全ての座標はマイナス1からプラス1までに落ちてます。\n- その後Viewport変換により, カメラの可視空間をscreenに描きます.\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/投影变换.png\" style=\"zoom: 33%;\" /></p>\n\n***\n## screenと言うのは何か?\n- screen空間は一連の画素を組み込みしたものです。\n<p align=\"center\"> <img src=\"./Rasterize/屏幕空间.png\" style=\"zoom: 33%;\" /></p>\n- 上図のように, pixelは発光する小さな四角形として簡単に定義できます。\n\n***\n- screen空間のサイズは(0、0)から(Width, Height)までと定義します。変換行列を次のように構築します:\n<p align=\"center\"> <img src=\"./Rasterize/视口变换矩阵.png\" style=\"zoom: 22%;\" /></p>\n- この変換行列を使用して、(-1, 1)の3乗に位置を定義した正規空間を(Width, Height)のscreenスペースに変換します。\n\n***\n## Rasteriz:\n- 一般的に、rasterizeとは、screenスペースのobjectを組み込みしたpolygon(通常は三角形)をpixelに変換し、2D画像を描くことを指します。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/光栅化.png\" style=\"zoom: 22%;\" /></p>\n\n- 三角形を選択するのは、以下の特徴があるからです:\n - 最も基本的な多角形。\n - 他の図形は三角形に分解できる。\n - 三角形の内部は必ず平面である。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/三角形.png\" style=\"zoom: 22%;\" /></p>\n\n***\n## Rasteriz Method:\n### 1. pixelの中心点と三角形の位置関係を判断する: 外積できます.\n - 内外画素を判断する:\n <p align=\"center\"> <img src=\"./Rasterize/叉乘.png\" style=\"zoom: 33%;\" /></p>\n - 上図に示す:\n - $\\overrightarrow{V_{0}P} = \\left [P.x - V_{0}.x, P.y - V_{0}.y \\right ]$\n - $\\overrightarrow{V_{0}V_{1}} = \\left [V_{1}.x - V_{0}.x, V_{1}.y - V_{0}.y \\right ]$\n - 内積は: $E01(P)=(P.x - V0.x)\\cdot (V1.y - V0.y) - (P.y - V0.y)\\cdot (V1.x - V0.x)$\n - vectorを逆に時計回りに回転させることをプラス角度とする場合は、E01(P)の値はプラスであり、点Pはvector`V0V1`の右側にあります。\n - 其他三边同理:\n - E01(P)=(P.x−V0.x)∗(V1.y−V0.y)−(P.y−V0.y)∗(V1.x−V0.x)\n - E12(P)=(P.x−V1.x)∗(V2.y−V1.y)−(P.y−V1.y)∗(V2.x−V1.x)\n - E20(P)=(P.x−V2.x)∗(V0.y−V2.y)−(P.y−V2.y)∗(V0.x−V2.x)\n - もし\n - E01(P) > 0 && E12(P) > 0 && E20(P) > 0\n - だったら, 点Pは三角形の中にいます.\n\n***\n- 画面の空間には多数のpixelがありますが、1つの図形要素(三角形)が占めるpixel数は少ないため、各三角形ごとに画面のすべてのpixelを判断する必要はありません。\n- テストしたい三角形を囲む境界ボックス(bounding box)を使用し、その境界ボックス内の点のみをサンプリングテストすることができます。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/box.png\" style=\"zoom: 22%;\" /></p>\n\n### 2. 色彩補間: 重心座標によって:\n - コンピュータグラフィックスでは、三角形の頂点には色、法線、テクスチャ座標など、複数の属性が含まれています。\n - 一応色彩の属性を例に取り、三角形の3つの頂点の色が既知の場合、三角形の内部の任意の点の色をどのように決定しますか?\n - まず、三角形の内部の任意の点の重心座標を取得します。下図を参照します。\n <p align=\"center\"> <img src=\"./Rasterize/重心坐标三角形.png\" style=\"zoom: 22%;\" /></p>\n - 三角形の面積は、それを構成する2つの辺のvectorの外積の半分に等しいため、\n $\\lambda _{abp}$, $\\lambda _{acp}$, $\\lambda _{bcp}$のように定義したら:\n $$\n \\lambda _{abp} = \\frac{S\\Delta ABP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AB}\\times \\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n $$\n \\lambda _{acp} = \\frac{S\\Delta ACP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{AC}\\times \\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AC}\\times \\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n $$\n \\lambda _{bcp} = \\frac{S\\Delta BCP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{BC}\\times \\overrightarrow{BP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{BC}\\times \\overrightarrow{BP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n\n***\n- 線形補間により、点Dの座標を得ることができます:\n $$\n D=(1 - t)B+tC (t は0から1の間のパラメータです。)\n $$\n- 既知:\n $$\n \\frac{BD}{DC} = \\frac{S\\Delta PBD}{S\\Delta PCD} = \\frac{S\\Delta ABP}{S\\Delta ACP} = \\frac{\\lambda _{abp}}{\\lambda _{acp}} = \\frac{t}{1-t}\n $$\n- 得:\n $$\n t = \\frac{\\lambda_{abp}}{\\lambda_{abp} + \\lambda_{acp}}\n $$\n- 上式を代入して:\n $$\n D=(1 - t)B+tC = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}B + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}C\n $$\n- それをvector形式で表して:\n $$\n \\overrightarrow{OD}=(1 - t)\\overrightarrow{OB}+t\\overrightarrow{OC} = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OC}\n $$\n\n***\n- 而も既知:\n $$\n \\frac{AP}{PD} = \\frac{AP\\cdot \\frac{h_{1}}{2} + AP\\cdot \\frac{h2}{2}}{PD\\cdot \\frac{h1}{2} + PD\\cdot \\frac{h2}{2}} = \\frac{S\\Delta ABP + S\\Delta ACP}{S\\Delta PBD + S\\Delta PCD} = \\frac{\\lambda _{abp} +\\lambda _{acp}}{\\lambda _{bcp}} = \\frac{t}{1-t}\n $$\n- 線形補間により, 同様に:\n $$\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} = \\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OD}\n $$\n- OD vectorを代入して, 得: \n $$\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} = \\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\left ( \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OC} \\right ) = \\frac{\\lambda _{bcp}\\overrightarrow{OA} + \\lambda _{acp}\\overrightarrow{OB} + \\lambda _{abp}\\overrightarrow{OC}}{1}\n $$\n\n- 最終に、任意の三角形内の点の重心座標を得られる。\n- そして、重心座標を使用して、三角形内の任意の点で色属性を補間することができます。\n $$\n C_{p} = \\lambda _{bcp}\\cdot C_{a} + \\lambda _{acp}\\cdot C_{b} + \\lambda _{abp}\\cdot C_{c}\n $$\n- 下图に示す:\n <p align=\"center\"> <img src=\"./Rasterize/颜色插值.png\" style=\"zoom: 33%;\" /></p>\n\n","source":"_posts/Rasterize.md","raw":"---\ntitle: Rasterize\ndate: 2024-06-14 20:28:28\ncategories: \n- siminal\ntags:\n- CG\n- Research\n---\n\n## viewport变换:\n投影変更によって、カメラの可視空間から正規化立方体にします。即ち全ての座標はマイナス1からプラス1までに落ちてます。\n- その後Viewport変換により, カメラの可視空間をscreenに描きます.\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/投影变换.png\" style=\"zoom: 33%;\" /></p>\n\n***\n## screenと言うのは何か?\n- screen空間は一連の画素を組み込みしたものです。\n<p align=\"center\"> <img src=\"./Rasterize/屏幕空间.png\" style=\"zoom: 33%;\" /></p>\n- 上図のように, pixelは発光する小さな四角形として簡単に定義できます。\n\n***\n- screen空間のサイズは(0、0)から(Width, Height)までと定義します。変換行列を次のように構築します:\n<p align=\"center\"> <img src=\"./Rasterize/视口变换矩阵.png\" style=\"zoom: 22%;\" /></p>\n- この変換行列を使用して、(-1, 1)の3乗に位置を定義した正規空間を(Width, Height)のscreenスペースに変換します。\n\n***\n## Rasteriz:\n- 一般的に、rasterizeとは、screenスペースのobjectを組み込みしたpolygon(通常は三角形)をpixelに変換し、2D画像を描くことを指します。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/光栅化.png\" style=\"zoom: 22%;\" /></p>\n\n- 三角形を選択するのは、以下の特徴があるからです:\n - 最も基本的な多角形。\n - 他の図形は三角形に分解できる。\n - 三角形の内部は必ず平面である。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/三角形.png\" style=\"zoom: 22%;\" /></p>\n\n***\n## Rasteriz Method:\n### 1. pixelの中心点と三角形の位置関係を判断する: 外積できます.\n - 内外画素を判断する:\n <p align=\"center\"> <img src=\"./Rasterize/叉乘.png\" style=\"zoom: 33%;\" /></p>\n - 上図に示す:\n - $\\overrightarrow{V_{0}P} = \\left [P.x - V_{0}.x, P.y - V_{0}.y \\right ]$\n - $\\overrightarrow{V_{0}V_{1}} = \\left [V_{1}.x - V_{0}.x, V_{1}.y - V_{0}.y \\right ]$\n - 内積は: $E01(P)=(P.x - V0.x)\\cdot (V1.y - V0.y) - (P.y - V0.y)\\cdot (V1.x - V0.x)$\n - vectorを逆に時計回りに回転させることをプラス角度とする場合は、E01(P)の値はプラスであり、点Pはvector`V0V1`の右側にあります。\n - 其他三边同理:\n - E01(P)=(P.x−V0.x)∗(V1.y−V0.y)−(P.y−V0.y)∗(V1.x−V0.x)\n - E12(P)=(P.x−V1.x)∗(V2.y−V1.y)−(P.y−V1.y)∗(V2.x−V1.x)\n - E20(P)=(P.x−V2.x)∗(V0.y−V2.y)−(P.y−V2.y)∗(V0.x−V2.x)\n - もし\n - E01(P) > 0 && E12(P) > 0 && E20(P) > 0\n - だったら, 点Pは三角形の中にいます.\n\n***\n- 画面の空間には多数のpixelがありますが、1つの図形要素(三角形)が占めるpixel数は少ないため、各三角形ごとに画面のすべてのpixelを判断する必要はありません。\n- テストしたい三角形を囲む境界ボックス(bounding box)を使用し、その境界ボックス内の点のみをサンプリングテストすることができます。\n- 下図に示す:\n<p align=\"center\"> <img src=\"./Rasterize/box.png\" style=\"zoom: 22%;\" /></p>\n\n### 2. 色彩補間: 重心座標によって:\n - コンピュータグラフィックスでは、三角形の頂点には色、法線、テクスチャ座標など、複数の属性が含まれています。\n - 一応色彩の属性を例に取り、三角形の3つの頂点の色が既知の場合、三角形の内部の任意の点の色をどのように決定しますか?\n - まず、三角形の内部の任意の点の重心座標を取得します。下図を参照します。\n <p align=\"center\"> <img src=\"./Rasterize/重心坐标三角形.png\" style=\"zoom: 22%;\" /></p>\n - 三角形の面積は、それを構成する2つの辺のvectorの外積の半分に等しいため、\n $\\lambda _{abp}$, $\\lambda _{acp}$, $\\lambda _{bcp}$のように定義したら:\n $$\n \\lambda _{abp} = \\frac{S\\Delta ABP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AB}\\times \\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n $$\n \\lambda _{acp} = \\frac{S\\Delta ACP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{AC}\\times \\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AC}\\times \\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n $$\n \\lambda _{bcp} = \\frac{S\\Delta BCP}{S\\Delta ABC} = \\frac{\\frac{\\overrightarrow{BC}\\times \\overrightarrow{BP}}{2}}{\\frac{\\overrightarrow{AB}\\times \\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{BC}\\times \\overrightarrow{BP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n $$\n\n***\n- 線形補間により、点Dの座標を得ることができます:\n $$\n D=(1 - t)B+tC (t は0から1の間のパラメータです。)\n $$\n- 既知:\n $$\n \\frac{BD}{DC} = \\frac{S\\Delta PBD}{S\\Delta PCD} = \\frac{S\\Delta ABP}{S\\Delta ACP} = \\frac{\\lambda _{abp}}{\\lambda _{acp}} = \\frac{t}{1-t}\n $$\n- 得:\n $$\n t = \\frac{\\lambda_{abp}}{\\lambda_{abp} + \\lambda_{acp}}\n $$\n- 上式を代入して:\n $$\n D=(1 - t)B+tC = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}B + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}C\n $$\n- それをvector形式で表して:\n $$\n \\overrightarrow{OD}=(1 - t)\\overrightarrow{OB}+t\\overrightarrow{OC} = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OC}\n $$\n\n***\n- 而も既知:\n $$\n \\frac{AP}{PD} = \\frac{AP\\cdot \\frac{h_{1}}{2} + AP\\cdot \\frac{h2}{2}}{PD\\cdot \\frac{h1}{2} + PD\\cdot \\frac{h2}{2}} = \\frac{S\\Delta ABP + S\\Delta ACP}{S\\Delta PBD + S\\Delta PCD} = \\frac{\\lambda _{abp} +\\lambda _{acp}}{\\lambda _{bcp}} = \\frac{t}{1-t}\n $$\n- 線形補間により, 同様に:\n $$\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} = \\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OD}\n $$\n- OD vectorを代入して, 得: \n $$\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} = \\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\left ( \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}\\overrightarrow{OC} \\right ) = \\frac{\\lambda _{bcp}\\overrightarrow{OA} + \\lambda _{acp}\\overrightarrow{OB} + \\lambda _{abp}\\overrightarrow{OC}}{1}\n $$\n\n- 最終に、任意の三角形内の点の重心座標を得られる。\n- そして、重心座標を使用して、三角形内の任意の点で色属性を補間することができます。\n $$\n C_{p} = \\lambda _{bcp}\\cdot C_{a} + \\lambda _{acp}\\cdot C_{b} + \\lambda _{abp}\\cdot C_{c}\n $$\n- 下图に示す:\n <p align=\"center\"> <img src=\"./Rasterize/颜色插值.png\" style=\"zoom: 33%;\" /></p>\n\n","slug":"Rasterize","published":1,"updated":"2024-06-15T16:40:40.645Z","comments":1,"layout":"post","photos":[],"_id":"clxgdl3kc0006yxhqe4xvg51v","content":"<h2 id=\"viewport变换\">viewport变换:</h2>\n投影変更によって、カメラの可視空間から正規化立方体にします。即ち全ての座標はマイナス1からプラス1までに落ちてます。\n- その後Viewport変換により, カメラの可視空間をscreenに描きます. -\n下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/投影变换.png\" style=\"zoom: 33%;\">\n</p>\n<hr>\n<h2 id=\"screenと言うのは何か\">screenと言うのは何か?</h2>\n<ul>\n<li>screen空間は一連の画素を組み込みしたものです。\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/屏幕空间.png\" style=\"zoom: 33%;\">\n</p></li>\n<li>上図のように,\npixelは発光する小さな四角形として簡単に定義できます。</li>\n</ul>\n<hr>\n<ul>\n<li>screen空間のサイズは(0、0)から(Width,\nHeight)までと定義します。変換行列を次のように構築します:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/视口变换矩阵.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>この変換行列を使用して、(-1,\n1)の3乗に位置を定義した正規空間を(Width,\nHeight)のscreenスペースに変換します。</li>\n</ul>\n<hr>\n<h2 id=\"rasteriz\">Rasteriz:</h2>\n<ul>\n<li>一般的に、rasterizeとは、screenスペースのobjectを組み込みしたpolygon(通常は三角形)をpixelに変換し、2D画像を描くことを指します。</li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/光栅化.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>三角形を選択するのは、以下の特徴があるからです:\n<ul>\n<li>最も基本的な多角形。</li>\n<li>他の図形は三角形に分解できる。</li>\n<li>三角形の内部は必ず平面である。</li>\n</ul></li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/三角形.png\" style=\"zoom: 22%;\">\n</p></li>\n</ul>\n<hr>\n<h2 id=\"rasteriz-method\">Rasteriz Method:</h2>\n<h3 id=\"pixelの中心点と三角形の位置関係を判断する-外積できます.\">1.\npixelの中心点と三角形の位置関係を判断する: 外積できます.</h3>\n<ul>\n<li>内外画素を判断する:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/叉乘.png\" style=\"zoom: 33%;\">\n</p></li>\n<li>上図に示す:\n<ul>\n<li><span class=\"math inline\">\\(\\overrightarrow{V_{0}P} = \\left [P.x -\nV_{0}.x, P.y - V_{0}.y \\right ]\\)</span></li>\n<li><span class=\"math inline\">\\(\\overrightarrow{V_{0}V_{1}} = \\left\n[V_{1}.x - V_{0}.x, V_{1}.y - V_{0}.y \\right ]\\)</span></li>\n<li>内積は: <span class=\"math inline\">\\(E01(P)=(P.x - V0.x)\\cdot (V1.y -\nV0.y) - (P.y - V0.y)\\cdot (V1.x - V0.x)\\)</span></li>\n</ul></li>\n<li>vectorを逆に時計回りに回転させることをプラス角度とする場合は、E01(P)の値はプラスであり、点Pはvector<code>V0V1</code>の右側にあります。</li>\n<li>其他三边同理:\n<ul>\n<li>E01(P)=(P.x−V0.x)∗(V1.y−V0.y)−(P.y−V0.y)∗(V1.x−V0.x)</li>\n<li>E12(P)=(P.x−V1.x)∗(V2.y−V1.y)−(P.y−V1.y)∗(V2.x−V1.x)</li>\n<li>E20(P)=(P.x−V2.x)∗(V0.y−V2.y)−(P.y−V2.y)∗(V0.x−V2.x)</li>\n</ul></li>\n<li>もし\n<ul>\n<li>E01(P) > 0 && E12(P) > 0 && E20(P) > 0</li>\n</ul></li>\n<li>だったら, 点Pは三角形の中にいます.</li>\n</ul>\n<hr>\n<ul>\n<li>画面の空間には多数のpixelがありますが、1つの図形要素(三角形)が占めるpixel数は少ないため、各三角形ごとに画面のすべてのpixelを判断する必要はありません。</li>\n<li>テストしたい三角形を囲む境界ボックス(bounding\nbox)を使用し、その境界ボックス内の点のみをサンプリングテストすることができます。</li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/box.png\" style=\"zoom: 22%;\">\n</p></li>\n</ul>\n<h3 id=\"色彩補間-重心座標によって\">2. 色彩補間: 重心座標によって:</h3>\n<ul>\n<li>コンピュータグラフィックスでは、三角形の頂点には色、法線、テクスチャ座標など、複数の属性が含まれています。</li>\n<li>一応色彩の属性を例に取り、三角形の3つの頂点の色が既知の場合、三角形の内部の任意の点の色をどのように決定しますか?</li>\n<li>まず、三角形の内部の任意の点の重心座標を取得します。下図を参照します。\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/重心坐标三角形.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>三角形の面積は、それを構成する2つの辺のvectorの外積の半分に等しいため、\n<span class=\"math inline\">\\(\\lambda _{abp}\\)</span>, <span class=\"math inline\">\\(\\lambda _{acp}\\)</span>, <span class=\"math inline\">\\(\\lambda _{bcp}\\)</span>のように定義したら: <span class=\"math display\">\\[\n\\lambda _{abp} = \\frac{S\\Delta ABP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span> <span class=\"math display\">\\[\n\\lambda _{acp} = \\frac{S\\Delta ACP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{AC}\\times\n\\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AC}\\times\n\\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span> <span class=\"math display\">\\[\n\\lambda _{bcp} = \\frac{S\\Delta BCP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{BC}\\times\n\\overrightarrow{BP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{BC}\\times\n\\overrightarrow{BP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span></li>\n</ul>\n<hr>\n<ul>\n<li>線形補間により、点Dの座標を得ることができます: <span class=\"math display\">\\[\n D=(1 - t)B+tC (t は0から1の間のパラメータです。)\n \\]</span></li>\n<li>既知: <span class=\"math display\">\\[\n \\frac{BD}{DC} = \\frac{S\\Delta PBD}{S\\Delta PCD} = \\frac{S\\Delta\nABP}{S\\Delta ACP} = \\frac{\\lambda _{abp}}{\\lambda _{acp}} =\n\\frac{t}{1-t}\n \\]</span></li>\n<li>得: <span class=\"math display\">\\[\n t = \\frac{\\lambda_{abp}}{\\lambda_{abp} + \\lambda_{acp}}\n \\]</span></li>\n<li>上式を代入して: <span class=\"math display\">\\[\n D=(1 - t)B+tC = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}B + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}C\n \\]</span></li>\n<li>それをvector形式で表して: <span class=\"math display\">\\[\n \\overrightarrow{OD}=(1 - t)\\overrightarrow{OB}+t\\overrightarrow{OC} =\n\\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} +\n\\lambda _{acp}}\\overrightarrow{OC}\n \\]</span></li>\n</ul>\n<hr>\n<ul>\n<li><p>而も既知: <span class=\"math display\">\\[\n \\frac{AP}{PD} = \\frac{AP\\cdot \\frac{h_{1}}{2} + AP\\cdot\n\\frac{h2}{2}}{PD\\cdot \\frac{h1}{2} + PD\\cdot \\frac{h2}{2}} =\n\\frac{S\\Delta ABP + S\\Delta ACP}{S\\Delta PBD + S\\Delta PCD} =\n\\frac{\\lambda _{abp} +\\lambda _{acp}}{\\lambda _{bcp}} = \\frac{t}{1-t}\n \\]</span></p></li>\n<li><p>線形補間により, 同様に: <span class=\"math display\">\\[\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} =\n\\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda\n_{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OD}\n \\]</span></p></li>\n<li><p>OD vectorを代入して, 得: <span class=\"math display\">\\[\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} =\n\\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda\n_{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\left (\n\\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} +\n\\lambda _{acp}}\\overrightarrow{OC} \\right ) = \\frac{\\lambda\n_{bcp}\\overrightarrow{OA} + \\lambda _{acp}\\overrightarrow{OB} + \\lambda\n_{abp}\\overrightarrow{OC}}{1}\n \\]</span></p></li>\n<li><p>最終に、任意の三角形内の点の重心座標を得られる。</p></li>\n<li><p>そして、重心座標を使用して、三角形内の任意の点で色属性を補間することができます。\n<span class=\"math display\">\\[\n C_{p} = \\lambda _{bcp}\\cdot C_{a} + \\lambda _{acp}\\cdot C_{b} +\n\\lambda _{abp}\\cdot C_{c}\n \\]</span></p></li>\n<li><p>下图に示す:</p>\n<p align=\"center\">\n</p><p><img src=\"/post/siminal/20240614202828/颜色插值.png\" style=\"zoom: 33%;\"></p>\n<p></p></li>\n</ul>\n","cover":"https://cdn.jsdelivr.net/gh/jerryc127/CDN@latest/cover/default_bg.png","cover_type":"img","excerpt":"","more":"<h2 id=\"viewport变换\">viewport变换:</h2>\n投影変更によって、カメラの可視空間から正規化立方体にします。即ち全ての座標はマイナス1からプラス1までに落ちてます。\n- その後Viewport変換により, カメラの可視空間をscreenに描きます. -\n下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/投影变换.png\" style=\"zoom: 33%;\">\n</p>\n<hr>\n<h2 id=\"screenと言うのは何か\">screenと言うのは何か?</h2>\n<ul>\n<li>screen空間は一連の画素を組み込みしたものです。\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/屏幕空间.png\" style=\"zoom: 33%;\">\n</p></li>\n<li>上図のように,\npixelは発光する小さな四角形として簡単に定義できます。</li>\n</ul>\n<hr>\n<ul>\n<li>screen空間のサイズは(0、0)から(Width,\nHeight)までと定義します。変換行列を次のように構築します:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/视口变换矩阵.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>この変換行列を使用して、(-1,\n1)の3乗に位置を定義した正規空間を(Width,\nHeight)のscreenスペースに変換します。</li>\n</ul>\n<hr>\n<h2 id=\"rasteriz\">Rasteriz:</h2>\n<ul>\n<li>一般的に、rasterizeとは、screenスペースのobjectを組み込みしたpolygon(通常は三角形)をpixelに変換し、2D画像を描くことを指します。</li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/光栅化.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>三角形を選択するのは、以下の特徴があるからです:\n<ul>\n<li>最も基本的な多角形。</li>\n<li>他の図形は三角形に分解できる。</li>\n<li>三角形の内部は必ず平面である。</li>\n</ul></li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/三角形.png\" style=\"zoom: 22%;\">\n</p></li>\n</ul>\n<hr>\n<h2 id=\"rasteriz-method\">Rasteriz Method:</h2>\n<h3 id=\"pixelの中心点と三角形の位置関係を判断する-外積できます.\">1.\npixelの中心点と三角形の位置関係を判断する: 外積できます.</h3>\n<ul>\n<li>内外画素を判断する:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/叉乘.png\" style=\"zoom: 33%;\">\n</p></li>\n<li>上図に示す:\n<ul>\n<li><span class=\"math inline\">\\(\\overrightarrow{V_{0}P} = \\left [P.x -\nV_{0}.x, P.y - V_{0}.y \\right ]\\)</span></li>\n<li><span class=\"math inline\">\\(\\overrightarrow{V_{0}V_{1}} = \\left\n[V_{1}.x - V_{0}.x, V_{1}.y - V_{0}.y \\right ]\\)</span></li>\n<li>内積は: <span class=\"math inline\">\\(E01(P)=(P.x - V0.x)\\cdot (V1.y -\nV0.y) - (P.y - V0.y)\\cdot (V1.x - V0.x)\\)</span></li>\n</ul></li>\n<li>vectorを逆に時計回りに回転させることをプラス角度とする場合は、E01(P)の値はプラスであり、点Pはvector<code>V0V1</code>の右側にあります。</li>\n<li>其他三边同理:\n<ul>\n<li>E01(P)=(P.x−V0.x)∗(V1.y−V0.y)−(P.y−V0.y)∗(V1.x−V0.x)</li>\n<li>E12(P)=(P.x−V1.x)∗(V2.y−V1.y)−(P.y−V1.y)∗(V2.x−V1.x)</li>\n<li>E20(P)=(P.x−V2.x)∗(V0.y−V2.y)−(P.y−V2.y)∗(V0.x−V2.x)</li>\n</ul></li>\n<li>もし\n<ul>\n<li>E01(P) > 0 && E12(P) > 0 && E20(P) > 0</li>\n</ul></li>\n<li>だったら, 点Pは三角形の中にいます.</li>\n</ul>\n<hr>\n<ul>\n<li>画面の空間には多数のpixelがありますが、1つの図形要素(三角形)が占めるpixel数は少ないため、各三角形ごとに画面のすべてのpixelを判断する必要はありません。</li>\n<li>テストしたい三角形を囲む境界ボックス(bounding\nbox)を使用し、その境界ボックス内の点のみをサンプリングテストすることができます。</li>\n<li>下図に示す:\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/box.png\" style=\"zoom: 22%;\">\n</p></li>\n</ul>\n<h3 id=\"色彩補間-重心座標によって\">2. 色彩補間: 重心座標によって:</h3>\n<ul>\n<li>コンピュータグラフィックスでは、三角形の頂点には色、法線、テクスチャ座標など、複数の属性が含まれています。</li>\n<li>一応色彩の属性を例に取り、三角形の3つの頂点の色が既知の場合、三角形の内部の任意の点の色をどのように決定しますか?</li>\n<li>まず、三角形の内部の任意の点の重心座標を取得します。下図を参照します。\n<p align=\"center\">\n<img src=\"/post/siminal/20240614202828/重心坐标三角形.png\" style=\"zoom: 22%;\">\n</p></li>\n<li>三角形の面積は、それを構成する2つの辺のvectorの外積の半分に等しいため、\n<span class=\"math inline\">\\(\\lambda _{abp}\\)</span>, <span class=\"math inline\">\\(\\lambda _{acp}\\)</span>, <span class=\"math inline\">\\(\\lambda _{bcp}\\)</span>のように定義したら: <span class=\"math display\">\\[\n\\lambda _{abp} = \\frac{S\\Delta ABP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span> <span class=\"math display\">\\[\n\\lambda _{acp} = \\frac{S\\Delta ACP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{AC}\\times\n\\overrightarrow{AP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{AC}\\times\n\\overrightarrow{AP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span> <span class=\"math display\">\\[\n\\lambda _{bcp} = \\frac{S\\Delta BCP}{S\\Delta ABC} =\n\\frac{\\frac{\\overrightarrow{BC}\\times\n\\overrightarrow{BP}}{2}}{\\frac{\\overrightarrow{AB}\\times\n\\overrightarrow{AC}}{2}} = \\frac{\\overrightarrow{BC}\\times\n\\overrightarrow{BP}}{\\overrightarrow{AB}\\times \\overrightarrow{AC}}\n\\]</span></li>\n</ul>\n<hr>\n<ul>\n<li>線形補間により、点Dの座標を得ることができます: <span class=\"math display\">\\[\n D=(1 - t)B+tC (t は0から1の間のパラメータです。)\n \\]</span></li>\n<li>既知: <span class=\"math display\">\\[\n \\frac{BD}{DC} = \\frac{S\\Delta PBD}{S\\Delta PCD} = \\frac{S\\Delta\nABP}{S\\Delta ACP} = \\frac{\\lambda _{abp}}{\\lambda _{acp}} =\n\\frac{t}{1-t}\n \\]</span></li>\n<li>得: <span class=\"math display\">\\[\n t = \\frac{\\lambda_{abp}}{\\lambda_{abp} + \\lambda_{acp}}\n \\]</span></li>\n<li>上式を代入して: <span class=\"math display\">\\[\n D=(1 - t)B+tC = \\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}B + \\frac{\\lambda _{abp}}{\\lambda _{abp} + \\lambda _{acp}}C\n \\]</span></li>\n<li>それをvector形式で表して: <span class=\"math display\">\\[\n \\overrightarrow{OD}=(1 - t)\\overrightarrow{OB}+t\\overrightarrow{OC} =\n\\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} +\n\\lambda _{acp}}\\overrightarrow{OC}\n \\]</span></li>\n</ul>\n<hr>\n<ul>\n<li><p>而も既知: <span class=\"math display\">\\[\n \\frac{AP}{PD} = \\frac{AP\\cdot \\frac{h_{1}}{2} + AP\\cdot\n\\frac{h2}{2}}{PD\\cdot \\frac{h1}{2} + PD\\cdot \\frac{h2}{2}} =\n\\frac{S\\Delta ABP + S\\Delta ACP}{S\\Delta PBD + S\\Delta PCD} =\n\\frac{\\lambda _{abp} +\\lambda _{acp}}{\\lambda _{bcp}} = \\frac{t}{1-t}\n \\]</span></p></li>\n<li><p>線形補間により, 同様に: <span class=\"math display\">\\[\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} =\n\\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda\n_{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OD}\n \\]</span></p></li>\n<li><p>OD vectorを代入して, 得: <span class=\"math display\">\\[\n \\overrightarrow{OP}=(1 - t)\\overrightarrow{OA}+t\\overrightarrow{OD} =\n\\frac{\\lambda _{bcp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda\n_{bcp}}\\overrightarrow{OA} + \\frac{\\lambda _{abp} + \\lambda\n_{acp}}{\\lambda _{abp} + \\lambda _{acp} + \\lambda _{bcp}}\\left (\n\\frac{\\lambda _{acp}}{\\lambda _{abp} + \\lambda\n_{acp}}\\overrightarrow{OB} + \\frac{\\lambda _{abp}}{\\lambda _{abp} +\n\\lambda _{acp}}\\overrightarrow{OC} \\right ) = \\frac{\\lambda\n_{bcp}\\overrightarrow{OA} + \\lambda _{acp}\\overrightarrow{OB} + \\lambda\n_{abp}\\overrightarrow{OC}}{1}\n \\]</span></p></li>\n<li><p>最終に、任意の三角形内の点の重心座標を得られる。</p></li>\n<li><p>そして、重心座標を使用して、三角形内の任意の点で色属性を補間することができます。\n<span class=\"math display\">\\[\n C_{p} = \\lambda _{bcp}\\cdot C_{a} + \\lambda _{acp}\\cdot C_{b} +\n\\lambda _{abp}\\cdot C_{c}\n \\]</span></p></li>\n<li><p>下图に示す:</p>\n<p align=\"center\">\n</p><p><img src=\"/post/siminal/20240614202828/颜色插值.png\" style=\"zoom: 33%;\"></p>\n<p></p></li>\n</ul>\n"}],"PostAsset":[{"_id":"source/_posts/Rasterize/box.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"box.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/image.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"image.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/三角形.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"三角形.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/光栅化.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"光栅化.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/叉乘.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"叉乘.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/屏幕空间.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"屏幕空间.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/投影变换.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"投影变换.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/视口变换矩阵.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"视口变换矩阵.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/重心坐标三角形.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"重心坐标三角形.png","modified":1,"renderable":0},{"_id":"source/_posts/Rasterize/颜色插值.png","post":"clxgdl3kc0006yxhqe4xvg51v","slug":"颜色插值.png","modified":1,"renderable":0}],"PostCategory":[{"post_id":"clxgdl3kb0004yxhqgqojez67","category_id":"clxgdl3kd0007yxhqhv2rg6xw","_id":"clxgdl3ke000cyxhq1d0dbtst"},{"post_id":"clxgdl3kc0006yxhqe4xvg51v","category_id":"clxgdl3ke000ayxhq1log76pj","_id":"clxgdl3ke000gyxhq3qx10seh"}],"PostTag":[{"post_id":"clxgdl3kb0004yxhqgqojez67","tag_id":"clxgdl3kd0008yxhq4vy20vqt","_id":"clxgdl3ke000eyxhq72em9lor"},{"post_id":"clxgdl3kb0004yxhqgqojez67","tag_id":"clxgdl3ke000byxhqcz4w65a1","_id":"clxgdl3ke000fyxhq672m6ddt"},{"post_id":"clxgdl3kc0006yxhqe4xvg51v","tag_id":"clxgdl3ke000dyxhqg7xvath4","_id":"clxgdl3ke000iyxhqdbue4fek"},{"post_id":"clxgdl3kc0006yxhqe4xvg51v","tag_id":"clxgdl3ke000hyxhqftio6wxh","_id":"clxgdl3ke000jyxhqgv2qc0br"}],"Tag":[{"name":"University","_id":"clxgdl3kd0008yxhq4vy20vqt"},{"name":"Beginning term","_id":"clxgdl3ke000byxhqcz4w65a1"},{"name":"CG","_id":"clxgdl3ke000dyxhqg7xvath4"},{"name":"Research","_id":"clxgdl3ke000hyxhqftio6wxh"}]}}