Ellipseselect

版本 1.0.0.0 (4.4 KB) 作者: Rajiv Narayan
An interactive ellipse selection tool
1.8K 次下载
更新时间 2006/10/9

查看许可证

ELLIPSESELECT An interactive ellipse selection tool

HE = ELLIPSESELECT('init', A, B, X0, Y0, PHI, STYLE)
Creates the ellipse and initialzes callbacks. Returns the handle of the ellipse HE.
Ellipse parameters:
A Length of the semi-major axis
B Length of the semi-minor axis
X0 Abscissa of the center of the ellipse
Y0 Ordinate of the center of the ellipse
PHI Angle (in radians) between x-axis and the major axis
STYLE Definition of the plotted line style
Usage:
Once created, the ellipse shape can the adjusted interactively using the mouse.
The center can be moved by dragging the 'x' at the center of the ellipse. The lengths of the axes can be adjusted by dragging on the red and black control points on the ellipse. The ellipse can be rotated through an arbitrary angle by left clicking and dragging on the ellipse boundary.
The ellipse parameters are saved in the ellipse handle's userdata roperty and can be obtained using:
PARAMS = ELLIPSESELECT('params', HE), where PARAMS is a structure with the ellipse parameters.
The ellipse can be deleted by right clicking on the ellipse boundary and selecting 'delete' from the context-menu. Alternatively, the ellipse can be deleted programmatically by using the following call to ELLIPSESELECT.
STATUS = ELLIPSESELECT('deletehandle',HE)
STATUS returns 0 if the delete operation was successful, -1 otherwise.

Example:
%generate some data
x=randn(500,2).*repmat([0.1,0.05],500,1);
phi=pi/4; rotmat = [cos(phi),sin(phi);-sin(phi),cos(phi)];
y=rotmat*x';
scatter(y(1,:),y(2,:),'c.'); hold on
axis([-1,1,-1,1])
%create an ellipse
he = ellipseselect('init',1,1,0,0,pi/4,'r-.');
% modify ellipse line style
set(he,'LineWidth',2);
% get current ellipse parameters
params = ellipseselect('params',he);
% delete the ellipse
status = ellipseselect('deletehandle',he);

引用格式

Rajiv Narayan (2024). Ellipseselect (https://www.mathworks.com/matlabcentral/fileexchange/12569-ellipseselect), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R13SP1
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Visual Exploration 的更多信息
致谢

参考作品: EllipseDraw1.0

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0