{"id":16630,"date":"2026-01-15T12:42:35","date_gmt":"2026-01-15T03:42:35","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=16630"},"modified":"2026-01-15T12:43:20","modified_gmt":"2026-01-15T03:43:20","slug":"y%ec%b6%95%ec%9c%bc%eb%a1%9c-%ed%9a%8c%ec%a0%84-tsl-%ea%b4%80%ec%a0%90","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=16630","title":{"rendered":"Y\ucd95\uc73c\ub85c \ud68c\uc804 (TSL \uad00\uc810)"},"content":{"rendered":"<p>Y\ucd95\uc73c\ub85c \ud68c\uc804\ud558\ub294 TSL \ucf54\ub4dc\ub97c 2\uac00\uc9c0 \uad00\uc810\uc5d0\uc11c \uc815\ub9ac\ud558\uba74, \uba3c\uc800 Y\ucd95\uc73c\ub85c \ud68c\uc804\ud558\ub294 \ud589\ub82c\uc744 \uc9c1\uc811 \uad6c\uc131\ud574 \ud68c\uc804\ud558\uace0\uc790 \ud558\ub294 \uc815\uc810\uc5d0 \uc801\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nexport const rotateY = \/*@__PURE__*\/ Fn( ( [ theta ] ) => {\r\n\tconst c = cos( theta );\r\n\tconst s = sin( theta );\r\n    return mat3(\r\n        c, 0, s,\r\n        0, 1, 0,\r\n        s.negate(), 0, c\r\n    );\r\n\r\n\t\/\/ same as : return mat3( vec3( c, 0, s ), vec3( 0, 1, 0 ), vec3( s.negate(), 0, c ) );\r\n}, { theta: 'float', return: 'mat3' } );\r\n\r\n...\r\n\r\nconst p = vec3(x, y, z);\r\nconst rMat = rotateY(angle);\r\nconst rotatedP = rMat.mul(p).add(offset); \/\/ \ud68c\uc804\ud558\uace0 offsect \ub9cc\ud07c \uc774\ub3d9\r\n<\/pre>\n<p>\ub450\ubc88\uc9f8\ub294 TSL\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ubc94\uc6a9\uc801\uc778 \ud68c\uc804 \ub178\ub4dc \ud568\uc218\ub97c \uc774\uc6a9\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nconst rotatedP = rotate(p, vec3(0, angle, 0)).add(offset); \/\/ \ud68c\uc804\ud558\uace0 offsect \ub9cc\ud07c \uc774\ub3d9\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Y\ucd95\uc73c\ub85c \ud68c\uc804\ud558\ub294 TSL \ucf54\ub4dc\ub97c 2\uac00\uc9c0 \uad00\uc810\uc5d0\uc11c \uc815\ub9ac\ud558\uba74, \uba3c\uc800 Y\ucd95\uc73c\ub85c \ud68c\uc804\ud558\ub294 \ud589\ub82c\uc744 \uc9c1\uc811 \uad6c\uc131\ud574 \ud68c\uc804\ud558\uace0\uc790 \ud558\ub294 \uc815\uc810\uc5d0 \uc801\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774\ub2e4. export const rotateY = \/*@__PURE__*\/ Fn( ( [ theta ] ) => { const c = cos( theta ); const s = sin( theta ); return mat3( c, 0, s, 0, 1, 0, s.negate(), 0, c ); &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=16630\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Y\ucd95\uc73c\ub85c \ud68c\uc804 (TSL \uad00\uc810)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[153,145],"tags":[],"class_list":["post-16630","post","type-post","status-publish","format-standard","hentry","category-shader","category-three-js"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16630"}],"version-history":[{"count":3,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16630\/revisions"}],"predecessor-version":[{"id":16633,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16630\/revisions\/16633"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16630"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}