need help with pointer movement on grid
이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
이전 댓글 표시
0 개 추천
I have a grid,say 150*150m with each cell 0.5*0.5m making it a grid of 300*300 cells. I want to move pointer in a random arc path such that the pointer covers each cell (cell should be covered completely) in time steps( if that can be included as well) along its path. The pointer dimensions 1*1m (i.e. spanning 2*2cells in either direction). i need help with coding it.
댓글 수: 1
When moving from one location to another, what are the allowed changes in position? For example is it only permitted to move left, right, up, down, by one unit? Or is it permitted to move diagonally by one? Is it permitted to move more than one cell at a time? Is it permitted to move back to where it was immediately previously? Is it permitted to move back to somewhere it has been before? Is each location to be visited exactly once, so the 300*300 grid would be completely covered in exactly 90000 steps?
채택된 답변
KSSV
2016년 12월 1일
clc; clear all ;
% N = 300 ; M = 150 ;
N = 100 ; M = 50 ;
[X1,Y1] = MeshRectanglularPlate(150,150,N,N) ;
[X2,Y2] = MeshRectanglularPlate(150,150,M,M) ;
nel = size(X2,2) ;
Ele = 1:nel ;
for i = 1:nel
% pick one element randomly
ele = randsample(Ele,1) ;
patch(X1,Y1,'w') ;
hold on
patch(X2(:,ele),Y2(:,ele),'r')
hold off
% remove the elemnet picked
Ele = setdiff(Ele,ele) ;
pause(0.5)
end
download the function MeshRectanglularPlate from the link: http://in.mathworks.com/matlabcentral/fileexchange/33731-meshing-a-plate-using-four-noded-elements/content/Plate%20Mesh/MeshRectanglularPlate.m
댓글 수: 17
h b
2016년 12월 1일
showing 'Error using patch. vectors must be the same length'
KSSV
2016년 12월 1일
which line? It worked fine for me.....did you use the function?
h b
2016년 12월 1일
편집: Walter Roberson
2016년 12월 1일
two diff grids are displayed but no pointer is being shown
Are you taking a fine grid? Try to use a coarse one....like I have used 100 and 50. I get something like the image shown for one step.

h b
2016년 12월 1일
error being showed in line- patch(X1,Y1,'w');
KSSV
2016년 12월 1일
what error? what version you are using?
h b
2016년 12월 1일
MATLAB Version: 9.1.0.441655 (R2016b)
KSSV
2016년 12월 1일
YOu have not specified what error it is..you may also try fill instead patch
h b
2016년 12월 1일
same is being displayed with fill. 'Error using fill Vectors must be the same length' i will check again..
KSSV
2016년 12월 1일
What is size of X1 and Y1? Earlier you said two grids are shown and no pointer.
h b
2016년 12월 1일
편집: Walter Roberson
2016년 12월 1일
Following sizes
X1 = 10201x2 double ; Y1 = 10000x4 double X2 = 2601x2 double ; Y2 = 2500x4 double
input as per your code.
output
i am getting two figures with grid shown without any pointer as well as the error message in the line patch(X1,Y1,'w') ;
KSSV
2016년 12월 1일
There is a error....sizes of X1 and Y1 should be same...same is case with X2 and Y2. Hey, I apoologize, I made changes to the function....you use this function. ;).
h b
2016년 12월 1일
it worked. Thank you so much sir.
h b
2016년 12월 1일
Here, is it possible for the pointer to move in a path(straight/arc) cell-by-cell?
KSSV
2016년 12월 1일
In the present code, pointer moves randomly..if you want in a path, you have to specify the path first and then follow the path.
h b
2016년 12월 6일
1. i am unable to move pointer(having dimension 2cells*1cell) cell by cell in a straight path.
2. is it posible to keep certain column of cells in the grid as rotated matching the path shape. eg. in an arc path, square cells rotated to match the shape. Thanks in advance
h b
2017년 1월 13일
i have an issue to formulate logic. how to move pointer in any straight line(column or row) cell by cell. please help
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
참고 항목
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
