【タートル】LOGO【パパート】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
亀を使ってプログラミングする、ユニークな〔LOGO〕について語りましょう。(´・ω・`)
2デフォルトの名無しさん:2010/10/11(月) 00:05:16
■LOGOの説明

 LOGO - Wikipedia
  ttp://ja.wikipedia.org/wiki/LOGO


■関連スレ?

 亀(※DAT落ち)
  http://hibari.2ch.net/test/read.cgi/tech/1281337812/
3デフォルトの名無しさん:2010/10/11(月) 00:06:23
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
4デフォルトの名無しさん:2010/10/11(月) 00:13:06
いえいえ、真面目なスレですよ。
5デフォルトの名無しさん:2010/10/11(月) 00:13:51
今まともに動く処理系あるの?
6デフォルトの名無しさん:2010/10/11(月) 15:17:13
まぁ、元々教育用だからな。
7デフォルトの名無しさん:2010/10/11(月) 17:15:26
小学校の時パソコン部に入ってこれですごろくゲーム作った
15年くらい前
8デフォルトの名無しさん:2010/10/11(月) 17:26:28
LOGOってlispの親戚なんだな
初めて知った
9デフォルトの名無しさん:2010/10/11(月) 17:40:16
関数型言語か
10デフォルトの名無しさん:2010/10/11(月) 17:50:08
亀好きにはたまらない(´ー`)
11デフォルトの名無しさん:2010/10/11(月) 17:51:11
Appleのハイパーカードのように、
見た目に反して実はかなりのものが作れるのかな?
12デフォルトの名無しさん:2010/10/11(月) 19:25:49
30年近く前に pc-6001 で動くのを触った覚えがある
13デフォルトの名無しさん:2010/10/14(木) 00:38:09
Macでも使えるお(´・ω・`)
14デフォルトの名無しさん:2010/10/16(土) 22:51:38
ACS Logo
15デフォルトの名無しさん:2010/10/21(木) 11:55:11
亀のように歩むことは本質的なことなのかな。
16デフォルトの名無しさん:2010/10/24(日) 22:19:17
だお(´・ω・`)
17デフォルトの名無しさん:2010/10/25(月) 13:37:14
このスレは何なんだよう!
サンプルプログラムの一つもなくて
18デフォルトの名無しさん:2010/10/26(火) 19:41:37
なぜか英語の辞書に載ってるんだよな。PASCALは人物のことしか載ってないのに
19デフォルトの名無しさん:2010/10/26(火) 21:24:36
お前らドラゴン曲線を描くLogoプログラムをちょっと書いてみろ
20デフォルトの名無しさん:2010/10/27(水) 14:06:43
>>19
書いてみろだと?てめぇが書いてみろよ!
21デフォルトの名無しさん:2010/10/27(水) 17:25:30
>>20
逆ギレすんなよ
書けないからってw
22デフォルトの名無しさん:2010/10/27(水) 18:15:55
ヒント: しゃぶれよ
23デフォルトの名無しさん:2010/11/07(日) 07:17:09
しゃぶりたい
24デフォルトの名無しさん:2010/11/07(日) 08:51:45
亀大好き
25デフォルトの名無しさん:2010/11/13(土) 02:54:10
26デフォルトの名無しさん:2010/11/15(月) 15:31:12
やってみようかな
27デフォルトの名無しさん:2010/11/15(月) 15:47:10
亀を時計回りに1週させる

Forward 100
Right 100
Forward 100
Right 100
Forward 100
Right 100
Forward 100
28デフォルトの名無しさん:2010/11/15(月) 15:47:33
亀を反時計回り1週させる

Forward 100
Left 100
Forward 100
Left 100
Forward 100
Left 100
Forward 100
29デフォルトの名無しさん:2010/11/15(月) 17:08:19
円運動はどうする?
30デフォルトの名無しさん:2010/11/20(土) 11:41:50
どうするんだろ?
31デフォルトの名無しさん:2010/11/20(土) 14:05:15
128角形を描くに決まってるじゃん。
32デフォルトの名無しさん:2010/11/20(土) 18:21:44
微分的w
33デフォルトの名無しさん:2010/11/21(日) 11:44:29
#一筆描き
from turtle import *
import time
from random import seed, random

def turn(d):
  if d: left(90)
  else: right(90)

def draw(n, d, s):
  '''n:depth, d:direction (True:left, False:right), s:step'''
  if n == 0:
    return
  elif (n % 2):
    draw(n - 1, ~d, s); forward(s); turn(d)
    draw(n - 1, d, s); forward(s); draw(n - 1, d, s)
    turn(d); forward(s); draw(n - 1, ~d, s)
  else:
    color((.25 + random() / 2.0, .25 + random() / 2.0, .25 + random() / 2.0))
    draw(n - 1, ~d, s); turn(d); forward(s); draw(n - 1, d, s)
    turn(~d); forward(s); turn(~d)
    draw(n - 1, d, s); forward(s); turn(d); draw(n - 1, ~d, s)

if __name__ == '__main__':
  # demo(); time.sleep(1); goto((0, 0)); clear()
  seed(None)
  for n in xrange(1, 13):
    tracer(True if n < 5 else False)
    up(); goto((-30 * n, -30 * n)); write('depth=%d' % n, True); down();
    if n % 2: left(90)
    draw(n, False, (24 / n) if n < 8 else 2 if n < 9 else 1);
    time.sleep(3); reset()
34デフォルトの名無しさん:2010/11/21(日) 19:23:49
#非再帰のドラゴン曲線
from turtle import *
import time
from random import seed, random

def edges(n):
  e = b = 0
  for i in xrange(32):
    j = 1 if n & 2 ** (31 - i) else 0
    if j != b:
      e += 1
      b = j
  return e

