|
|
1.1 ! root 1: .IS ! 2: arc { ! 3: var radius, center, ! 4: start, midway, end, ! 5: startang, midang, endang; ! 6: var a1, b1, c1, ! 7: a2, b2, c2; ! 8: a1 = 2*(re(end)-re(start)); ! 9: b1 = 2*(im(end)-im(start)); ! 10: c1 = -re(start)*re(start) - im(start)*im(start) ! 11: + re(end)*re(end) + im(end)*im(end); ! 12: a2 = 2*(re(end)-re(midway)); ! 13: b2 = 2*(im(end)-im(midway)); ! 14: c2 = -re(midway)*re(midway) - im(midway)*im(midway) ! 15: + re(end)*re(end) + im(end)*im(end); ! 16: a1*re(center) + b1*im(center) = c1; ! 17: a2*re(center) + b2*im(center) = c2; ! 18: startang = atan2 (start - center); ! 19: midang = atan2 (midway - center); ! 20: endang = atan2 (end - center); ! 21: radius = abs (start - center); ! 22: radius = abs (midway - center); ! 23: radius = abs (end - center); ! 24: start = center + abs(radius)*cis(startang); ! 25: end = center + abs(radius)*cis(endang); ! 26: midway = center + abs(radius)*cis(midang); ! 27: midway ~ start; ! 28: } ! 29: .IE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.