<texit info> author=Roman Putanowicz title=Rozwi�zanie �wiczenia 2.1.1 </texit> back Rozwiązanie ćwiczenia 2.1.1 W tym ćwiczeniu można by zamiast funkcji line zastosować funkcję patch do narysowania wypełnionego prostokąta. Niestety w Octave (wersja 3.2), dla której testowałem rozwiazanie, jest błąd i nie działa funkcja set z argumentami xdata i ydata. <sxh c> function rotfigure(h, angle) c = cos(angle); s = sin(angle); X = get(h,'xdata'); Y = get(h,'ydata'); Xp = c*X - s*Y; Yp = s*X + c*Y; set(h,'xdata',Xp); set(h,'ydata',Yp); end%function rectangle = [1,4,4,1,1; 1,1,3,3,1]; axis([-5,5,-5,5], 'equal'); h = line(rectangle(1,:), rectangle(2,:)) N = 36; dfi = 2*pi/N; for i=1:N rotfigure(h, dfi); drawnow(); sleep(0.5); name=sprintf('rotshape%03d.png',i); disp(name); end%for pause() </sxh> <texit> \begin{lstlisting} function rotfigure(h, angle) c = cos(angle); s = sin(angle); X = get(h,'xdata'); Y = get(h,'ydata'); Xp = c*X - s*Y; Yp = s*X + c*Y; set(h,'xdata',Xp); set(h,'ydata',Yp); end%function rectangle = [1,4,4,1,1; 1,1,3,3,1]; axis([-5,5,-5,5], 'equal'); h = line(rectangle(1,:), rectangle(2,:)) N = 36; dfi = 2*pi/N; for i=1:N rotfigure(h, dfi); drawnow(); sleep(0.5); name=sprintf('rotshape%03d.png',i); disp(name); end%for pause() \end{lstlisting} </texit> pl/teaching/subjects/math2/labs/sol_2_1_1.txt Last modified: 2017/10/02 15:37(external edit)