def podzial_odcinka(): a = 100.0 b = (a ** 2 + (a / 2) ** 2) ** 0.5 c = b - a / 2 p = PS() p.translate(200, 200) p.newpath() p.moveto(0, 0) p.rline(a, 0) p.colour(1, 0, 0) p.stroke() p.newpath() p.moveto(a, 0) p.rline(c, 0) p.colour(0, 1, 0) p.stroke() p.newpath() p.moveto(0, 0) p.rline(0, a) p.rline(a, 0) p.rline(0, -a) p.moveto(a / 2, 0) p.rline(0, a) p.colour(0, 0, 0) p.stroke() p.newpath() p.moveto(a / 2, 0) p.line(a, a) p.dash() p.colour(0, 0, 0) p.stroke() p.newpath() a2 = math.degrees(math.atan(a / (a / 2))) p.arc(a / 2, 0, b, 0, a2) p.stroke() p.setfont() p.newpath() p.moveto(-5, -10) p.text("A") p.moveto(a / 2 - 5, -10) p.text("B") p.moveto(a - 5, -10) p.text("C") p.moveto(a + c - 5, -10) p.text("D") p.moveto(a - 5, a + 5) p.text("E") print p.gen() odcinek = open("odcinek.ps", "w") odcinek.write(p.gen()) odcinek.close()
print tmp w.append((float(tmp[0].strip()), float(tmp[1].strip()))) suma = 0 for i in range(n - 1): suma += pole(w[0], w[i], w[i + 1]) suma /= 2.0 print suma p = PS() p.setfont() p.translate(200, 200) p.newpath() p.moveto(*w[0]) for i in w: print i p.line(*i) p.line(*w[0]) p.stroke() p.moveto(0,-50) p.text("Pole = %f" % suma) for i in w[1:-1]: p.newpath() p.moveto(*w[0]) p.dash() p.line(*i) p.stroke() with open("trig.ps", "w") as pole: pole.write(p.gen())