Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ベジエ曲線のなめらかさの話 / Bézier Smoothness

ベジエ曲線のなめらかさの話 / Bézier Smoothness

Masaya Nakamura

May 17, 2019
Tweet

More Decks by Masaya Nakamura

Other Decks in Technology

Transcript

  1. ϕδΤۂઢͷ

    ͳΊΒ͔͞ͷ࿩
    ೥݄೔
    !NBTIBCPX

    View Slide

  2. ͜Μʹͪ͸
    w !NBTIBCPX
    w ιʔγϟϧ1-64ϑϩϯτΤϯυΤϯδχΞ
    w લ৬Ͱ͸ϑΥϯτͷΤϯδχΞΛ΍͍ͬͯͨ
    w ࠓ೔͸ϕδΤۂઢʹ͍ͭͯޠΓ·͢


    View Slide



  3. w ͍Ζ͍ΖͳਤܗฤूπʔϧͰݟΔΞϨ
    ϕδΤۂઢͬͯ

    View Slide



  4. w ਓؒʹͱͬͯ΋ίϯϐϡʔλʹͱͬͯ΋ѻ͍΍͍͢
    w ϕΫλը૾ɾϑΥϯτɾඳը"1*ɾ$"%ͳͲͰར༻
    w ೥͝ΖɺγτϩΤϯͷ1BVMEF$BTUFMKBVͱ

    ϧϊʔͷ1JFSSF#É[JFS͕ಠཱʹ։ൃͨ͠Β͍͠
    w ࠓճ͸ฏ໘্ͷ࣍ϕδΤۂઢΛલఏʹͯ͠࿩͠·͢
    ϕδΤۂઢ

    View Slide

  5. ਺ֶతͳදݱ
    w ࢝఺ɹ੍ޚ఺ऴ఺ɹͷ఺Ͱఆٛ͞ΕΔ
    w ύϥϝʔλΛͷൣғͰ

    ಈ͔ͨ͠ͱ͖ͷي੻͕ɺ

    ීஈΑ͘ݟΔϕδΤۂઢ


    B(t) = (1 − t)3 p0
    + 3(1 − t)2t c0
    + 3(1 − t)t2 c1
    + t3 p1
    p0
    c0
    , c1
    p1
    t [0,1]
    p0
    = B(0)
    p1
    = B(1)
    c0
    c1
    B(0.6)

    View Slide

  6. ༡΂ΔσϞ
    w ϕδΤۂઢΛຊ༻ҙ͓͍ͯͨ͠ͷͰɺ৮ͬͯΈΔ
    w IUUQTNBTIBCPXHJUIVCJPCF[JFSTNPPUIOFTT


    View Slide

  7. ࠓճͷςʔϚ
    w ϕδΤۂઢͱϕδΤۂઢΛͳΊΒ͔ʹͭͳ͍͛ͨʂ
    w ׳Ε͍ͯͳ͍ͱҙ֎ͱΉ͔͍ͣ͠
    w ͳΊΒ͔ʹͱ͸



    View Slide

  8. ·ͣ͸ͦ΋ͦ΋
    w ͭͷϕδΤۂઢΛͭͳ͛Δඞཁ͕͋Δ
    w ۂઢ"ͷऴ఺ͱɺۂઢ#ͷ࢝఺ΛҰகͤ͞Δʢ؆୯ʣ
    w ɹ࿈ଓʢҐஔ࿈ଓʣͱ͍͏
    G0



    View Slide

  9. Ͱ΋·ͩંΕ͍ͯΔ
    w ࣍͸ɺͭͳ͛ͨ෦෼ͷ޲͖Λἧ͑Δඞཁ͕͋Γͦ͏
    w ۂઢͷ޲͖ͱ͸ʁˠ઀ઢͷ޲͖
    w ܭࢉͰٻΊΔͷͰ͋Ε͹ɺඍ෼͢Ε͹Α͍


    B′(t) = (−3t2 + 6t − 3) p0
    + (9t2 − 12t + 3) c0
    + (−9t2 + 6t) c1
    + 3t2 p1

    View Slide

  10. ઀ઢͱϋϯυϧ
    w ࣮͸ɺ࢝఺ʗऴ఺ʹ͓͚Δ઀ઢͷ޲͖͸ɺ

    ϋϯυϧͷ޲͖ͱҰக͍ͯ͠Δ
    w ΍ɹɹΛܭࢉͯ͠ΈΔͱΘ͔Δ


    B′(0) B′(1)

    View Slide

  11. ޲͖Λἧ͑Δ
    w ۂઢ" #ͷϋϯυϧΛҰ௚ઢʹฒ΂Ε͹Α͍
    w ࠓճ͸୯७ʹɺۂઢ#ͷϋϯυϧͷ֯౓Λม͑ͯௐ੔
    w ɹ࿈ଓʢ઀ઢ࿈ଓʣͱ͍͏


    G1

    View Slide

  12. Ͱ΋·ͩෆࣗવ
    w ۂ͕Γ۩߹͕ҧ͏Α͏ͳʜʁ
    w ۂ͕Γ۩߹ͱ͸


    ͜͜Β΁ΜͰٸʹ

    ௚ઢͬΆ͘ͳͬͯ
    ϋϦ͕ͳ͘ͳͬͨΑ͏ͳ

    View Slide

  13. ઀৮ԁ
    w ۂઢҰൠͩͱΑ͘Θ͔Βͳ͍ͷͰɺ਎ۙͳԁͰߟ͑ͯΈΔ
    w ۂઢͷ͘͝Ұ෦෼͚ͩʹ஫໨ͯ͠ɺԁހͰۙࣅ͢Δ
    w ͦͷۃݶͷԁΛ઀৮ԁͱ͍͏


    View Slide

  14. R
    w ઀৮ԁͷେ͖͞Ͱۂ͕Γ۩߹͕දݱͰ͖ͦ͏
    w ઀৮ԁͷ൒ܘΛۂ཰൒ܘͱݺͿ
    w ۂ཰൒ܘ͕େ͖͍˱Χʔϒ͕ΏΔ͍
    w ۂ཰൒ܘ͕খ͍͞˱Χʔϒ͕͖͍ͭ
    w ٸΧʔϒ஫ҙͷඪࣝʹ

    ॻ͍ͯ͋ͬͨΓ͢Δ
    ۂ཰൒ܘ


    R

    View Slide

  15. ۂ཰൒ܘͷܭࢉ
    w Ұൠͷύϥϝʔλۂઢͷۂ཰൒ܘ͸ɺ࣍ࣜͰܭࢉͰ͖Δ
    w ͨͩ͠ɺμογϡ͸ύϥϝʔλɹʹΑΔඍ෼Λද͢
    w ͜ͷࣜͰग़ͯ͘Δۂ཰൒ܘ͸ූ߸෇͖
    w ਖ਼ͳΒࠨճΓɺෛͳΒӈճΓ


    R =
    (x′2 + y′2
    )
    3
    2
    x′y′′− y′x′′
    t

    View Slide

  16. ໰୊෦෼ͷۂ཰൒ܘ
    w ۂ཰൒ܘ͕ͥΜͥΜҧ͏



    View Slide

  17. ۂ཰
    w ۂ཰൒ܘͷٯ਺ɹɹΛۂ཰ɹͱ͍͏
    w ۂ཰൒ܘ͕େ͖͍˱ۂ཰͕খ͍͞˱Χʔϒ͕ΏΔ͍
    w ۂ཰൒ܘ͕খ͍͞˱ۂ཰͕େ͖͍˱Χʔϒ͕͖͍ͭ
    w ͬͪ͜ͷํ͕Θ͔Γ΍͍͢ʁ


    1/R κ
    ۂ཰େ
    ۂ཰খ

    View Slide

  18. ۂ཰ͷࢹ֮Խ
    w DVSWBUVSFDPNCʢۂ཰ͷᷱʁʣ
    w ֤఺ʹ͓͚Δۂ཰Λɺ๏ઢํ޲ʹදࣔͨ͠΋ͷ
    w $"%ιϑτ΍ϑΥϯτΤσΟλʹ౥ࡌ͞Ε͍ͯΔ


    ۂ཰େ
    ۂ཰খ
    มۂ఺

    View Slide

  19. ໰୊෦෼ͷۂ཰ͷᷱ
    w ۂ཰ͷҧ͍͕Ұ໨ྎવ



    View Slide

  20. ۂ཰Λἧ͑Δ
    w ΄Ͳ୯७Ͱ͸ͳ͍͕ɺܭࢉͰͳΜͱ͔Ͱ͖Δ
    w ࠓճ͸ɺۂઢ#ͷϋϯυϧͷ௕͞Λม͑ͯௐ੔
    w ɹ࿈ଓʢۂ཰࿈ଓʣͱ͍͏


    G2
    G0, G1

    View Slide

  21. ϏϑΥʔΞϑλʔ
    w ͗ͪ͜ͳ͕͞ݮͬͯɺΑΓͳΊΒ͔ʹͳͬͨ




    View Slide

  22. ·ͱΊ
    w ϕδΤۂઢɾ઀ઢɾۂ཰͋ͨΓΛͬ͘͟Γઆ໌ͨ͠
    w ɹɹɹɹɹ࿈ଓੑΛຬͨ͢Α͏ʹௐ੔͢Δ͜ͱͰɺ

    ϕδΤۂઢ͕ͳΊΒ͔ʹͳͬͨ
    w Ϣʔβʔʹͱͬͯ͸ɺ

    ࢹ֮Խ͕େ͖ͳख͕͔ΓʹͳΔ


    G0, G1, G2

    View Slide

  23. ͜ͷઌͷτϐοΫ
    w ɹ࿈ଓɺ͋Δ͍͸ͦΕҎ্͸ʁ
    w ɹ࿈ଓͳΒ͢΂ͯਓؒͷݟͨ໨ʹඒ͍͠ʁ
    w ࢥ͍ඳ͍͍ͯΔܗΛͳΔ΂่ͣ͘͞ʹௐ੔͢Δʹ͸ʁ
    w ΫϩιΠυۂઢʢผ໊ɿΦΠϥʔཐટɺ4QJSPʣ


    G3
    Gn

    View Slide