Tập_tin:Rotation_illustration2.svg
From Wikipedia, the free encyclopedia
![Tập tin:Rotation illustration2.svg](http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Rotation_illustration2.svg/672px-Rotation_illustration2.svg.png)
Kích thước bản xem trước PNG này của tập tin SVG: 672×600 điểm ảnh. Độ phân giải khác: 269×240 điểm ảnh | 538×480 điểm ảnh | 861×768 điểm ảnh | 1.147×1.024 điểm ảnh | 2.295×2.048 điểm ảnh | 1.005×897 điểm ảnh.
Tập tin gốc (tập tin SVG, 1.005×897 điểm ảnh trên danh nghĩa, kích thước: 12 kB)
![]() | Tập tin này từ Wikimedia Commons. Trang miêu tả nó ở đấy được sao chép dưới đây. Commons là kho lưu trữ tập tin phương tiện có giấy phép tự do. Bạn có thể tham gia. |
Miêu tả
Miêu tảRotation illustration2.svg | Illustration of Rotation (mathematics) |
Ngày | |
Nguồn gốc | self-made, with MATLAB, then tweaked with Inkscape |
Tác giả | Oleg Alexandrov |
SVG genesis InfoField |
Giấy phép
Public domainPublic domainfalsefalse |
![]() |
Tôi, người giữ bản quyền của tác phẩm này, chuyển tác phẩm này vào phạm vi công cộng. Điều này có giá trị trên toàn thế giới. Tại một quốc gia mà luật pháp không cho phép điều này, thì: Tôi cho phép tất cả mọi người được quyền sử dụng tác phẩm này với bất cứ mục đích nào, không kèm theo bất kỳ điều kiện nào, trừ phi luật pháp yêu cầu những điều kiện đó. |
Source code (MATLAB)
function main()
% prepare the screen
figure(1); clf; hold on; axis equal; axis off;
linewidth=2; fs= 30;
N = 11;
a = -2; b = N+a-1;
blue = [0, 0, 1];
red = [1, 0, 0];
gray=[0.7, 0.7, 1.0];
white = 0.99*[1, 1, 1];
lightblue=[176, 196,222]/256;
green = [0, 200, 70]/256;
color1 = gray;
color2 = green;
XX = linspace(a, b, N); YY = XX;
[X, Y] = meshgrid(XX, YY);
factor = 4; shift = 3.6;
x=factor*[0, 0.7, 0.5 1, 0]+shift; y=factor*[0, 0, 0.5, 1 0.8];
do_plot(x, y, X, Y, linewidth, color1);
theta=1.4*pi/4; A=[cos(theta) -sin(theta); sin(theta) cos(theta)];
for i=1:N
for j=1:N
v= A*[X(i, j); Y(i, j)]; X(i, j)=v(1); Y(i, j)=v(2);
end
end
for i=1:length(x)
v= A*[x(i); y(i)]; x(i)=v(1); y(i)=v(2);
end
do_plot(x, y, X, Y, linewidth, color2);
% plot the point around which the rotation takes place
ball_radius = 0.15;
ball(0, 0, ball_radius, red);
text(0, -0.5, '{\it O}', 'color', red, 'fontsize', fs)
% plot the arrow suggesting the rotation
factor = 4;
x=factor*1.7; y=factor*2.1; r=sqrt(x^2+y^2); thetas=atan2(y, x);
thetae=0.7*theta+thetas;
Theta=thetas:0.01:thetae; X=r*cos(Theta); Y=r*sin(Theta);
plot(X, Y, 'linewidth', linewidth, 'color', red)
n=length(Theta);
arrow([X(n-2), Y(n-2)], [2*X(n)-X(n-1), 2*Y(n)-Y(n-1)], linewidth, 1, 30, linewidth, red)
% plot two invisible points, to bypass a saving bug
plot(a, 1.5*b, 'color', white);
plot(a, -0.5*b, 'color', white);
% save to eps and to svg
%saveas(gcf, 'rotation_illustration2.eps', 'psc2')
plot2svg('rotation_illustration2.svg')
function do_plot(x, y, X, Y, linewidth, color)
n=length(x);
P=5; Q=n+2*P+1; % P will denote the amount of overlap
% Make the 'periodic' sequence xp=[x(1) x(2) x(3) ... x(n) x(1) x(2) x(3) ... ]
% of length Q. Same for yp.
for i=1:Q
j=rem(i, n)+1; % rem() is the remainder of division of i by n
xp(i)=x(j);
yp(i)=y(j);
end
% do the spline interpolation
t=1:length(xp);
N=100; % how fine to make the interpolation
tt=1:(1/N):length(xp);
xx=spline(t, xp, tt);
yy=spline(t, yp, tt);
% discard the redundant pieces
start=N*(P-1)+1;
stop=N*(n+P-1)+1;
xx=xx(start:stop);
yy=yy(start:stop);
H=fill(xx, yy, color);
set(H, 'linewidth', 1, 'edgecolor', color);
[M, N]= size(X);
for i=1:N
plot([X(1, i), X(N, i)], [Y(1, i), Y(N, i)], 'linewidth', linewidth, 'color', color)
plot([X(i, 1), X(i, N)], [Y(i, 1), Y(i, N)], 'linewidth', linewidth, 'color', color)
end
% plot some balls, avoid artifacts at the corners
small_rad=0.045;
ball(X(1, 1), Y(1, 1), small_rad, color)
ball(X(1, N), Y(1, N), small_rad, color)
ball(X(N, 1), Y(N, 1), small_rad, color)
ball(X(N, N), Y(N, N), small_rad, color)
function arrow(start, stop, th, arrow_size, sharpness, arrow_type, color)
% Function arguments:
% start, stop: start and end coordinates of arrow, vectors of size 2
% th: thickness of arrow stick
% arrow_size: the size of the two sides of the angle in this picture ->
% sharpness: angle between the arrow stick and arrow side, in degrees
% arrow_type: 1 for filled arrow, otherwise the arrow will be just two segments
% color: arrow color, a vector of length three with values in [0, 1]
% convert to complex numbers
i=sqrt(-1);
start=start(1)+i*start(2); stop=stop(1)+i*stop(2);
rotate_angle=exp(i*pi*sharpness/180);
% points making up the arrow tip (besides the "stop" point)
point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start);
point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start);
if arrow_type==1 % filled arrow
% plot the stick, but not till the end, looks bad
t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop;
plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', th, 'Color', color);
% fill the arrow
H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color);
set(H, 'EdgeColor', 'none')
else % two-segment arrow
plot(real([start, stop]), imag([start, stop]), 'LineWidth', th, 'Color', color);
plot(real([point1, stop, point2]), imag([point1, stop, point2]), 'LineWidth', th, 'Color', color);
end
function ball(x, y, radius, color) % draw a ball of given uniform color
Theta=0:0.1:2*pi;
X=radius*cos(Theta)+x;
Y=radius*sin(Theta)+y;
H=fill(X, Y, color);
set(H, 'EdgeColor', color);
Chú thích
Ghi một dòng giải thích những gì có trong tập tin này
Khoản mục được tả trong tập tin này
mô tả
Giá trị nào đó không có khoản mục Wikidata
9 6 2007
image/svg+xml
Lịch sử tập tin
Nhấn vào ngày/giờ để xem nội dung tập tin tại thời điểm đó.
Ngày/giờ | Hình xem trước | Kích cỡ | Thành viên | Miêu tả | |
---|---|---|---|---|---|
hiện tại | 09:57, ngày 8 tháng 12 năm 2019 | ![]() | 1.005×897 (12 kB) | Andrew Pertsev | font «O» |
09:52, ngày 8 tháng 12 năm 2019 | ![]() | 1.005×897 (12 kB) | Andrew Pertsev | color | |
09:45, ngày 8 tháng 12 năm 2019 | ![]() | 1.005×897 (12 kB) | Andrew Pertsev | clean, add param, file size | |
10:16, ngày 6 tháng 12 năm 2019 | ![]() | 1.005×897 (19 kB) | Andrew Pertsev | crop corr | |
10:14, ngày 6 tháng 12 năm 2019 | ![]() | 980×859 (19 kB) | Andrew Pertsev | crop | |
10:08, ngày 6 tháng 12 năm 2019 | ![]() | 930×859 (19 kB) | Andrew Pertsev | download error correction | |
09:52, ngày 6 tháng 12 năm 2019 | ![]() | 930×847 (20 kB) | Andrew Pertsev | svg optimization file size, arrow corrrction | |
03:36, ngày 11 tháng 6 năm 2007 | ![]() | 875×758 (47 kB) | Oleg Alexandrov | tweak | |
05:24, ngày 10 tháng 6 năm 2007 | ![]() | 875×758 (47 kB) | Oleg Alexandrov | Tweak. | |
05:55, ngày 9 tháng 6 năm 2007 | ![]() | 875×874 (40 kB) | Oleg Alexandrov | tweak |
Trang sử dụng tập tin
Có 1 trang tại Wikipedia tiếng Việt có liên kết đến tập tin (không hiển thị trang ở các dự án khác):
Sử dụng tập tin toàn cục
Những wiki sau đang sử dụng tập tin này:
- Trang sử dụng tại ar.wikipedia.org
- Trang sử dụng tại ca.wikipedia.org
- Trang sử dụng tại ca.wikibooks.org
- Trang sử dụng tại cv.wikipedia.org
- Trang sử dụng tại da.wikipedia.org
- Trang sử dụng tại de.wikipedia.org
- Trang sử dụng tại de.wikiversity.org
- Kurs:Lineare Algebra (Osnabrück 2015-2016)/Teil I/Vorlesung 21
- Kurs:Lineare Algebra (Osnabrück 2015-2016)/Teil I/Vorlesung 21/kontrolle
- Kurs:Lineare Algebra (Osnabrück 2017-2018)/Teil I/Vorlesung 21
- Kurs:Lineare Algebra (Osnabrück 2017-2018)/Teil I/Vorlesung 21/kontrolle
- Eigentheorie/2/Einführung/Textabschnitt
- Trang sử dụng tại en.wikipedia.org
- Trang sử dụng tại eo.wikipedia.org
- Trang sử dụng tại es.wikipedia.org
- Trang sử dụng tại eu.wikipedia.org
- Trang sử dụng tại fa.wikipedia.org
- Trang sử dụng tại fi.wikipedia.org
- Trang sử dụng tại gl.wikipedia.org
- Trang sử dụng tại hu.wikipedia.org
- Trang sử dụng tại hy.wikipedia.org
- Trang sử dụng tại it.wikipedia.org
- Trang sử dụng tại ja.wikipedia.org
- Trang sử dụng tại ko.wikipedia.org
- Trang sử dụng tại pl.wiktionary.org
- Trang sử dụng tại ro.wikipedia.org
- Trang sử dụng tại ru.wikipedia.org
- Trang sử dụng tại sv.wikipedia.org
- Trang sử dụng tại ta.wikipedia.org
- Trang sử dụng tại th.wikipedia.org
- Trang sử dụng tại uk.wikipedia.org
- Trang sử dụng tại www.wikidata.org
- Trang sử dụng tại zh-yue.wikipedia.org
- Trang sử dụng tại zh.wikipedia.org
Đặc tính hình
Tập tin này chứa thông tin bổ sung, có thể được thêm từ máy ảnh kỹ thuật số hoặc máy quét được sử dụng để tạo hoặc số hóa tệp.
Nếu tập tin đã được sửa đổi so với trạng thái ban đầu, một số chi tiết có thể không phản ánh đầy đủ tập tin đã sửa đổi.
Chiều ngang | 804.2pt |
---|---|
Chiều cao | 717.3pt |