human
Midpoint ellipse drawing algorithm | Python3 program for implementing Mid - Point Ellipse Drawing Algorithm.
Initial decision parameter of region 1.
For region 1.
Print points based on 4 - way symmetry.
Checking and updating value of decision parameter based on algorithm.
Decision parameter of region 2.
Plotting points of region 2.
printing points based on 4 - way symmetry.
Checking and updating parameter value based on algorithm.
To draw a ellipse of major and minor radius 15 , 10 centred at ( 50 , 50 )"
How can the above be solved in Python?
assistant
#Here is code to midpoint ellipse drawing algorithm and the other steps required.
 def midptellipse ( rx , ry , xc , yc ) :
	x = 0 ;
	y = ry ;
	d1 = ( ( ry * ry ) - ( rx * rx * ry ) + ( 0.25 * rx * rx ) ) ;
	dx = 2 * ry * ry * x ;
	dy = 2 * rx * rx * y ;
	while ( dx < dy ) :
		print ( " ( " , x + xc , " , " , y + yc , " ) " ) ;
		print ( " ( " , - x + xc , " , " , y + yc , " ) " ) ;
		print ( " ( " , x + xc , " , " , - y + yc , " ) " ) ;
		print ( " ( " , - x + xc , " , " , - y + yc , " ) " ) ;
		if ( d1 < 0 ) :
			x += 1 ;
			dx = dx + ( 2 * ry * ry ) ;
			d1 = d1 + dx + ( ry * ry ) ;
		else :
			x += 1 ;
			y -= 1 ;
			dx = dx + ( 2 * ry * ry ) ;
			dy = dy - ( 2 * rx * rx ) ;
			d1 = d1 + dx - dy + ( ry * ry ) ;
	d2 = ( ( ( ry * ry ) * ( ( x + 0.5 ) * ( x + 0.5 ) ) ) + ( ( rx * rx ) * ( ( y - 1 ) * ( y - 1 ) ) ) - ( rx * rx * ry * ry ) ) ;
	while ( y >= 0 ) :
		print ( " ( " , x + xc , " , " , y + yc , " ) " ) ;
		print ( " ( " , - x + xc , " , " , y + yc , " ) " ) ;
		print ( " ( " , x + xc , " , " , - y + yc , " ) " ) ;
		print ( " ( " , - x + xc , " , " , - y + yc , " ) " ) ;
		if ( d2 > 0 ) :
			y -= 1 ;
			dy = dy - ( 2 * rx * rx ) ;
			d2 = d2 + ( rx * rx ) - dy ;
		else :
			y -= 1 ;
			x += 1 ;
			dx = dx + ( 2 * ry * ry ) ;
			dy = dy - ( 2 * rx * rx ) ;
			d2 = d2 + dx - dy + ( rx * rx ) ;
midptellipse ( 10 , 15 , 50 , 50 ) ;