{"id":975,"date":"2018-01-16T23:24:35","date_gmt":"2018-01-16T14:24:35","guid":{"rendered":"http:\/\/naochang.me\/?p=975"},"modified":"2018-01-16T23:24:35","modified_gmt":"2018-01-16T14:24:35","slug":"%e3%82%a8%e3%83%ab%e3%83%9f%e3%83%bc%e3%83%88%e6%9b%b2%e7%b7%9a-hermite-curve","status":"publish","type":"post","link":"https:\/\/stacstar.jp\/blog\/?p=975","title":{"rendered":"\u30a8\u30eb\u30df\u30fc\u30c8\u66f2\u7dda (Hermite Curve)"},"content":{"rendered":"<p><script async src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/mathjax\/2.7.0\/MathJax.js?config=TeX-AMS_CHTML\"><\/script><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/curve_hermite.gif\" alt=\"\" width=\"600\" height=\"275\" class=\"border_dark aligncenter size-full wp-image-977\" \/><br \/>\n<a href=\"https:\/\/github.com\/naochang\/Curve\" rel=\"noopener\" target=\"_blank\">github | naochang | Curve<\/a><\/p>\n<p>\u6700\u8fd1\u306f\u3042\u307e\u308a\u4f7f\u308f\u308c\u306a\u3044\u3088\u3046\u3067\u3059\u304c\u3001\u51e6\u7406\u304c\u8efd\u304f\u30b7\u30f3\u30d7\u30eb\u306a3\u6b21\u30a8\u30eb\u30df\u30fc\u30c8\u66f2\u7dda\u3002\u5404\u70b9\u306b\u30d9\u30af\u30c8\u30eb\u3092\u6301\u3061\u30012\u3064\u306e\u70b9\u30682\u3064\u306e\u30d9\u30af\u30c8\u30eb\u304b\u30892\u70b9\u3092\u7d50\u3076\u30ab\u30fc\u30d6\u304c\u53d6\u5f97\u3067\u304d\u308b\u3002\u30d1\u30e9\u30e1\u30fc\u30bft\\((0 \\leq t \\leq 1)\\)\u3092\u5909\u3048\u308b\u3053\u3068\u306b\u3088\u308a2\u70b9\u306e\u9593\u306e\u4f4d\u7f6e\u304c\u53d6\u5f97\u53ef\u80fd\u3002<br \/>\n\u5f0f\u306f\u901a\u5e383\u6b21\u591a\u9805\u5f0f\u304b\u3089\u4f5c\u3089\u308c\u3001\u305d\u306e\u5f0f\u306e\u5fae\u5206(t\u306b\u304a\u3051\u308b\u305d\u306e\u4f4d\u7f6e\u3067\u306e\u52a0\u901f\u5ea6)\u3068\u3067\u89e3\u3044\u3066\u3044\u304f\u3068\u5f0f\u304c\u5f97\u3089\u308c\u308b\u3002<br \/>\n\u307b\u3068\u3093\u3069<a href=\"https:\/\/qiita.com\/Pctg-x8\/items\/47127a770b23b8934fff\" rel=\"noopener\" target=\"_blank\">\u53c2\u8003\u30b5\u30a4\u30c8<\/a>\u3068\u3092\u306a\u305e\u3063\u3066\u3044\u308b\u3060\u3051\u3067\u3059\u304c\u3001\u6570\u5f0f\u306e\u51fa\u3057\u65b9\u306f\u4ee5\u4e0b\u3002<\/p>\n<p><!--more--><\/p>\n<p>\u307e\u305a\u306f3\u6b21\u591a\u9805\u5f0f\u3068\u305d\u306e\u5fae\u5206\u3092\u7528\u610f\u3002<br \/>\n\\begin{align}<br \/>\nP(t) &#038;= at^3 + bt^2 + ct + d\\\\<br \/>\nP'(t) &#038;= 3at^2 + 2bt + c\\\\<br \/>\n&#038; (0 \\leq t \\leq 1)<br \/>\n\\end{align}<\/p>\n<p>\u4e0a\u8a18\u306e\u5f0f\u306b t=0 \u3068 t=1 \u306e\u5024\u3092\u4ee3\u5165\u3002<br \/>\n\u307e\u305f\u5fae\u5206\u3057\u305f\u3082\u306e\u3092\\(v_0\\)\u3001\\(v_1\\)\u3068\u3059\u308b\u3002<br \/>\n\\begin{align}<br \/>\n&#038; P(0) = d &#038; P'(0) = c = v_0\\\\<br \/>\n&#038; P(1) = a + b + c + d &#038; P'(1) = 3a + 2b + c = v_1\\\\<br \/>\n\\end{align}<\/p>\n<p>\u4e0a\u8a18\u306e\u5f0f\u3092\u5c55\u958b\u3002<br \/>\n\\begin{align}<br \/>\n  \\left\\{<br \/>\n    \\begin{array}{ll}<br \/>\n      &#038; a + b = P(1) &#8211; v_0 &#8211; P(0)\\\\<br \/>\n      &#038; 3a + 2b = v_1 &#8211; v_0<br \/>\n    \\end{array}<br \/>\n  \\right.<br \/>\n\\end{align}<\/p>\n<p>\u4e0a\u8a18\u306e\u5f0f\u3092\u5c55\u958b\u3002<br \/>\n\\begin{align}<br \/>\nb &#038;= P(1) &#8211; v_0 &#8211; P(0) &#8211; a\\\\<br \/>\n\\\\<br \/>\n3a + 2b &#038;= 3a + 2(P(1) &#8211; v_0 &#8211; P(0) &#8211; a)\\\\<br \/>\n&#038;= a + 2P(1) &#8211; 2v_0 &#8211; 2P(0)\\\\<br \/>\n&#038;= v_1 &#8211; v_0\\\\<br \/>\n\\\\<br \/>\na &#038;= v_1 &#8211; v_0 -2P(1) + 2v_0 + 2P(0)\\\\<br \/>\n&#038;= v_1 + v_0 &#8211; 2P(1) + 2P(0)<br \/>\n\\\\<br \/>\nb &#038;= P(1) &#8211; v_0 &#8211; P(0) &#8211; a\\\\<br \/>\n&#038;= P(1) &#8211; v_0 &#8211; P(0) &#8211; (v_1 + v_0 &#8211; 2P(1) + 2P(0))\\\\<br \/>\n&#038;= 3P(1) &#8211; 2v_0 &#8211; 3P(0) &#8211; v_1\\\\<br \/>\n\\end{align}<\/p>\n<p>a, b\u306f\u4e0a\u8a18\u304b\u3089\u3002c, d\u306f\u6700\u521d\u306e\u65b9\u306b\u5c0e\u304d\u51fa\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001a, b, c, d\u304c\u63c3\u3063\u305f\u3002\u305d\u308c\u305e\u308c\u3092\u6700\u521d\u306e3\u6b21\u591a\u9805\u5f0f\u306b\u5165\u308c\u3066\u5b8c\u6210\u3002<br \/>\n\\begin{align}<br \/>\nf(t) = (2P(0) &#8211; 2P(1) + v_0 + v_1)t^3 + (-3P(0) + 3P(1) &#8211; 2v_0  &#8211; v_1)t^2 + v_0t + P(0)<br \/>\n\\end{align}<\/p>\n<p>\u53c2\u8003)<br \/>\n<a href=\"https:\/\/qiita.com\/Pctg-x8\/items\/47127a770b23b8934fff\" rel=\"noopener\" target=\"_blank\">Qiita | \u30b2\u30fc\u30e0\u30d7\u30ed\u30b0\u30e9\u30de\u306e\u305f\u3081\u306e\u30d1\u30e9\u30e1\u30c8\u30ea\u30c3\u30af\u66f2\u7dda\u5165\u9580(Hermite Curve)<\/a><br \/>\n<a href=\"http:\/\/t-pot.com\/program\/2_3rdcurve\/index.html\" rel=\"noopener\" target=\"_blank\">t-pot | 3\u6b21\u66f2\u7dda<\/a><\/p>\n<p><script src=\"http:\/\/gist-it.appspot.com\/github\/naochang\/Curve\/blob\/master\/Assets\/Scripts\/Curve\/HermiteCurve.cs\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>github | naochang | Curve \u6700\u8fd1\u306f\u3042\u307e\u308a\u4f7f\u308f\u308c\u306a\u3044\u3088\u3046\u3067\u3059\u304c\u3001\u51e6\u7406\u304c\u8efd\u304f\u30b7\u30f3\u30d7\u30eb\u306a3\u6b21\u30a8\u30eb\u30df\u30fc\u30c8\u66f2\u7dda\u3002\u5404\u70b9\u306b\u30d9\u30af\u30c8\u30eb\u3092\u6301\u3061\u30012\u3064\u306e\u70b9\u30682\u3064\u306e\u30d9\u30af\u30c8\u30eb\u304b\u30892\u70b9\u3092\u7d50\u3076\u30ab\u30fc\u30d6\u304c\u53d6\u5f97\u3067\u304d\u308b\u3002\u30d1\u30e9\u30e1\u30fc\u30bft\\ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,17,16,2],"tags":[],"class_list":["post-975","post","type-post","status-publish","format-standard","hentry","category-c","category-curve","category-math","category-unity"],"_links":{"self":[{"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=975"}],"version-history":[{"count":122,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/975\/revisions"}],"predecessor-version":[{"id":1511,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/975\/revisions\/1511"}],"wp:attachment":[{"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stacstar.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}