Turtle is the meaning of turtles. It originally belongs to the logo language (not played ).. however, other languages are supported later. one is smallbasic, and the other is Python. I never knew this library was actually built in Python. it is based on the TK library.
It is easy to use.
from turtle import *
You can.
Simple Line Drawing.
Here, reset () is to clear the entire canvas and tell us that the tortoise (arrow) is placed at the origin (center of the canvas ). goto () is based on the current State (speed, color, whether to draw a line ...) motion to (70, 0) Point.
The turtle coordinate system is the same as the coordinate system we learned.
Let's draw a square. It's very simple.
That is, the distance between the forward (FD) and the right (right) is 90 degrees. You just need to go back and forth four times.
Of course, you can change the angle of any side. Of course, you can change the length by the way, as shown below:
Now, I will briefly introduce it here. You can check the manual for more functions.
Or more demos to see http://code.google.com/p/python-turtle-demo/
Let's look at a small example. Fractal. Of course, the classic Mandelbrot is broken. Change the leaf structure.
The method is very simple. Multiplication iteration. Instead of a single iteration, it is based on probability iteration. Each result is drawn on the image with coordinates.
The Code comes from. http://www.mathworks.cn/moler/intro.pdf, but the original code is written in MATLAB. I changed it to Python here. It uses the numpy library, which is mainly used for Matrix Multiplication. In fact, it is not difficult to write it myself.
During debugging, it is found that a * X has a different meaning in numpy. You need to use dot (A, x). The Code is as follows:
from numpy import *from random import randomimport turtleturtle.reset()x = array([[.5],[.5]])p = [0.85,0.92,0.99,1.00]A1 = array([[.85, 0.04], [-0.04,.85]])b1 = array([[0],[1.6]])A2 = array([[0.20,-0.26], [0.23,0.22]])b2 = array([[0],[1.6]])A3 = array([[-0.15,0.28], [0.26,0.24]])b3 = array([[0],[0.44]])A4 = array([[0,0], [0,0.16]])turtle.color("blue")cnt = 1while True: cnt += 1 if cnt == 2000: break r = random() if r < p[0]: x = dot(A1 , x) + b1 elif r < p[1]: x = dot(A2 , x) + b2 elif r < p[2]: x = dot(A3 , x) + b3 else: x = dot(A4 , x) #print x[1] turtle.up() turtle.goto(x[0][0] * 50,x[1][0] * 40 - 240) turtle.down() turtle.dot()
Note that the import. numpy. Dot conflicts with Turtle. Dot.
The result is as follows.
Teeth, ugly ..
Matrix67 sentence also learned about this article http://www.matrix67.com/blog/archives/500
Okay, go to bed ..