Hello, I'm a new guy to this group, my professor recommend this group
to me, because I was boring him with questions.I'm new to python, and
I have problem plotting Quadratic Functions. Using module pygame.
Here is the code:

#!/usr/bin/env python
import pygame
def main():
        import sys
        import math
        from math import sqrt
        #Input equation coefficients
        screen=pygame.display.set_mode((400,400))
        pygame.display.set_caption( ' Ploting ' )
        screen.fill((255,255,255))
        pen=((0,0,255))
        dark=(0,0,0)
        ox=200
        oy=200
        a= int(raw_input('Input coefficient a ' ))
        b= int(raw_input('Input coefficient b ' ))
        c= int(raw_input('Input coefficient c ' ))
        pygame.draw.aaline(screen,((255,0,0)),((200,0)) ,((200,400)))
        pygame.draw.aaline(screen,((255,0,0)),((0,200)), ((400,200)))
        if a==0:
                if b==0:
                        print 'No solutions'
                else:
                        x= -c/b
                        print x
        else:
                d=b*b-4*a*c
                if d<0:
                        num=complex(-b/(2*a),sqrt(-d)/(2*a))
                        print num
                else:
                        x1=(-b+sqrt(d))/(2*a)
                        x2=(-b-sqrt(d))/(2*a)
                        print 'x1= ' ,x1
                        print 'x2= ' ,x2
                        while 1:
                                for event in pygame.event.get():
                                        if event ==pygame.QUIT:
                                                print ' Quitting'
                                                pygame.quit()
                                                sys.exit(1)

                                x=-50;
                                while x<=50:
                                        y=(a*(x**2) + b*x + c) *(-1)
                                        screen.set_at(((x+ox),(y+oy)),dark)
                                        pygame.display.flip()
                                        x=x+1;

        return 0

if __name__ == '__main__': main()

For now I'm plotting function only when Determinant >0. Or in other
words, when equation has two solutions,
x1,x2 e R... Now if you start my program you will see where problem
is. It's with function, It so bad drawn.
When I try to increment x in loop by 0.1 for every pass, I get
problems because method set_at() Which sets pixel requires integer...

Also I see I have problems with event handling here:
while 1:
                                for event in pygame.event.get():
                                        if event ==pygame.QUIT:
                                                print ' Quitting'
                                                pygame.quit()
                                                sys.exit(1)

When I click X, or exit on windows it doesn't exit.
What do you suggest I do...?
I don't have in this year Computer Graphics on my faculty. So this are
my first steps in this area of CS.

Regards,
S.I
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to