วาดรูปด้วยภาษาโลโก้ : ตอนที่ 9 – รูปดอกไม้
วันนี้เราจะมาวาดรูปกันเลยครับ รูปที่เราจะวาดกันในวันนี้ คือ รูปดอกไม้ (มีหลายแบบ) หากน้องๆ ไม่เข้าใจคำสั่งไหน ให้ลองกลับไปอ่านตอนเก่าๆ ของ tutorial นี้ดูนะครับ
คำสั่งที่น้องๆ จะเจอในบทนี้
คำสั่ง | ความสามารถ | ตัวอย่าง |
fd ระยะทาง bk ระยะทาง |
forward = เดินหน้า backward = ถอยหลัง |
fd 100 = เดินหน้า 100 pixel bk 50 = ถอยหลัง 50 pixel |
rt องศา lt องศา |
right turn = หมุนขวา left turn = หมุนซ้าย |
rt 90 = หมุนไปทางขวา 90 องศา lt 45 = หมุนไปทางซ้าย 45 องศา |
repeat จำนวนครั้ง [ คำสั่ง ] | repeat = ทำคำสั่งต่อไปนี้ ซ้ำ n ครั้ง | repeat 3 [ fd 100 rt 120 ] repeat 4 [ fd 100 rt 90 ] repeat 6 [ fd 100 rt 60 ] |
TO ชื่อฟังก์ชัน :ตัวแปร คำสั่ง END |
function = สร้างชุดคำสั่ง | TO square :size repeat 4 [ fd :size rt 90 ] END |
cs clean |
clear screen = ล้างหน้าจอ clean = ล้างหน้าจอ |
|
pu pd |
pen up = ยกปากกา pen down = วางปากกา |
|
ht st |
hide turtle = ซ่อนเต่าโลโก้ show turtle = แสดงเต่าโลโก้ |
|
setxy พิกัดx พิกัดy | set (x,y) = กำหนดตำแหน่งเต่าโลโก้ | setxy 200 100 |
setpensize ขนาด setpencolor รหัสสี fill setscreencolor รหัสสี |
set pen size = กำหนดขนาดปากกา set pen color = กำหนดสีปากกา fill = ระบายสี set screen color = กำหนดสีพื้นหลัง |
setpensize 5 setpencolor 10 fill setscreencolor 10 |
รูปดอกไม้ แบบที่ 1
fd 150 repeat 4 [ repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ] rt 180 ] |
อธิบายสั้นๆ
- fd 150
คือ วาดก้านดอกไม้ - repeat 90 [ fd 1 rt 1 ]
คือ การวาดรูปครึ่งวงกลม - repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ]
คือ การวาดกลีบดอกไม้
* เราสามารถซ่อนเต่าโลโก้ ด้วยคำสั่ง ht และแสดงเต่าโลโก้ ด้วยคำสั่ง st
รูปดอกไม้ แบบที่ 2
fd 150 repeat 8 [ repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ] rt 135 ] |
อธิบายสั้นๆ
- fd 150
คือ วาดก้านดอกไม้ - repeat 90 [ fd 1 rt 1 ]
คือ การวาดรูปครึ่งวงกลม - repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ]
คือ การวาดกลีบดอกไม้
รูปดอกไม้ แบบที่ 3
* สำหรับรูปนี้ เราจะเขียนฟังก์ชัน leaf เพื่อให้เราเขียนคำสั่งวาดกลีบดอกไม้ได้ง่ายขึ้นครับ
TO leaf repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ] rt 90 ENDfd 150 lt 45 repeat 6 [ leaf rt 60 ] |
อธิบายสั้นๆ
- fd 150
คือ วาดก้านดอกไม้ - leaf
คือ การวาดกลีบดอกไม้
รูปดอกไม้ แบบที่ 4
TO leaf repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ] rt 90 ENDlt 105 repeat 5 [ leaf rt 30 ] |
อธิบายสั้นๆ
- lt 105
คือ การปรับองศา - leaf
คือ การวาดกลีบดอกไม้
รูปดอกไม้ แบบที่ 5
TO leaf repeat 90 [ fd 1 rt 1 ] rt 90 repeat 90 [ fd 1 rt 1 ] rt 90 ENDTO leaf_fill rt 45 pu fd 10 pd fill bk 10 lt 45 ENDsetscreencolor “#D1EEFE setpencolor “#F9BC9D setpencolor “#F0A2AF setpencolor “#DFA2E6 |
อธิบายสั้นๆ
- leaf
คือ ฟังก์ชันวาดกลีบดอกไม้ - leaf_fill
คือ การระบายสีดอกไม้ - setscreencolor “#D1EEFE
คือ ตั้งค่าสีพื้นหลังให้เป็นสีฟ้า - setpencolor “#F9BC9D
คือ การตั้งค่าสีปากกา - pu setxy -200 0 pd lt 45
คือ การเปลี่ยนตำแหน่งเต่าโลโก้ - repeat 5 [ leaf leaf_fill rt 72 ]
คือ การวาดดอกไม้
รูปดอกไม้ แบบที่ 6
TO core repeat 12 [ repeat 360 [ fd 0.5 rt 1 ] rt 30 ] ENDTO leaf repeat 90 [ fd 1.5 rt 1 ] rt 90 repeat 90 [ fd 1.5 rt 1 ] rt 90 ENDsetscreencolor “lightcyan setpencolor “greenyellow setpensize 8 bk 200 fd 200 setpencolor “orange setpensize 2 repeat 12 [ leaf rt 30 ] setpencolor “brown setpensize 2 core |
อธิบายสั้นๆ
- core
คือ ฟังก์ชันวาดเกสรดอกไม้ - leaf
คือ ฟังก์ชันวาดกลีบดอกไม้ - setscreencolor “lightcyan
คือ ตั้งค่าสีพื้นหลังให้เป็นสีฟ้า - setpencolor “greenyellow setpensize 8 bk 200 fd 200
คือ วาดก้านดอกไม้ - setpencolor “orange setpensize 2 repeat 12 [ leaf rt 30 ]
คือ วาดกลีบดอกไม้ - setpencolor “brown setpensize 2 core
คือ วาดเกสรดอกไม้
และนี่คือรูปดอกไม้ทั้งหมดที่นำมาฝากกันในวันนี้ครับ สามารถติดตามต่อตอนไปได้ที่นี่ครับ https://karnlab.com/tag/ภาษาโลโก้