Interactive creation of an ellipse.
draw_ellipse returns the parameter for any orientated ellipse, which has been created interactively by the user in the current window.
The created ellipse is described by its center, its two half axes and the angle between the first half axis and the horizontal coordinate axis.
To create an ellipse you have to determine the center of the ellipse with the left mouse button. Keeping the button pressed determines the length (Radius1) and the orientation (Phi) of the first half axis. In doing so a temporary default length for the second half axis is assumed, which may be modified afterwards on demand. After another mouse click in the center of the created ellipse you may move it at will. A mouse click close to a vertex "grips" it to modify the length of the appropriate half axis. You may modify the orientation only, if a vertex of the first half axis is gripped.
Pressing the right mouse button terminates the procedure. After terminating the procedure the ellipse is not visible in the window any longer.
Row (output_control) |
ellipse.center.y -> integer |
Row index of the center. |
Column (output_control) |
ellipse.center.x -> integer |
Column index of the center. |
Phi (output_control) |
ellipse.angle.rad -> real |
Orientation of the first half axis in radians. |
Radius1 (output_control) |
ellipse.radius1 -> integer |
First half axis. |
Radius2 (output_control) |
ellipse.radius2 -> integer |
Second half axis. |
read_image(:Image:'affe':) > draw_ellipse(:::Row,Column,Phi,Radius1,Radius2) > ellipse(:Ellipse:Row,Column,Phi,Radius1,Radius2:) > reduce_domain(Image,Ellipse:GreyEllipse::) > sobel_amp(GreyEllipse:Sobel:'sum_abs',3:) > disp_image(Sobel:::).
draw_ellipse returns TRUE, if a window is activated and if the needed drawing mode (see set_insert) is available. If necessary an exception is raised.
reduce_domain, disp_region, set_colored, set_line_width, set_draw, set_insert
ellipse, draw_rectangle1, draw_rectangle2, draw_polygon, set_insert