Knowledge

Turtle graphics

Source ๐Ÿ“

277:-based (i.e. relative direction and distance from a starting point) in comparison to coordinate-addressed systems such as bitmaps or raster graphics. As a practical matter, the use of turtle geometry instead of a more traditional model mimics the actual movement logic of the turtle robot. The turtle is traditionally and most often represented pictorially either as a triangle or a turtle icon (though it can be represented by any icon). 185: 364: 36: 308: 197: 320:) is defined to choose the plane the turtle's 2D "forward" vector rotates in; the "up" vector itself also rotates around the "forward" vector. In effect, the turtle has two different heading angles, one within the plane and the other determining the plane's angle. Usually changing the plane's angle does not move the turtle, in line with the traditional setup. 218:
The turtle moves with commands that are relative to its own position, such as "move forward 10 spaces" and "turn left 90 degrees". The pen carried by the turtle can also be controlled, by enabling it, setting its color, or setting its width. A student could understand (and predict and reason about)
226:
A full turtle graphics system requires control flow, procedures, and recursion: many turtle drawing programs fall short. From these building blocks one can build more complex shapes like squares, triangles, circles and other composite figures. The idea of turtle graphics, for example is useful in a
284:
programming language's standard library includes a Turtle graphics module. Like its Logo predecessor, the Python implementation of turtle allows programmers to control one or more turtles in a two-dimensional space. Since the standard Python syntax, control flow, and data structures can be used
315:
The ideas behind turtle graphics can be extended to include three-dimensional space. This is achieved by using one of several different coordinate models. A common setup is cartesian-rotational as with the original 2D turtle: an additional "up" vector
169: 294: 327:
command is used to rotate the "up" vector around the "forward" vector. The article proceeds to develop an algebraic theory to prove geometric properties from syntactic properties of the underlying turtle programs. One of the insights is that a
261:, a simple robot controlled from the user's workstation that is designed to carry out the drawing functions assigned to it using a small retractable pen set into or attached to the robot's body. Turtle geometry works somewhat differently from ( 207:
The turtle has three attributes: a location, an orientation (or direction), and a pen. The pen, too, has attributes: color, width, and on/off state (also called
285:
alongside the turtle module, turtle has become a popular way for programmers learning Python to familiarize themselves with the basics of the language.
675: 643: 612: 119: 355:) in the "Rotational Cartesian Turtle". Other coordinate models, including non-Euclidean geometry, are allowed but not included. 53: 100: 57: 497: 72: 281: 201: 79: 336: 241:
is also sometimes used in graphics environments as an alternative to a strictly coordinate-addressed graphics system.
157: 153: 670: 404: 301: 250: 86: 447: 68: 46: 297: 425: 270: 228: 145: 649: 639: 618: 608: 599: 274: 133: 93: 534: 498:"3. Hello, little turtles! โ€” How to Think Like a Computer Scientist: Learning with Python 3" 257:
added support for turtle graphics to Logo in the late 1960s to support his version of the
238: 141: 363: 594: 258: 254: 220: 184: 149: 664: 632: 522: 317: 473: 604: 35: 172:
An animation that shows how the turtle is used to create graphics by combining
168: 17: 538: 219:
the turtle's motion by imagining what they would do if they were the turtle.
653: 622: 307: 293: 196: 189: 558: 379: 572: 523:"3D turtle geometry: artwork, theory, program equivalence and symmetry" 399: 394: 389: 384: 368: 232: 634:
The Children's Machine: Rethinking School in the Age of the Computer
362: 306: 292: 195: 183: 167: 426:"Turtle Geometry in Computer Graphics and Computer Aided Design" 29: 474:"25.1. turtle โ€” Turtle graphics โ€” Python 3.7.0 documentation" 332:
command is really a shorthand of a turn-roll-turn sequence.
335:
Cheloniidae Turtle Graphics is a 3D turtle library for
323:
Verhoeff 2010 implements the two vector approach; a
600:
Mindstorms: Children, Computers, and Powerful Ideas
60:. Unsourced material may be challenged and removed. 631: 249:Turtle graphics are often associated with the 8: 527:International Journal of Arts and Technology 448:"Friends of the Turtle: On Logo And Turtles" 180:commands while a pen is touching the paper 156:. Turtle graphics is a key feature of the 120:Learn how and when to remove this message 424:Goldman, Ron; Schaefer, Scott; Ju, Tao. 416: 223:called this "body syntonic" reasoning. 200:A turtle graphic pattern drawn with a 367:Animated gif with turtle in MSWLogo ( 7: 58:adding citations to reliable sources 311:Pattern drawn with a Python program 446:Thornburg, David D. (March 1983). 25: 34: 45:needs additional citations for 559:Spencer Tipping on cheloniidae 154:Cartesian plane (x and y axis) 1: 289:Extension to three dimensions 571:Pietrocola, Giorgio (2005). 302:Cheloniidae Turtle Graphics 692: 603:(2nd ed.). New York: 405:Joy (programming language) 676:Free educational software 638:. New York: Basic Books. 539:10.1504/IJART.2010.032569 502:python.camden.rutgers.edu 251:Logo programming language 192:turtle graphics algorithm 158:Logo programming language 630:Papert, Seymour (1993). 188:A spiral drawn with an 521:Verhoeff, Tom (2010). 372: 312: 304: 204: 193: 181: 561:(retrieved 2016-9-17) 366: 310: 296: 199: 187: 171: 54:improve this article 373: 313: 305: 298:3D turtle graphics 273:, being primarily 271:Cartesian geometry 229:Lindenmayer system 205: 194: 182: 671:Computer graphics 351:command (same as 343:command (same as 144:using a relative 134:computer graphics 130: 129: 122: 104: 69:"Turtle graphics" 27:Computer Graphics 16:(Redirected from 683: 657: 637: 626: 581: 580: 568: 562: 556: 550: 549: 547: 545: 533:(2/3): 288โ€“319. 518: 512: 511: 509: 508: 494: 488: 487: 485: 484: 470: 464: 463: 461: 459: 443: 437: 436: 430: 421: 125: 118: 114: 111: 105: 103: 62: 38: 30: 21: 691: 690: 686: 685: 684: 682: 681: 680: 661: 660: 646: 629: 615: 595:Papert, Seymour 593: 590: 588:Further reading 585: 584: 570: 569: 565: 557: 553: 543: 541: 520: 519: 515: 506: 504: 496: 495: 491: 482: 480: 478:docs.python.org 472: 471: 467: 457: 455: 445: 444: 440: 428: 423: 422: 418: 413: 361: 300:generated with 291: 247: 239:Turtle geometry 231:for generating 166: 142:vector graphics 138:turtle graphics 126: 115: 109: 106: 63: 61: 51: 39: 28: 23: 22: 18:Turtle Graphics 15: 12: 11: 5: 689: 687: 679: 678: 673: 663: 662: 659: 658: 644: 627: 613: 589: 586: 583: 582: 563: 551: 513: 489: 465: 438: 415: 414: 412: 409: 408: 407: 402: 397: 392: 387: 382: 377: 360: 357: 290: 287: 255:Seymour Papert 246: 243: 221:Seymour Papert 202:Python program 165: 162: 128: 127: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 688: 677: 674: 672: 669: 668: 666: 655: 651: 647: 645:0-465-01830-0 641: 636: 635: 628: 624: 620: 616: 614:0-465-04674-6 610: 606: 602: 601: 596: 592: 591: 587: 578: 574: 573:"Tartapelago" 567: 564: 560: 555: 552: 540: 536: 532: 528: 524: 517: 514: 503: 499: 493: 490: 479: 475: 469: 466: 454:. p. 148 453: 449: 442: 439: 434: 433:CSE.WUSTL.edu 427: 420: 417: 410: 406: 403: 401: 398: 396: 393: 391: 388: 386: 383: 381: 378: 375: 374: 370: 365: 358: 356: 354: 350: 346: 342: 338: 333: 331: 326: 321: 319: 318:normal vector 309: 303: 299: 295: 288: 286: 283: 278: 276: 272: 268: 264: 260: 256: 252: 244: 242: 240: 236: 234: 230: 224: 222: 216: 214: 210: 203: 198: 191: 186: 179: 175: 170: 163: 161: 159: 155: 151: 147: 143: 139: 135: 124: 121: 113: 110:February 2008 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: โ€“  70: 66: 65:Find sources: 59: 55: 49: 48: 43:This article 41: 37: 32: 31: 19: 633: 598: 576: 566: 554: 542:. Retrieved 530: 526: 516: 505:. Retrieved 501: 492: 481:. Retrieved 477: 468: 456:. Retrieved 451: 441: 432: 419: 352: 348: 344: 340: 334: 329: 324: 322: 314: 279: 269:) addressed 266: 262: 259:turtle robot 248: 237: 225: 217: 212: 208: 206: 177: 173: 137: 131: 116: 107: 97: 90: 83: 76: 64: 52:Please help 47:verification 44: 605:Basic Books 544:28 February 339:. It has a 280:Today, the 665:Categories 507:2018-08-23 483:2018-08-23 411:References 152:") upon a 80:newspapers 654:248428992 623:794964988 458:6 October 190:iterative 597:(1993). 452:Compute! 380:L-system 359:See also 347:) and a 233:fractals 164:Overview 400:MSWLogo 395:FMSLogo 390:NetLogo 385:UCBLogo 376:KTurtle 369:Cycloid 245:History 174:forward 94:scholar 652:  642:  621:  611:  577:Maecla 282:Python 275:vector 150:turtle 148:(the " 146:cursor 96:  89:  82:  75:  67:  429:(PDF) 349:pitch 101:JSTOR 87:books 650:OCLC 640:ISBN 619:OCLC 609:ISBN 546:2021 460:2013 353:dive 345:roll 341:bank 337:Java 330:dive 325:roll 211:and 209:down 178:turn 176:and 140:are 73:news 535:doi 215:). 132:In 56:by 667:: 648:. 617:. 607:. 575:. 529:. 525:. 500:. 476:. 450:. 431:. 253:. 235:. 213:up 160:. 136:, 656:. 625:. 579:. 548:. 537:: 531:3 510:. 486:. 462:. 435:. 371:) 316:( 267:y 265:, 263:x 123:) 117:( 112:) 108:( 98:ยท 91:ยท 84:ยท 77:ยท 50:. 20:)

Index

Turtle Graphics

verification
improve this article
adding citations to reliable sources
"Turtle graphics"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer graphics
vector graphics
cursor
turtle
Cartesian plane (x and y axis)
Logo programming language


iterative

Python program
Seymour Papert
Lindenmayer system
fractals
Turtle geometry
Logo programming language
Seymour Papert
turtle robot

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

โ†‘