{"id":16299,"date":"2025-10-01T16:26:04","date_gmt":"2025-10-01T07:26:04","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=16299"},"modified":"2025-10-01T16:27:18","modified_gmt":"2025-10-01T07:27:18","slug":"%eb%b2%a0%ec%a7%80%ec%96%b4bezier%ec%99%80-%ea%b8%b0%ec%9a%b8%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=16299","title":{"rendered":"\ubca0\uc9c0\uc5b4(bezier)\uc640 \uae30\uc6b8\uae30"},"content":{"rendered":"<p>\ubca0\uc9c0\uc5b4 \ud568\uc218\uc758 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"glsl\">\r\nvec3 bezier(vec3 P0, vec3 P1, vec3 P2, vec3 P3, float t) {\r\n  float u = 1.0 - t;\r\n  float tt = t * t;\r\n  float uu = u * u;\r\n  float uuu = uu * u;\r\n  float ttt = tt * t;\r\n\r\n  vec3 p = uuu * P0; \/\/ (1-t)^3 * P0\r\n  p += 3.0 * uu * t * P1; \/\/ 3*(1-t)^2*t*P1\r\n  p += 3.0 * u * tt * P2; \/\/ 3*(1-t)*t^2*P2\r\n  p += ttt * P3; \/\/ t^3*P3\r\n\r\n  return p;\r\n}\r\n<\/pre>\n<p>\ubca0\uc9c0\uc5b4 \uc0c1\uc758 \uc811\uc120\uc5d0 \ub300\ud55c \ud568\uc218 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"glsl\">\r\nvec3 bezierGrad(vec3 P0, vec3 P1, vec3 P2, vec3 P3, float t) {\r\n  return 3.0 * (1.0 - t) * (1.0 - t) * (P1 - P0) +\r\n    6.0 * (1.0 - t) * t * (P2 - P1) +\r\n    3.0 * t * t * (P3 - P2);\r\n}\r\n<\/pre>\n<p><img decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2025\/10\/20251001_161947.jpg\" alt=\"\" width=\"500\" class=\"aligncenter size-full wp-image-16300\" \/><\/p>\n<p>\uc811\uc120\uc5d0 \ub300\ud55c \ubca1\ud130\ub97c 90\ub3c4 \ud68c\uc804\ud558\uba74 \ubca0\uc9c0\uc5b4\uc758 \ubc95\uc120 \ubca1\ud130\ub97c \uad6c\ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ubca0\uc9c0\uc5b4 \ud568\uc218\uc758 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4. vec3 bezier(vec3 P0, vec3 P1, vec3 P2, vec3 P3, float t) { float u = 1.0 &#8211; t; float tt = t * t; float uu = u * u; float uuu = uu * u; float ttt = tt * t; vec3 p = uuu * P0; \/\/ (1-t)^3 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=16299\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;\ubca0\uc9c0\uc5b4(bezier)\uc640 \uae30\uc6b8\uae30&#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":[152],"tags":[],"class_list":["post-16299","post","type-post","status-publish","format-standard","hentry","category-glsl"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16299","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=16299"}],"version-history":[{"count":7,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16299\/revisions"}],"predecessor-version":[{"id":16306,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16299\/revisions\/16306"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16299"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}