Masaya Nakamura
May 17, 2019
38k

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

May 17, 2019

## Transcript

1. ϕδΤۂઢͷ
ͳΊΒ͔͞ͷ࿩
೥݄೔
!NBTIBCPX

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

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

4. w ਓؒʹͱͬͯ΋ίϯϐϡʔλʹͱͬͯ΋ѻ͍΍͍͢
w ϕΫλը૾ɾϑΥϯτɾඳը"1*ɾ\$"%ͳͲͰར༻
w ೥͝ΖɺγτϩΤϯͷ1BVMEF\$BTUFMKBVͱ
ϧϊʔͷ1JFSSF#É[JFS͕ಠཱʹ։ൃͨ͠Β͍͠
w ࠓճ͸ฏ໘্ͷ࣍ϕδΤۂઢΛલఏʹͯ͠࿩͠·͢
ϕδΤۂઢ

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)

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

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

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

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

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

10. ઀ઢͱϋϯυϧ
w ࣮͸ɺ࢝఺ʗऴ఺ʹ͓͚Δ઀ઢͷ޲͖͸ɺ
ϋϯυϧͷ޲͖ͱҰக͍ͯ͠Δ
w ΍ɹɹΛܭࢉͯ͠ΈΔͱΘ͔Δ

B′(0) B′(1)

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

G1

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

͜͜Β΁ΜͰٸʹ
௚ઢͬΆ͘ͳͬͯ
ϋϦ͕ͳ͘ͳͬͨΑ͏ͳ

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

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

R

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

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

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

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

1/R κ
ۂ཰େ
ۂ཰খ

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

ۂ཰େ
ۂ཰খ
มۂ఺

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

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

G2
G0, G1

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

22. ·ͱΊ
w ϕδΤۂઢɾ઀ઢɾۂ཰͋ͨΓΛͬ͘͟Γઆ໌ͨ͠
w ɹɹɹɹɹ࿈ଓੑΛຬͨ͢Α͏ʹௐ੔͢Δ͜ͱͰɺ
ϕδΤۂઢ͕ͳΊΒ͔ʹͳͬͨ
w Ϣʔβʔʹͱͬͯ͸ɺ
ࢹ֮Խ͕େ͖ͳख͕͔ΓʹͳΔ

G0, G1, G2

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

G3
Gn