def draw(n, d, s):
  '''n:length, d:direction, s:step'''
  for i in xrange(n):
    color((.25 + random() / 2.0, .25 + random() / 2.0, .25 + random() / 2.0))
    e = edges(i) % 4
    right(((4 + e - d) % 4) * 90)
    turn(d, e)
    d = e
    forward(s)

if __name__ == '__main__':
  # demo(); time.sleep(1); goto((0, 0)); clear()
  seed(None)
  for n in xrange(16):
    tracer(True if n < 5 else False)
    up(); goto((0, 0)); write('length=%d' % 2 ** n, True); down();
    draw(2 ** n, 0, (100 / (n + 1)) if n < 12 else 2);
    time.sleep(3); reset()
3534:2010/11/21(日) 19:26:37
間違えた
    turn(d, e)
の一行削除です
36デフォルトの名無しさん:2010/11/22(月) 00:28:20
>>33,34
LOGOじゃないし....。そんな汚い言語じゃなくてLOGOのコードが見たいんだよ!!
37デフォルトの名無しさん:2010/11/22(月) 04:26:36
本質は同じ
エロいひとにはそれが判らんとです
38デフォルトの名無しさん:2010/11/22(月) 16:51:02
#ドラゴン曲線(再帰) 丸め誤差のモアレっぽいの出てるけど気にしない
from turtle import *
import math
import time

def draw(n, q, p):
  if n == 0:
    up(); goto((int(p[0]), int(p[1]))); down(); goto((int(q[0]), int(q[1])))
  else:
    x1, y1 = p
    x2, y2 = q
    dx, dy = x2 - x1, y2 - y1
    x0, y0 = (x1 + x2) / 2.0, (y1 + y2) / 2.0
    if dy == 0:
      s = (x0, y1 + dx / 2.0)
    else:
      d = dx / float(dy)
      r = math.sqrt(((y1 - y0) ** 2 + (x1 - x0) ** 2) / (1 + d ** 2))
      if dy > 0: r = -r
      s = (x0 + r, y0 - r * d)
    draw(n - 1, s, p)
    draw(n - 1, s, q)

if __name__ == '__main__':
  for n in xrange(20):
    q = (128, 128); p = (-128, -128)
    tracer(False); up(); goto(p); write('depth=%d' % n, True); down();
    draw(n, q, p); time.sleep(3); reset()
39デフォルトの名無しさん:2010/11/22(月) 22:03:20
そもそも日本語だったような気がするんだが
40デフォルトの名無しさん:2010/11/22(月) 22:53:45
それはドリトルでは?
41デフォルトの名無しさん:2010/11/24(水) 12:47:05
LOGOにもある
42デフォルトの名無しさん:2010/11/28(日) 09:42:49
亀大好きさね
43デフォルトの名無しさん:2010/12/04(土) 01:26:11
44デフォルトの名無しさん:2010/12/15(水) 16:24:12
45デフォルトの名無しさん:2010/12/15(水) 17:05:09
亀という文字は一筆書きが可能ですか?
46デフォルトの名無しさん:2010/12/16(木) 00:17:59
無理
47デフォルトの名無しさん:2010/12/18(土) 00:37:42
グラフ理論やね
48デフォルトの名無しさん:2010/12/25(土) 10:32:14
開発キット欲しい
49デフォルトの名無しさん:2011/01/02(日) 09:03:29
import turtle
t = turtle.Turtle()
a = [(-14, 30), (24, 9), (-16, 6), (10, 6), (2, 4), (-14, 8), (17, 6),
(33, 2), (33, 2), (32, 1), (32, 1), (32, 1), (32, 4), (33, 4), (32, 2),
(32, 2), (32, 2), (-1, 2), (1, 4), (2, 5), (-15, 7), (30, 6), (-13, 3),
(13, 7), (33, 2), (33, 2), (-12, 2), (4, 8), (-16, 5), (10, 7), (33, 2),
(32, 1), (32, 1), (32, 1), (32, 2), (32, 2), (33, 3), (32, 3), (32, 2),
(32, 2), (-19, 7), (27, 2), (-27, 8), (2, 4), (2, 4), (-14, 8), (17, 6),
(33, 2), (33, 2), (32, 1), (32, 1), (32, 1), (32, 4), (33, 4), (32, 2),
(32, 2), (32, 2)]
for d in a:
  (p, q) = (t.down, d[0]) if d[0] > 0 else (t.up, -d[0])
  p(); t.left(q * 10); t.forward(d[1] * 10)
50デフォルトの名無しさん:2011/01/18(火) 21:20:56
51デフォルトの名無しさん:2011/01/23(日) 11:47:01
int main ( Turtle )
52デフォルトの名無しさん:2011/04/03(日) 19:02:09.71
53デフォルトの名無しさん:2011/04/03(日) 23:33:54.65
懐かしい
小竹向原
54デフォルトの名無しさん:2011/04/04(月) 04:30:52.52
これって亀で線引く以外に何が出来るの
55デフォルトの名無しさん:2011/04/04(月) 10:03:06.21
実装、ライブラリ次第で一応なんでもできるけど
線引く用途以外なら他の言語使うよろし
56デフォルトの名無しさん:2011/04/04(月) 13:54:23.12
あなごるにlogoがはいった。
logoは、lispだった。
57天使 ◆uL5esZLBSE :2011/07/03(日) 20:55:43.03
>>52
ハッアアアアアアアアアアアアアアアアア???????????????

ゴミが散らかってんじゃねえよ
58天使 ◆uL5esZLBSE :2011/07/04(月) 11:45:59.43
2011年、Ruby,Perl,PHP,Pythonって並べたときにさ
ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな

放射性廃棄物のほうがマシ
59デフォルトの名無しさん
(´・ω・`)へえ