clear;clf;cla reset;                                 % 초기화
X=[0 1 1 0];                                          % 개미 각각의 초기 X 좌표
Y=[0 0 1 1];                                          % Y 좌표
Z=[0 1 0 1];                                          % Z 좌표
r=[X;Y;Z];                                            % 개미들의 위치
v=0.01;                                                 % 속도
track=r;                                                % 개미의 위치 변화
tmax=400;                                            % 최대 시간
color=char('or','hb','+','d');                   % 표시 형식

hold on
for t=2:tmax
    direction=r(:,[2 3 4 1])-r(:,[1 2 3 4]);   % 방향 벡터
    udir=direction/norm(direction(:,1));     % 단위 벡터
    r=r+v*udir;                                        % 위치 계산
    if norm(r(:,1)-[0.5;0.5;0.5]) < 0.01       % 중앙 위치에 가까워지면 종료.
        break;
    end
    track(:,:,t)=r;                                     % 좌표를 track에 저장
end

for m=1:4                                              %SQUEEZE Remove singleton dimensions
    x(:,m)=squeeze(track(1,m,:));y(:,m)=squeeze(track(2,m,:));z(:,m)=squeeze(track(3,m,:));
end

plot3(x,y,z)                                           % 입체로 그래프 그림

for m=1:4                                               % 개미를 좌표에 표시
    p(m)=plot3(x(1,m),y(1,m),z(1,m),color(m));
end

view(3)                                                 % 입체로 보기
grid on;                                                 % 눈금선 표시

for t=1:length(x(:,1))                                % 개미의 이동을 애니메이션 처럼 표시
    for m=1:4
        set(p(m),'XData',x(t,m),'YData',y(t,m),'ZData',z(t,m))
    end
    drawnow
end
hold off 
사용자 삽입 이미지
크리에이티브 커먼즈 라이센스
Creative Commons License

"Matlab" 카테고리의 다른 글

Posted by downright

2008/07/01 23:07 2008/07/01 23:07

Leave a comment
[로그인][오픈아이디란?]
행동하라!
사용자 삽입 이미지


무엇인가를 행하라!

하찮은 것이라도 상관없다.

죽음이 찾아오기 전에 당신의 생명을 의미있는 뭔가로 만들라.

당신은 쓸데없이 태어난 것이 아니다.

당신이 무엇을 위하여 태어났는지를 발견하라.

당신은 우연히 태어난 것이 아니다.

명심하라.

- "개미 2" 中 / 베르나르 베르베르 -

p.s. 내가 책을 읽어본 것은 아니고 메일로 온 글 중에 포함된 내용이다.
정기적으로 오는 메일인데, 내용을 읽다보면 좋은 말들이 많아서 올려본 것이다.^^
당신도 본명 무엇을 위해 태어났을 것이다. 그것을 발견하고, 그것을 위해 행동해야 한다!
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by downright

2008/04/02 22:51 2008/04/02 22:51

Leave a comment
[로그인][오픈아이디란?]

% 앞의 개미의 방향을 따라 일정한 속력으로 이동하는 개미의 궤적

X=[0 0 1 1];                                 % X 좌표
Y=[0 1 1 0];                                 % Y 좌표
r=[X;Y];
v=0.0005;                                    % 개미의 이동 속도
track=r;                                     % 초기 위치 좌표
tmax=10000;                                  % 최종 시간
color=char('or','hb','+','d');               % 4마리 개미 표시 설정

for t=2:tmax
    direction=r(:,[2 3 4 1])-r(:,[1 2 3 4]); % 앞의 개미에서 자신의 위치를 계산한 방향
    udir=direction/norm(direction(:,1));     % 방향 단위 벡터
    r=r+v*udir;                              % 속도에 방향을 곱하여 위치 계산
    if norm(r(:,1)-[0.5;0.5]) < 0.01         % 개미가 중앙에 오면 break 명령
        break;
    end
    track(:,:,t)=r;                          % 개미 4마리의 위치를 track에 저장
end

