turtleによるグラフィックス

turtle は、「カメ」が移動することにより、グラフィックスを行う。


星形


# turtle graphics (draw of stars)

from turtle import *

setup (600,600)
color('blue')
bgcolor('white')
shape('turtle')
shapesize(2)
speed(10)

def onestar(x0,y0,length,color_star):
  color(color_star)

  penup()
  setpos(x0, y0+length/2)
  setheading(0)
  pendown()
  width(5)
  for i in range(5):
      forward(length)
      right(144)

  penup()
  setpos(x0, y0)
  return

#=========================================
# 色の名前の設定
# 下記が参考にあります。
# https://www.colordic.org/
#
color_star = ['blue', 'green', 'red', 'pink', 'yellow',
              'royalblue', 'seagreen', 'khaki', 'deeppink', 'midnightblue',
              'mediumseagreen', 'hotpink',  'navy', 'mediumaquamarine',
              'darkblue', 'darkseagreen','orange', 'aquamarine',
              'palegreen', 'darkorange', 'thistle', 'linen' ]

import random
for kk in range(50):
    x0=250*(1-2*random.random())
    y0=250*(1-2*random.random())
    length=10+100*random.random()
    icolor =int(22*random.random())
    color1 = color_star[icolor]
    onestar(x0,y0,length,color1)

setheading(0)
penup()
setpos(400,300)
color('green')


星形のぬりつぶし


# turtle graphics (draw of stars)

from turtle import *

setup (600,600)
color('blue')
bgcolor('white')
shape('turtle')
shapesize(2)
speed(10)

def onestar(x0,y0,length,color_star):
  color(color_star)

  penup()
  setpos(x0, y0+length/2)
  setheading(0)
  pendown()
  width(5)
  begin_fill()
  for i in range(5):
      forward(length)
      right(144)
  end_fill()

  penup()
  setpos(x0, y0)
  return

#=========================================
# 色の名前の設定
# 下記が参考にあります。
# https://www.colordic.org/
#
color_star = ['blue', 'green', 'red', 'pink', 'yellow',
              'royalblue', 'seagreen', 'khaki', 'deeppink', 'midnightblue',
              'mediumseagreen', 'hotpink',  'navy', 'mediumaquamarine',
              'darkblue', 'darkseagreen','orange', 'aquamarine',
              'palegreen', 'darkorange', 'thistle', 'linen' ]

import random
for kk in range(50):
    x0=250*(1-2*random.random())
    y0=250*(1-2*random.random())
    length=10+100*random.random()
    icolor =int(22*random.random())
    color1 = color_star[icolor]
    onestar(x0,y0,length,color1)

setheading(0)
penup()
setpos(400,300)
color('green')


戻る