I need to generate a triangle that will be able to be user controlled with input length of base in pixels and both base angles in degrees.
subplot(2,4,3);
sides = 3;
t = (1/(2*sides):1/(sides):1)*2*pi-pi/3;
x_size=100;
x = x_size*sin(t);
y = x_size*cos(t);
fill(x,y,'black');
axis square;
this is the code I used.

 채택된 답변

Image Analyst
Image Analyst 2015년 5월 10일
See this snippet. Adapt as you see fit:
% Ask user for two floating point numbers.
defaultValue = {'45.67', '18.91'};
titleBar = 'Enter a value';
userPrompt = {'Enter Angle 1 : ', 'Enter Angle 2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
% Convert to floating point from string.
usersValue1 = str2double(caUserInput{1})
usersValue2 = str2double(caUserInput{2})
% Check for a valid number.
if isnan(usersValue1)
% They didn't enter a number.
% They clicked Cancel, or entered a character, symbols, or something else not allowed.
% Convert the default from a string and stick that into usersValue1.
usersValue1 = str2double(defaultValue{1});
message = sprintf('I said it had to be a number.\nI will use %.2f and continue.', usersValue1);
uiwait(warndlg(message));
end

추가 답변 (1개)

Image Analyst
Image Analyst 2015년 5월 10일

0 개 추천

Why don't you have a user interface where you let the user control the width with a slider? See this framework. http://www.mathworks.com/matlabcentral/fileexchange/24224-magic-matlab-generic-imaging-component Put your code in the slider callback. First get the slider value, then use it in the rest of your code that draws the triangle.

댓글 수: 1

Since the representation doesn't require that.I just need a code that can be user controlled to input base and two base angles to generate the triangle thats it

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기

제품

질문:

2015년 5월 10일

댓글:

2015년 5월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by