t=1;                                         % 값 초기화
x=[];y=[];
for m=1:4                                    % 각 개미의 x,y 좌표를 track으로 부터 계산
    x(:,m)=squeeze(track(1,m,:));
    y(:,m)=squeeze(track(2,m,:));
end

clf                                          % 기존 이미지를 지우고 재설정
cla reset;
hold on                                      % 이미지 유지 on
plot(x,y)                                    % 개미의 궤적을 그림
for m=1:4                                    % 개미 4마리를 초기 위치에 표시
    p(m)=plot(x(1,m),y(1,m),color(m),'EraseMode','xor');
end

for t=1:length(x(:,1))                       % 시간의 변화에 따라 set을 이용하여 개미 위치 변화
    for m=1:4
        set(p(m),'XData',x(t,m),'YData',y(t,m))
    end
    drawnow
end

axis([0 1 0 1])                              % x, y 축 설정
hold off

사용자 삽입 이미지

크리에이티브 커먼즈 라이센스
Creative Commons License

"Matlab" 카테고리의 다른 글

Posted by downright

2008/01/31 22:26 2008/01/31 22:26

Leave a comment
[로그인][오픈아이디란?]

세상은 원래 불공평하다

사용자 삽입 이미지
 
빌 게이츠의 말 중에 이런 말이 있다.

"인생이란 원래 공평하지 못하다.
그런 현실에 대하여 불평할 생각하지 말고 받아들여라."

온 세상 사람들이 다 공평한 것은 원래부터 불가능한 것 같다.
한 사람이 A를 가지고 있고, 또 다른 사람은 B를 가지고 있고,
둘은 서로 다른 것을 가진 것이다.
(다 없는 사람이 있을 수도 있지만...)

나도 내가 가진 게 있고, 못 가진 것들도 있다.
물론 가진 것보다는 못 가진 것들이 많다.
그런데 못 가진 것들이 있기 때문에, 세상사는 목적이 생기고
그것 때문에 일도 하고, 열심히 살게 되는 것 같다.

사람 욕심이라는게 내가 가진 것만 생각하고
다른 사람들 못 가진 것은 생각하려 하지 않는다.
항상 위를 쳐다보고, 왜 아래를 보려 하지 않는지...

나부터 반성하고 지금의 행복을 감사히 여겨야 할 것이다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by downright

2007/10/19 17:04 2007/10/19 17:04

Leave a comment
[로그인][오픈아이디란?]

덤보를 들어 올린 윌리

사용자 삽입 이미지
전역 후 집에서 읽지않은 책들을
보던 중에, 새 책이 눈에 들어왔다.

부대안에 가지고 가려고 했다가
무거워서 들고가지 않았던 책이다.

전에는 책이 잘 읽어졌던 것 같은데, 이상하게 책 조금 보고 컴퓨터만 하게 된다.
중간 중간 딴짓을 많이하고, 나눠서 읽어서 책을 제대로 읽지 못했지만...끝을 보긴 봤다.

이 책에는 일단 주인공이라고 할 수 있는 덤보(코끼리), 윌리(개미)가 나오고 안내자 역할을 하는 브리오(부엉이)가 나온다.
전체적인 내용은 윌리를 중심으로 흘러간다.

윌리가 덤보와 함께 꿈을 키우고, 브리오가 도움을 주면서, 둘은 오아시스를 향해 가는 중에 새로운 것들을 배우고, 변화하는 내용이다.

이 책의 저자는 인간의 뇌를 크게 두 측면으로 나누어서,
비평적, 분석적인 일을 하는 부분과 본능적, 충동적인 부분으로 보고 있다.
여기서 전자를 개미에 비유하고, 후자를 코끼리에 비유하고 있다.

위에서 나눈 것 처럼 실제 하려고 하는 계획들과 반하여 행동하는 부분이 있는 것 같다.
(아마도 개미보다 코끼리가 고집이 쎄서 그런 것 같다.^^;)

그리고 지금의 삶에 만족하지는 못하면서 무언가 하려고 시도하지 않는 점들
정말 반성해야 할 부분인 것 같다.

사용자 삽입 이미지

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by downright

2007/06/26 16:50 2007/06/26 16:50

Leave a comment
[로그인][오픈아이디란?]