View/Edit #1177:area

Switch to edit mode.

Name(s): area
1:  "Copied from Terra (#1000):area by Hacker (#60) Aug 31 08:21:02 2002"
2:  ":area(x) => {{0, 0}, {0, 1}, {0, -1}, ...}"
3:  "Returns a list of all x/y tuples that fall within a circle of radius x"
4:  {radius} = args
5:  quarter = {}
6:  for y in [1..radius]
7:    arc = cos($pi / 2.0 / tofloat(radius) * tofloat(y)) * tofloat(radius)
8:    for x in [1..toint(arc + 0.5)]
9:      quarter = {@quarter, {x, y}}
10:   endfor
11: endfor
12: area = {{0, 0}}
13: for z in [1..radius]
14:   area = {@area, {0, z}, {0, -z}, {z, 0}, {-z, 0}}
15: endfor
16: for z in (quarter)
17:   area = setadd(area, {z[1], z[2]})
18:   area = setadd(area, {z[2], z[1]})
19:   area = setadd(area, {-z[1], z[2]})
20:   area = setadd(area, {-z[2], z[1]})
21:   area = setadd(area, {-z[1], -z[2]})
22:   area = setadd(area, {-z[2], -z[1]})
23:   area = setadd(area, {z[1], -z[2]})
24:   area = setadd(area, {z[2], -z[1]})
25: endfor
26: "area = $list_utils:remove_duplicates(area)"
27: return area

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: DT_Mayor (#1177)

You are not logged in.

[home | help | who | search | setup | code]