How to draw an arrow or triangle

32 次查看(过去 30 天)
Brett
Brett 2012-11-14
Hello Matlab community, I am trying to draw an arrow. I am using Psychtoolbox and there doesn't seem to be a specific command for arrows or triangles. I know how to draw a line:
line = [X-3,Y-40,X+3,Y+40];
Screen('FillRect',window,[200,200,200], line');
So if someone knows the code to draw a triangle I can merge it with the code for a line to draw an arrow. Any help would be greatly appreciated.
Thanks, Brett

回答(3 个)

Sanjay Manohar
Sanjay Manohar 2017-2-14
This is not a MATLAB question. But for completeness, the answer should be
% create a triangle
head = [ 100, 100 ]; % coordinates of head
width = 10; % width of arrow head
points = [ head-[width,0] % left corner
head+[width,0] % right corner
head+[0,width] ]; % vertex
Screen('FillPoly', window,[200,200,200], points);

Image Analyst
Image Analyst 2012-11-14
Are you aware of the annotation() function?
annotation('line',x,y)
annotation('arrow',x,y)
annotation('doublearrow',x,y)
annotation('textarrow',x,y)
annotation('textbox',[x y w h])
annotation('ellipse',[x y w h])
annotation('rectangle',[x y w h])
annotation(figure_handle,...)
  4 个评论
sina farahi
sina farahi 2014-4-9
annotation('arrow',x,y) doesn't work
Image Analyst
Image Analyst 2014-4-9
编辑:Image Analyst 2014-4-9
At all? Or just with some figure created by the Psychtoolbox (which is not a Mathworks product and I don't have)? Does this draw an arrow for you:
plot(1:10, 'LineWidth', 2);
grid on;
annotation('arrow', [.21, .5], [.85, .5], 'LineWidth', 2);

请先登录,再进行评论。


sina farahi
sina farahi 2014-4-9
usage: Arrow(dot,vector); note: This function draw an arrow (head lines have pi/6 angle and the length of l/5) example: Arrow([10;11;12],[0.2;20;25]);

类别

Help CenterFile Exchange 中查找有关 Timing and presenting 2D and 3D stimuli 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by