Зураг 1 |
Жижиг Үндсэн яст мэлхий нь GraphicsWindow объектын үзэг ашиглан зурж зурдаг. Үргэлж энэ үзэг (энэ нь яст мэлхий лавных нь хажууд бүрхүүлийнхээ нуугдмал далдуу модны нуугдмал байдаг), мөн та үзэг дээшээ доошоо шийдэж болно. Үзэгний доошоо гулсаж эхлэх үед яст мэлхий хөдөлдөг. Үзэг дээр нь яст мэлхий мөр үлдээхгүйгээр хөдөлдөг. Та PenDown () ба PenUp () аргууд ашиглан ашиглан pen-ийг буулгаж, өргөж болно.
Зураг 2: PenUp () болон PenDown () аргуудыг дүрсэлсэн |
Мэлхий хөддөх үзэгдэл
Та яст мэлхийг удирдан команд оруулах боломжтой.
Редакторуудад эдгээр мөрүүдийг оруулснаар үүнийг түлхэж өгнө үү. Дараа нь Run дээр дарна уу.
Turtle.Show ()
Turtle.Move (100)
Turtle.Move (100)
Явж, яст мэлхий! Энэ жишээнд байгаа Move () методыг 100 пиксел урагшлуулахын тулд яст мэлхийг тушаадаг.
Одоо яст мэлхийг хөдөлгөж байгаа хоёр өөр аргыг харъя: бүрэн хөдөлгөөн ба харьцангуй хөдөлгөөн.
Үнэмлэхүй Хөдөлгөөн
Үнэмлэхүй хөдөлгөөнөөр та яст мэлхийг график цонхны цэгт очиж үзээрэй. Яст мэлхий хаана байгаагаас үл хамааран энэ нь таны сонгож авсан цэг рүү шилжинэ.
Гуллуурыг график цонхны тодорхой цэг рүү шилжүүлэх нэг арга бол X ба Y шинж чанаруудыг өөрчлөх явдал юм. Хэрхэн харуулахын тулд жагсаалтыг 5-1- д үзүүлэв.
1 'SetTurtle.sb
2 Turtle.Show ()
3 хөтөлбөр.Delay (1000)
4 Turtle.X = 100
5 яст мэлхий.Y = 140
2 Turtle.Show ()
3 хөтөлбөр.Delay (1000)
4 Turtle.X = 100
5 яст мэлхий.Y = 140
Жагсаалт 5-1: Яст мэлхий байрлалыг тогтоох
Show () method (мөр 2) нь яст мэлхий график цонхны төвийн ойролцоо гарч ирдэг (320, 240). 3-р мөрөнд Delay () аргыг 1000 миллисекундэд (1 секундэд) хийх боломжтой болгодог тул та яст мэлхий анхны байрлалыг харж болно. 4-р мөрөнд яст мэлхий X байрлалыг 100 болгож, 5-р мөрөнд яст мэлхийн Y байрлалыг 140 болгож тогтоожээ. 4 ба 5-р шугамыг ажиллуулсны дараа яст мэлхий график цонхны цэг (100, 140) 3 . Яст мэлхий ямар нэгэн ул мөр үлдээхгүйгээр шинэ байршил руу шилжиж байгааг анхаарна уу; Энэ нь яст мэлхий аваад 100 (140) дээр тавьсантай адил юм.
Зураг 5-3: Хас яст мэлхийг хөдөлгөж X ба Y шинжүүдийг тохируулна
Яст мэлхий шилжүүлэх өөр нэг арга нь график цонхны абсолют байрлал руу шилжих явдал бөгөөд MoveTo () методыг ашиглах явдал юм. Энэ арга нь хүссэн байрлалуудын x ба y координатуудыг аргумент болгон авдаг. Жагсаалт 5-2- д програмыг ажиллуулахын тулд энэ аргыг хэрэглэ.
1 'MoveTo.sb'
2 Turtle.Show ()
3 хөтөлбөр.Delay (1000)
4 Turtle.MoveTo (100, 140)
2 Turtle.Show ()
3 хөтөлбөр.Delay (1000)
4 Turtle.MoveTo (100, 140)
Жагсаалт 5-2: Туйлын хөдөлгөөнөөр яст мэлхийг хөдөлгөх
Та энэ програмын гаралтыг Зураг 5-4 дээр харж болно. Дахин хэлэхэд, яст мэлхий (320, 240) хойноос (шугам 2) чиглүүлдэг бөгөөд хөтөлбөр нь 1 секундын турш унтаж, яст мэлхийг харж болно (мөр 3). 1 секундын дараа яст мэлхий нь (100, 140) чиглэл рүүгээ удаан эргэж эхлэхээс өмнө эргэнэ. Энэ удаад яст мэлхий хөдөлж байхдаа мөр зурдаг (яст мэлхий үзэг анхдагчаар доошоо ордог). Хэрэв та MoveTo () дуудахаасаа өмнө Turtle.PenUp () -ийг хаана ч нэмэх бол яст мэлхий ямар ч ул мөр үлдээхгүйгээр (100, 140) руу шилждэг.
Зураг 5-4: MoveTo () ашиглан яст мэлхийн үнэмлэхүй байрлалыг тогтоох
Яг хөдөлж зогсоход яст мэлхий чиглүүлэх чиглэлийг зааж өгнө гэдгийг анхаарна уу. Энэ нь хойд талаараа дахин тулгарахаар тохируулагдаагүй. Энэ зургийг Зураг 5-3-т үзүүлээд , яст мэлхий хойд зүг рүү чиглэсэн хэвээр байгаа нь шинэ байрлал руу шилжсэн мэт харагдана.
Та яст мэлхийг хойноос нь хөөж явахыг хүсч байна гэж хэлье. Бүртгэх 5-2- ийн төгсгөлд дараах мэдээллийг нэмж оруулна уу:
Turtle.Angle = 0
Яст мэлхий цэгээ (100, 140) хүрэхэд хойд зүг рүү чиглэсэн болно. Үүнийг үзээрэй! Зураг 5-5- ыг харна уу. Үл хөдлөх хөрөнгийн хоорондох харилцаа ба яст мэлхийгийн зүг рүү чиглэсэн харилцааг ойлгох.
Зураг 5-5: Яст мэлхийн хувьд 0 нь хойд, 90 нь зүүн, 180 нь өмнөд, 270 нь баруун.
Зураг 5-5- д үзүүлснээр та яст мэлхийн өнцөгийг 0 эсвэл 360 хүртэл тохируулахдаа хойд зүг рүү харж болно. Та яст мэлхийн өнцөгийг 45 хүртэл тавьж, зүүн хойд зүг рүү чиглүүлэх боломжтой. 90, зүүн зүг рүү чиглэсэн байх; 135 (зүүн өмнө зүгт); 180 (өмнөд хэсэг); 225 (баруун өмнөд); 270 (баруун); 315 (баруун хойд); 360 (хойд зүг рүү буцах). Мэдээжийн хэрэг, та яст мэлхийн өнцгийг тохируулж болно. Яст мэлхийн объектын өнцөг үүсгэх замаар яст мэлхий ямар чиглэлтэй болохыг тодорхойлохын тулд өөр өөр тооны дугаарт тохируулан туршилт хийнэ. Сөрөг тооны оролдлогыг бүү мартаарай.
Харьцангуй хөдөлгөөн
Харьцангуй хөдөлгөөнтэйгээр яст мэлхий одоогийн байршлаас хэр хол явж байгааг хэлнэ; Өөрөөр хэлбэл, одоогийн байршилтай харьцуулахад хэр хол явахыг хэлж өгнө үү.
Яст мэлхий хиймэл оюун ухааны зорилтыг биелүүлснээр дасгалаая. 5-3-р жагсаалтын дагуу яст мэлхийг зорилтот түвшинд хүргэх нэг арга замыг харуулсан.
1 'RelativeMotion.sb
2 Turtle.Show ()
3 Turtle.Move (150)
4 Turtle.TurnRight ()
5 Turtle.Move (100)
2 Turtle.Show ()
3 Turtle.Move (150)
4 Turtle.TurnRight ()
5 Turtle.Move (100)
Дүрс 5-3: Яст мэлхий хөдөлгөөнтэй харьцах замаар хөдөлнө
Гаралтын үр дүнг Зураг 5-6- д харуулав . 3-р мөрөнд яст мэлхий 150 пикселийг хөдөлгөж, 4-р мөрөнд яст мэлхий баруун тийш эргэлдэж, 5-р мөрөнд яст мэлхий урагш 100 пикселийг хөдөлгөдөг.
Зураг 5-6: Яст мэлхий хөдөлгөөнт командуудыг ашиглан хөдөлнө
Харьцангуй хөдөлгөөн нь үнэмлэхүй хөдөлгөөнөөс ялгаатай. Яагаад гэвэл яст мэлхий нь координатын багц руу явахыг хэлэхийн оронд тодорхой зайд шилжихийг хэлдэг.
Та сөрөг тоог шилжүүлэх үед (), таны яст мэлхий урагшаа гарна. Мөн та Turn / () аргыг ашиглан таны яст мэлхийг тушаалын дагуу тохируулж болно. Жагсаалт 5-4- т үзүүлсэн кодыг эдгээр сонголтуудтай хамт тоглуулж, үр дүнг үйлдэл гэж үзэхийн тулд програмыг ажиллуул.
1 'Turn.sb
2 Turtle.Show ()
3 яст мэлхий.
4 Turtle.Move (100)
5 Turtle.Turn (-90)
6 Turtle.Move (-100)
2 Turtle.Show ()
3 яст мэлхий.
4 Turtle.Move (100)
5 Turtle.Turn (-90)
6 Turtle.Move (-100)
Жагсаалт 5-4: Харьцангуй хөдөлгөөнийг ашиглан яст мэлхийг эргүүлнэ
3-р мөрөнд яст мэлхийг баруун талд нь 45 градус эргүүлнэ. 4-р мөрөнд яст мэлхий урагшаа 100 пиксель ( Зураг 5-7 дахь зүүн талын зургийг үз). 5-р мөрөнд 5-р мөрөнд яст мэлхий 90 градусыг зүүн тийш эргүүлнэ. 6-р мөрөнд яст мэлхий арагшаа 100 пиксел ( Зураг 5-7- т үзүүлсэн зургийг үз).
Зураг 5-7: Яст мэлхий хөдөлж () ба эргэх () аргууд
Таны алхмуудыг өнгөөр буд
Та яст мэлхийнхээ үзэгний хэмжээ болон өнгийг GraphicsWindow PenWidth болон PenColor шинж чанаруудыг ашиглан тохируулж болно. Жишээлбэл, дараах код нь таны яст мэлхийг 5 пиксел өргөнтэй улаан үзэгтой болгодог.
GraphicsWindow.PenColor = "Улаан"
GraphicsWindow.PenWidth = 5
GraphicsWindow.PenWidth = 5
Яст мэлхийгээ хөдөлгөж эхлэхээс өмнө энэ кодыг нэмж, дараа нь юу болохыг ажиглана.
Таны хурдыг хянах
Мэлхий объект нь таныг мэдэх шаардлагатай нэг зүйлтэй. Хурдны хэмжээ нь яст мэлхий хэр хурдан хөдөлж байгааг харуулдаг. Хурдны боломжит хурдны хэмжээ 1-ээс 10 хүртэл байх.
1 'TurtleSpeed.sb'
2 Turtle.Show ()
3 Turtle.Speed = 2 'Эхний хурдыг 2 болго
4 Turtle.Move (100) ' Уржигдэх яст мэлхий 100 пиксел урагшаа
5 Turtle.Speed = 5 'Хурдны хурдыг 5 болгох
6 Turtle.TurnRight () 'Яст мэлхий баруун тийшээ эргүүлнэ
7 Turtle.Move (100)
8 Turtle.Speed = 9 ' Цаг хурдыг 9 болгож өөрчлөх
9 Turtle.TurnRight ()
10 Turtle.Move (100)
2 Turtle.Show ()
3 Turtle.Speed = 2 'Эхний хурдыг 2 болго
4 Turtle.Move (100) ' Уржигдэх яст мэлхий 100 пиксел урагшаа
5 Turtle.Speed = 5 'Хурдны хурдыг 5 болгох
6 Turtle.TurnRight () 'Яст мэлхий баруун тийшээ эргүүлнэ
7 Turtle.Move (100)
8 Turtle.Speed = 9 ' Цаг хурдыг 9 болгож өөрчлөх
9 Turtle.TurnRight ()
10 Turtle.Move (100)
Жагсаалт 5-5: Яст мэлхийн хурдыг тогтоох
3-р мөрөнд яст мэлхийн хурдыг 2 болгож тогтоодог. Яст мэлхий нь 100 пиксель (шугам 4) -ыг хөдөлгөж дараа нь 5-р мөрөнд хурдан хөдөлнө. Та яст мэлхий баруун тийшээ эргэж (шугам 6), сумнууд урагш 100 пиксель 7). Дараа нь та яст мэлхийг 9-ийн хурдаар (шугам 8) тохируулна. Яст мэлхий нь баруун тийшээ эргэлдэж (шугам 9), өөр 100 пикселийг (мөр 10) урагш сунгана. Хэрвээ та яст мэлхий нүүдэлийг удаан хөдөлгөж харахыг хүсэхгүй байгаа бол програмаа эхлэхэд Speed property-ыг 10 болгож тохируулна уу. Яст мэлхий нь маш хурдан хөдөлж, та үүнийг хараагүй болно. Энэ бол гайхалтай зүйл!
ТАЙЛБАР 5-1
Яст мэлхий энэ одыг зурах хөтөлбөр бич. ( Зураг 5-8 ). Цэг бүрийн координатыг оруулав.
Зураг 5-8: Одны загвар
Loop танилцуулга
Урт програм бичиж эхлэх үед зарим мэдэгдэл давтах хэрэгтэй болно. Жишээ нь, яст мэлхий зурж зурж үзье: Listing 5-6- д үзүүлсэн кодыг оруул .
1 'Square1.sb'
2 Turtle.Move (60) '60 пикселийг хөдөлгөдөг
3 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
4 Turtle.Move (60) '60 пикселийг хөдөлгөдөг
5 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
6 Turtle.Move (60) '60 пиксел хөдөлгөдөг
7 Turtle.TurnRight () 'Зөв 90 градус эргэнэ
8 Turtle.Move (60) '60 пиксел хөдөлгөдөг
9 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
2 Turtle.Move (60) '60 пикселийг хөдөлгөдөг
3 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
4 Turtle.Move (60) '60 пикселийг хөдөлгөдөг
5 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
6 Turtle.Move (60) '60 пиксел хөдөлгөдөг
7 Turtle.TurnRight () 'Зөв 90 градус эргэнэ
8 Turtle.Move (60) '60 пиксел хөдөлгөдөг
9 Turtle.TurnRight () 'Зөв 90 градус эргэж байна
Жагсаалт 5-6: Яст мэлхийг дөрвөлжин зур
Яст мэлхий нь дээшээ харагдана. Энэ код нь яст мэлхий 60 квадратыг дээш хөдөлгөж, баруун тийш 90 градус эргүүлэх, 60 пиксел зурах, 90 градус эргүүлэх, 60 пиксел зурах, гуравдах талыг зурах Зүүн гар тийш 90 градус, квадратыг дүүргэхийн тулд 60 пиксел хөдөлгөж болно. Эцэст нь, яст мэлхий нь хамгийн сүүлд 90 градус эргэлдэж эхэлдэг. Зураг 5-9- ийн үр дүнг үз. Таны дэлгэц адилхан харагдаж байна уу?
Зураг 5-9: Хөдөлгөөний дагуу дөрвөлжин зурж, командыг эргүүлнэ
Move (60) болон TurnRight () аргыг давтан 4 удаа давтана. Компьютер нь эдгээр ажлуудыг давтахаас татгалздаггүй, гэхдээ энэ кодыг бүгдийг нь бичихэд уйтгартай байдаг. Хэрвээ яст мэлхий энэ дөрвөлжинийг илүү хялбар аргаар зурж чадаж байвал гайхалтай байх болов уу?
Та чадна! Та яст мэлхий кодыг цөөн хэдэн мөрийг ашиглан Listing-6- тай адил дөрвөлжин зурж болно. Үзүүлэн 5-7-ийн нэгэн адил For a loop ашиглана уу.
1 'Square2.sb'
2 I = 1-ээс 4-р давтах 4 удаа
3 Turtle.Move (60) 'Нэг талыг нь зурсан
4 Turtle.TurnRight () 'Зөв 90 градус эргэдэг
5 Төгсгөл
2 I = 1-ээс 4-р давтах 4 удаа
3 Turtle.Move (60) 'Нэг талыг нь зурсан
4 Turtle.TurnRight () 'Зөв 90 градус эргэдэг
5 Төгсгөл
Жагсаалт 5-7: Яст мэлхий нь давталт ашиглан дөрвөлжин зур
For loop нь Turtle.Move (60), Turtle.TurnRight () нь дөрвөн удаа ажилладаг. Та зарим кодыг давтахыг хичнээн удаа давтаж байгааг мэдэх үедээ For loop гэсэн үг ашигладаг (дэлгэрэнгүйг Бүлэг 13-аас үзнэ үү). Энэ жишээнд таны програм давталтаа эхлүүлж, хоёр мөр кодыг ажиллуулж дараа нь давталтыг эхлүүлэхийн тулд давталтын эхлэл рүү буцаж очдог. Энэ нь дөрөв дахин давтагдаж, дараа нь давталтаас гарна. Үүнийг үзээрэй!
Энэ богино програмд та гурван шинэ жижиг үндсэн түлхүүр үг ашиглаж байна: For, To, EndFor.
ТАЙЛБАР:
Түлхүүр үг ( For , To , EndFor ) нь жагсаалтын 5-7- д үзсэн шигээ капиталжуулах шаардлагагүй бөгөөд For loop дахь өгөгдлүүд нь анхдагчаар хэвлэгдэх шаардлагагүй боловч тэдгээр нь анхдагч форматууд юм. Редактор кодыг уншихад хялбар болгохын тулд бичихийн тулд Оруулсан давталтын дотор өгүүлбэрүүдийг индексжүүлэх болно .
Зураг 5-10 нь юу болж байгааг харуулж байна.
Зураг 5-10: Дугуйны хэсгүүд
Кодын мөрийг давтахын тулд та For and End гэсэн түлхүүр үгийн хооронд давтахыг хүссэн мэдэгдлийг бичнэ. Хэрэв та эдгээр мэдэгдлийг дахин давтахыг хүсч байвал үүнийг бичнэ үү:
I = 1-ээс 4 хүртэл
Би хувьсагч нь тоологч . Энэ нь давталт хэдэн удаа ажилласныг болон хэдэн удаа явахыг оролддог. Хөтөлбөр давталт бүрийг давтах бүрт нэгийг нэмнэ.
Сургуулийн хувьд та асуудалтай тулгарах дараагийн удаад For For loop ийг санаарай! Хэрэв багш таныг бохь зажлахад хүргэдэг гэж бодвол бохь бохь 100 дахин давтахгүй байхыг хүсч байна. Үүнийг бичнэ үү:
I = 1-ээс 100 хүртэл
TextWindow.WriteLine ("Би дахиж бохь идэхгүй")
Төгсгөл
TextWindow.WriteLine ("Би дахиж бохь идэхгүй")
Төгсгөл
Үүнийг үзээрэй. Үгүй ээ, ангид бохь зажилдаггүй. хөтөлбөрийг туршиж үзээрэй!
ТАЙЛБАР:
Программчид ихэвчлэн нэг давталтын хувьсагчийг давталтын тоолуур ( I, J, эсвэл K гэх мэт ) нэрлэхдээ хэрэглэдэг боловч бусад нэрүүд ч ажилладаг. Хэрэв та том ба жижиг үсэг хэрэглэдэг бол энэ нь хамаагүй юм.
ТАЙЛБАР 5-2
Дараах програмын үр дүнг урьдчилан таамаглах. Дараа нь таны хариултыг шалгах програмыг ажиллуулна уу.
GraphicsWindow.PenColor = "Улаан"
GraphicsWindow.PenWidth = 3
I = 1-ээс 4 хүртэл
Turtle.Move (30)
Turtle.Turn (-60)
Turtle.Move (30)
Turtle.Turn (120)
Turtle.Move (30)
Turtle.Turn (-60)
Turtle.Move (30)
Turtle.TurnRight ()
Төгсгөл
GraphicsWindow.PenWidth = 3
I = 1-ээс 4 хүртэл
Turtle.Move (30)
Turtle.Turn (-60)
Turtle.Move (30)
Turtle.Turn (120)
Turtle.Move (30)
Turtle.Turn (-60)
Turtle.Move (30)
Turtle.TurnRight ()
Төгсгөл
Энгийн полигоныг зурах
Та бусад полигоныг зурах квадрат зурах програмыг ( Listing 5-7 ) хялбархан өөрчилж болно. (Тэгэхээр квадрат байж болохгүй!) Полигон нь ердөө энгийн хаалттай тоо юм. Жишээ нь, Зураг 5-11 дээр гурван полигоныг үз.
Зураг 5-11: Гурван полигоны гаднах өнцөг
Та эдгээр зургийг зурах ерөнхий загварыг ашигладаг. 5-11-р зураг дээр дөрвөлжинг үүсгэхийн тулд та тал бүрээс 90 градус эргэх өнцөг бүхий 4 талыг зурна (360 градус 4-ыг хуваадаг). Пентагоны (дунд полигон) хувьд, та тал бүрээс (тал нь 5 хувааж) 72 градусын эргэлт өнцгөөр зурж авна. Зургаан өнцөгт (баруун тал нь олон өнцөгт), та тал бүрээс 60 градусын эргэлттэй зурна (360 нь 6 хуваагддаг). Та энэ загварыг харж байна уу? Өргөн өнцөг нь 360 градусаар хуваагдана. Үүнийг санаарай, та 5-8- р жагсаалтанд олон өнцөгтийн зургийн програмыг үүсгэж болно.
1 'Polygon.sb'
2 numSides = 5 '3 хүртэлх (гурвалжин), 4 (дөрвөлжин), 5 (pentagon) ...
3
4 I = 1 тулд numSides
5 Turtle.Move (60) 'Полгогоны талын урт
6 Turtle.Turn (360 / numSides)
7 Төгсгөл
2 numSides = 5 '3 хүртэлх (гурвалжин), 4 (дөрвөлжин), 5 (pentagon) ...
3
4 I = 1 тулд numSides
5 Turtle.Move (60) 'Полгогоны талын урт
6 Turtle.Turn (360 / numSides)
7 Төгсгөл
Жагсаалт 5-8: Ердийн полигоныг зурах
Өөр өөр полигон зурахын тулд 2-р мөрний numSides хувьсагч дахь өөр дугаарыг өөр дугаараар солих хэрэгтэй.Зураг 5-12-ыг 8 полигон (ижил талын урттай) харуулж байна. Үүнийг үзээрэй!
Зураг 5-12: numSides-ийн өөр өөр утгыг ашиглан Polygon.sb-ийн гаралт
NumSides-ийн үнэ цэнийн хувьд их тооны тоог ашиглахад юу тохиолдох вэ? Полигон тойрог шиг харагдаж эхэлнэ! NumSides-г 36 хүртэл тавьж, Move (60) 5-р мөрөн дээр Move (20) -ийг шилжүүлэн, юу болохыг хараарай.
Одод бол төрсөн
Янз бүрийн хэлбэрийн өнцөгтийн талаархи одоо мэдлэгийнх нь дагуу та яст мэлхийг эргүүлээд 72 градусаар (энэ нь пентагоныг зурахад ашигладаг өнцөг), жишээ нь 2 × 72 = 144 градус 3 × 72 = 216 градус? Алхам 5-9- д үзүүлсэн хөтөлбөрийг ажиллуул.
1 'PentaStar.sb
2 I = 1 бол 5
3 Turtle.Move (150)
4 Turtle.Turn (144) 'Эргэлтийн өнцөг нь 2 * 72
5 Төгсгөл
2 I = 1 бол 5
3 Turtle.Move (150)
4 Turtle.Turn (144) 'Эргэлтийн өнцөг нь 2 * 72
5 Төгсгөл
Жагсаалт 5-9: Пентагоны одыг зурах
Хэрэв эргэлт өнцөг нь 72 биш бол 144 гаралт нь пентагон биш харин од юм. Зураг 5-13- г харна уу.
Зураг 5-13: PentaStar.sb- ийн гаралтыг харуулав
ТАЙЛБАР:
Хэрэв та өөрийн бүтээлийг хийснийхээ дараа яст мэлхийгээ нуухыг хүсвэл Turtle.Hide () -ийг програмынхаа төгсгөлд дуудна уу .
Олон янзын полигоноор туршилт хийж үзээрэй. Зураг 5-14-ыг харуулахын тулд 3 жишээг харуулав.
Зураг 5-14: Жагсаалт 5-9- ыг ашиглан өөр өөр оддыг зурах
ТАЙЛБАР 5-3
Зураг 5-15 дээр пентагоныг зурахаар яст мэлхийг удирдан чиглүүлдэг програм бич. (Санамж: Angle property ашиглан яст мэлхий анхны чиглэлийг тогтоох.)
Зураг 5-15: Пентагон
Үлдсэн гогцоо ашиглан Polygon Art үүсгэх
Та полигон, оддыг ашиглан сайхан дүрсийг үүсгэж чадна. Энэ хэсэгт бид квадратыг 12 дахин эргүүлэх замаар бүтээсэн зургийг зурна ( Зураг 5-16- г үз).
Зураг 5-16: RotatedPolygon.sb- ийн гаралт
Энэ урлагийг хийхийн тулд, та өөр нэг давталт дотор нэг давталт хийх үед үүрлэсэн давталт ашиглах болно. Гаднах давталт бүр нь дотоод гогцоо ажилладаг. 5-10- р зураг нь 5- р зураг дээр үзэсгэлэнтэй зургийг бий болгохын тулд үүрлэсэн гогцоог хэрхэн ашиглахыг үзүүлнэ.
1 'RotatedPolygon.sb
2 numSides = 4 '3 хүртэлх (гурвалжин), 4 (хавтгай) ...
3 давтCount = 12 ' Талбайн хэмжээг хэдэн удаа эргүүлэх вэ?
4
5 I = 1- ийг давтан оруул
6 '1) Хүссэн полигоныг зур
7 J = 1 тулд numSides
8 Turtle.Move (60) 'Талбайн урттай
9 Turtle.Turn (360 / numSides)
10 Төгсгөл
11 '2) Яст мэлхийг бага зэрэг эргүүлнэ
12 Turtle.Turn (360 / repeatCount)
13 Төгсгөл
2 numSides = 4 '3 хүртэлх (гурвалжин), 4 (хавтгай) ...
3 давтCount = 12 ' Талбайн хэмжээг хэдэн удаа эргүүлэх вэ?
4
5 I = 1- ийг давтан оруул
6 '1) Хүссэн полигоныг зур
7 J = 1 тулд numSides
8 Turtle.Move (60) 'Талбайн урттай
9 Turtle.Turn (360 / numSides)
10 Төгсгөл
11 '2) Яст мэлхийг бага зэрэг эргүүлнэ
12 Turtle.Turn (360 / repeatCount)
13 Төгсгөл
Жагсаалт 5-10: Эргэдэг полигоны загварыг зурах
Энэ програм нь хоёр гогцоотой, нэг нь нөгөөгөөр хийгдсэн байдаг. Гадна хүрд (5-р мөр) I нэртэй давталтын тоолуурыг ашигладаг бөгөөд 12 квадратыг зурж 12 удаа давтана. Энэ давталтын үеэр хөтөлбөр хоёр үүрэг гүйцэтгэдэг. Нэгдүгээрт, энэ нь өөр нэг ашиглан квадратыг зурна. Дараа нь, 12-р мөрөнд яст мэлхий нь бага зэрэг (360 ° ÷ 12 = 30 °) болж хувирна. Сайхан юм!
Та үүрлэсэн гогцоог ашиглаж байхдаа давталтын тоолуурт өөр өөр нэрийг ашигла. Дүрс 5-10- д бид гаднах хүрд болон J хувьсагчийг дотоод гогцоонд зориулсан хувьсагчийг ашиглана.
NumSides болон давтамжийг өөр өөр полигонууд болон эргэлтийн тоогоор шалгах боломжтой. Зураг 5-17 нь зургаан өнцөгтийг эргүүлэх замаар үүсгэж болох зарим дүрслэлийг харуулав. Үзэгний өнгө, өргөнийг өөрчлөхийг хүсвэл бүтээлийнхээ хүрээг тэлнэ үү. Боломжууд нь төгсгөлгүй юм!
Зураг 5-17: Зургаан өнцгийг эргүүлэх замаар үүсгэсэн зургууд
5-9-ийг үзнэ үү
Дараах програмын үр дүнг урьдчилан таамаглах. Та үүнийг ажиллуулахаас өмнө кодын үр дүнг төсөөлөөрэй. Дараа нь кодыг уншина уу.
repeatCount = 5
I = 1-ийн хувьд давтамж оруулах
J = 1-ээс 4-р квадратыг зур
Turtle.Move (60)
Turtle.Turn (90)
Төгсгөл
J = 1-ээс 3 'гурвалжин зурна
Turtle.Move (60)
Turtle.Turn (120)
Төгсгөл
Turtle.Turn (360 / repeatCount)
Төгсгөл
I = 1-ийн хувьд давтамж оруулах
J = 1-ээс 4-р квадратыг зур
Turtle.Move (60)
Turtle.Turn (90)
Төгсгөл
J = 1-ээс 3 'гурвалжин зурна
Turtle.Move (60)
Turtle.Turn (120)
Төгсгөл
Turtle.Turn (360 / repeatCount)
Төгсгөл
Төгсгөлгүй график
Жагсаалт 5-10-д та нэг полигоныг эргүүлэх замаар загвар үүсгэсэн. Та янз бүрийн хэмжээтэй 2 ба түүнээс олон полигон ашиглан загварыг үүсгэж болно. Кодыг хялбар байлгахын тулд өөр өөр хэмжээтэй хоёр полигон зурж, эргүүлэх хэрэгтэй.
Жагсаалтын 5-11- д үзүүлсэн хөтөлбөрийг ажиллуулаад ямар загвар хийх боломжтойг олж мэд.
1 'PolygonArt.sb
2 Turtle.Speed = 10
3 numSides = 6 ' 3 хүртэлх (гурвалжин), 4 (хавтгай дөрвөлжин) ...
4 repeatCount = 8 'Хэр олон удаа эргүүлэх
5 талЛен1 = 30 ' Полигонгийн уртын урт 1
6 талЛен2 = 40 ' Полигонгийн уртын урт 2
7
8 I = 1- ийг давтан оруул
9 J = 1 тулд numSides 'Эхний полигоныг зурна
10 Turtle.Move (sideLen1)
11 Turtle.Turn (360 / numSides)
12 Төгсгөл
13
14 J = 1 For numSides 'Хоёр дахь полигоныг зурна
15 Turtle.Move (sideLen2)
16 Turtle.Turn (360 / numSides)
17 Төгсгөлийн төлөө
18
19 Дараагийн тойрогт бэлтгэхийн тулд яст мэлхийг эргүүл
20 Turtle.Turn (360 / repeatCount)
21 Төгсгөл
2 Turtle.Speed = 10
3 numSides = 6 ' 3 хүртэлх (гурвалжин), 4 (хавтгай дөрвөлжин) ...
4 repeatCount = 8 'Хэр олон удаа эргүүлэх
5 талЛен1 = 30 ' Полигонгийн уртын урт 1
6 талЛен2 = 40 ' Полигонгийн уртын урт 2
7
8 I = 1- ийг давтан оруул
9 J = 1 тулд numSides 'Эхний полигоныг зурна
10 Turtle.Move (sideLen1)
11 Turtle.Turn (360 / numSides)
12 Төгсгөл
13
14 J = 1 For numSides 'Хоёр дахь полигоныг зурна
15 Turtle.Move (sideLen2)
16 Turtle.Turn (360 / numSides)
17 Төгсгөлийн төлөө
18
19 Дараагийн тойрогт бэлтгэхийн тулд яст мэлхийг эргүүл
20 Turtle.Turn (360 / repeatCount)
21 Төгсгөл
Жагсаалт 5-11: Хоёр ижил полигоныг эргүүлэх
Зураг 5-18- д энэ хөтөлбөрийн үр дүнг харуулав. Энэ програм нь хоёр тийшээ эргэдэг (эхний тал нь 30-тай, хоёр дахь нь 40-ийн урттай байдаг) 8 удаа. 8-р мөр дэх гаднах давталт давталтын тоо дээр давтагддаг. Хөтөлбөр давтагдах бүрт код нь гурван үйлдлийг гүйцэтгэдэг:
1. Эхний полигоныг талдLen1 (шугам 9-12) талд оруулан уртаашаа зур.
Хоёр талдаа полигоныг талдLen2 (14-17-р мөрөнд) талыг ашиглана.
3. Дараа дараагийн тойргоос хойш яст мэлхийг эргүүл (шугам 20).
Зураг 5-18: PolygonArt.sb- ийн үр дүн
Одоо 5- р зураг дээр 19-р давталтын утгыг ашиглан олон янзын хэв маягийг бий болгохыг хичээ. SideLen1 = 40 болон sideLen2 = 60 тохируулгаарай!
Зураг 5-19: PolygonArt.sb ашиглан туршилт хийх замаар үүсгэж болох зарим зургууд
Энэ програмын талаархи туршилтыг өөр бусад ямар хэлбэрээр олж болохыг хараарай!
5-5-ийг үзнэ үү
Өөрчлөгдсөн 5-11 жагсаалтыг өөр өөр хэмжээтэй гурван полигон (хоёроос илүү оронд) зураад дараа нь эргүүлэх хэрэгтэй. Дараагийнхаа зургийн галлерейд нээлтээ хадгалж үлдээ. (Эсвэл, хэрэв та саятан болох хүсэлгүй бол http://tiny.cc/turtlepatterns/ руу очиж, дэлхий ертөнцтэй хуваалцаарай!)
Програмчлалын сорилт
Хэрэв та гацаж байгаа бол http://nostarch.com/smallbasic/ хаягаар зочилж , илүү их эх сурвалжуудыг олж авах, багш нар, оюутнуудад зориулсан асуултуудыг шалгаарай.
1. Энэ код нь тойрог зурж байна:
K = 1-ийн хувьд 36
Turtle.Move (6)
Turtle.Turn (10)
Төгсгөл
Turtle.Move (6)
Turtle.Turn (10)
Төгсгөл
Энд үзүүлсэн загварыг үүсгэхийн тулд яст мэлхий энэ кодыг 12 дахин давтан хийх програм бичнэ үү:
2. Энэ шиг цэцгийг зурах програм бич.
3. Дараах кодыг дахин боловсруулж, туршиж үзээрэй.
I = 1-ээс 20 'давталт 20 удаа
K = 1-ын хувьд 36 'Дугуйг зур
Turtle.Move (12)
Turtle.Turn (10)
Төгсгөл
Turtle.Turn (18) 'Дараагийн тойрогт бэлэн байна
Turtle.Move (12) 'Дараагийн тойргийг зурахаасаа өмнө бага зэрэг хөдөлнө
Төгсгөл
K = 1-ын хувьд 36 'Дугуйг зур
Turtle.Move (12)
Turtle.Turn (10)
Төгсгөл
Turtle.Turn (18) 'Дараагийн тойрогт бэлэн байна
Turtle.Move (12) 'Дараагийн тойргийг зурахаасаа өмнө бага зэрэг хөдөлнө
Төгсгөл
Шинэ загварыг олохын тулд тойрог бүрийг эргүүлснээр Зочлох () зайг өөрчилнө үү!