เกล็ดหิมะค็อค

จากวิกิพีเดีย สารานุกรมเสรี
เกล็ดหิมะค็อคที่ได้จากการสร้าง 4 ขั้นแรก

เกล็ดหิมะค็อค หรือ ดาวค็อค (อังกฤษ: Koch snowflake หรือ Koch star) เป็นเส้นโค้งทางคณิตศาสตร์ และเป็นเส้นโค้งแฟร็กทัลแรก ๆ ที่ได้บรรยายไว้ เกล็ดหิมะค็อคปรากฏในบทความชื่อภาษาฝรั่งเศส Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire ซึ่งแปลว่า เกี่ยวกับเส้นโค้งต่อเนื่องที่ไม่มีเส้นตั้งฉาก สร้างได้จากเรขาคณิตพื้นฐาน โดย เฮลเก ฟอน ค็อค (Helge von Koch) นักคณิตศาสตร์ชาวสวีเดน

วิธีการสร้าง[แก้]

เกล็ดหิมะค็อคสร้างจากรูปสามเหลี่ยมด้านเท่า โดยในแต่ละขั้นจะมีการดัดแปลงเส้นตรงแต่ละส่วนของรูปดังต่อไปนี้

  1. แบ่งเส้นตรงออกเป็นสามส่วนเท่า ๆ กัน
  2. วาดสามเหลี่ยมด้านเท่าให้มีฐานตรงกับของส่วนกลางในข้อ 1 และสามเหลี่ยมมียอดชี้ออกด้านนอก
  3. ลบเส้นตรงส่วนที่เป็นฐานของสามเหลี่ยมในข้อ 2 ออก

ถ้าแก้ไขตามกฎเกณฑ์ข้างต้นไปเรื่อย ๆ ในที่สุดรูปที่ได้จะเข้าใกล้เกล็ดหิมะค็อค

ถ้าหากเริ่มต้นดัดแปลงจากเส้นตรงแทนที่จะเป็นรูปสามเหลี่ยม ผลลัพธ์ที่ได้จะเรียกว่าเส้นโค้งค็อค (Koch curve) เส้นโค้งค็อค จัดเป็นเส้นโค้งเดอแรม (de Rham curve) ชนิดหนึ่ง

คุณสมบัติ[แก้]

เกล็ดหิมะค็อคมีความยาวเป็นอนันต์เนื่องจากในแต่ละขั้นของการวาด เส้นตรงจะถูกแบ่งเป็นสามส่วน ส่วนที่อยู่ตรงกลางถูกแทนที่ด้วยเส้นตรงสองเส้น ทำให้ความยาวเพิ่มขึ้นเป็น 4/3 ของความยาวเดิม ถ้าผ่านไป n ขั้นจะมีความยาวเป็น (4/3)n เท่า และเมื่อ n เข้าสู่อนันต์ ทำให้ความยาวเป็นอนันต์ด้วย

เส้นโค้งค็อค มีมิติแฟร็กทัลเท่ากับ log 4/log 3 ≈ 1.26 ซึ่งมากกว่ามิติของเส้นตรงแต่น้อยกว่ามิติของเส้นโค้งพีอาโน (Peano space-filling curve) เส้นโค้งค็อคต่อเนื่องทุกจุดแต่ไม่สามารถหาอนุพันธ์ได้เลย

พื้นที่ภายในของเกล็ดหิมะค็อคเท่ากับ \frac{2\sqrt{3}s^2}{5} โดยที่ s เป็นความยาวของด้านของสามเหลี่ยมเดิม ดังนั้นเกล็ดหิมะค็อคเป็นเส้นตรงความยาวอนันต์ซึ่งล้อมรอบพื้นที่ที่มีขนาดจำกัด[1]

ในระบบลินเดนเมเยอร์[แก้]

เส้นโค้งค็อค สามารถอธิบายโดยใช้การเขียนระบบลินเดนเมเยอร์ดังนี้

ตัวอักษร : F
ค่าคงที่ : +, −
เริ่มต้น : F++F++F
กฎการแปลง:
F → F−F++F−F

โดยที่ F แทน "ลากเส้นไปข้างหน้า", + แทน "เลี้ยวขวา 60°" และ - แทน "เลี้ยวซ้าย 60°"

ตัวอย่างโปรแกรม[แก้]

ตัวอย่างโปรแกรมภาษาโลโก เขียนได้ดังนี้

to koch :x
  repeat 3 [triline :x rt 120]
end
to triline :x
  if :x < 1 [fd :x] [triline :x/3 lt 60 triline :x/3 rt 120 triline :x/3 lt 60 triline :x/3]
end

เวลาเริ่มต้นให้เรียก rt 30 koch 100

อ้างอิง[แก้]

  1. Koch Snowflake โดย Larry Riddle

ดูเพิ่ม[แก้]