% graph.m
% 
% 解析終了後にグラフを描画するスクリプトファイル
% 
% Copyright (C) 2007 清水 信行, 曽我部 潔, 椎葉 太一 All Rights Reserved.

% Input Point data for graph
% as PointData = [Body_Number x y]
PointData = input('Input graph data as [Body_Number x y] : ');

% グラフ用変数の宣言
GraphData.t = zeros(SimInfo.TotalStep+1,1);
GraphData.x = zeros(SimInfo.TotalStep+1,1);
GraphData.y = zeros(SimInfo.TotalStep+1,1);

time = SimInfo.TimeStart - SimInfo.dt;

for i=1:SimInfo.TotalStep+1
	
	% Time
	time = time + SimInfo.dt;
	
	GraphData.t(i) = time;
	
	GraphData.x(i) = result_q(PointData(1),1,i) ...
			+ PointData(2)*cos(result_q(PointData(1),3,i)) ...
			- PointData(3)*sin(result_q(PointData(1),3,i));
	
	GraphData.y(i) = result_q(PointData(1),2,i) ...
			+ PointData(2)*sin(result_q(PointData(1),3,i)) ...
			+ PointData(3)*cos(result_q(PointData(1),3,i));
	
end

% Figureのリセット
clf reset;
figure(1);

% 図の書式設定
set(gcf, 'Position', [100 200 400 600]);
subplot(3,1,1), plot(GraphData.x, GraphData.y), ...
	xlabel('x'), ylabel('y');
subplot(3,1,2), plot(GraphData.t, GraphData.x), ...
	xlabel('time'), ylabel('x');
subplot(3,1,3), plot(GraphData.t, GraphData.y), ...
	xlabel('time'), ylabel('y');

% =================================================================================
% プログラムの使用条件
% 1. 本プログラムおよびデータを商用で，頒布してはならない．
% 2. 本プログラムおよびデータを著作者の許可なく営利目的で利用してはならない．
% 3. 本プログラムおよびデータの改変は，営利目的でない限り自由である．
% 4. 本プログラムおよびデータを使用することにより生じた損害などについては，著者，
%    プロクラム著作者，(社)日本機械学会，および(株)コロナ社は一切の責任を負わない．
% 5. 本プログラムの著作権は，本書編著者ならびにプログラム著作者に帰す．
% =================================================================================