-2
我想沿着六角形軌跡移動星形標記,類似於我在問題末尾添加的「圓形軌跡」。謝謝。沿六角形軌跡移動星形標記?
這是源代碼,我寫了又創造同心hegzagons,但我不知道如何移動星標記橫穿同心六邊形,我寫了一個類似的模擬代碼爲圓形軌道,但我無法做到六角形。
%clc; % Clear the command window.
%close all; % Close all figures (except those of imtool.)
%clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
angles = linspace(0, 360, 7);
radii = [20, 35, 50,70];
% First create and draw the hexagons.
numberOfHexagons = 4;
% Define x and y arrays. Each row is one hexagon.
% Columns are the vertices.
x1=radii(1) * cosd(angles)+50;
y1 = radii(1) * sind(angles)+50;
x2=radii(2) * cosd(angles)+50;
y2 = radii(2) * sind(angles)+50;
x3=radii(3) * cosd(angles)+50;
y3 = radii(3) * sind(angles)+50;
x4=radii(4) * cosd(angles)+50;
y4 = radii(4) * sind(angles)+50;
plot(x1 , y1, 'b');
hold on
plot(x2, y2, 'b');
hold on
plot(x3, y3, 'b');
hold on
plot(x4, y4, 'b');
hold on
% Connecting Line:
plot([70 100], [50 50],'color','b')
axis([0 100 0 100])
hold on
圓軌跡:
% Initialization steps.
format long g;
format compact;
fontSize = 20;
r1 = 50;
r2 = 35;
r3= 20;
xc = 50;
yc = 50;
% Since arclength = radius * (angle in radians),
% (angle in radians) = arclength/radius = 5/radius.
deltaAngle1 = 5/r1;
deltaAngle2 = 5/r2;
deltaAngle3 = 5/r3;
theta1 = 0 : deltaAngle1 : (2 * pi);
theta2 = 0 : deltaAngle2 : (2 * pi);
theta3 = 0 : deltaAngle3 : (2 * pi);
x1 = r1*cos(theta1) + xc;
y1 = r1*sin(theta1) + yc;
x2 = r2*cos(theta2) + xc;
y2 = r2*sin(theta2) + yc;
x3 = r3*cos(theta3) + xc;
y3 = r3*sin(theta3) + yc;
plot(x1,y1,'color',[1 0.5 0])
hold on
plot(x2,y2,'color',[1 0.5 0])
hold on
plot(x3,y3,'color',[1 0.5 0])
hold on
% Connecting Line:
plot([70 100], [50 50],'color',[1 0.5 0])
% Set up figure properties:
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0, 0, 1, 1]);
drawnow;
axis square;
for i = 1 : length(theta1)
plot(x1(i),y1(i),'r*')
pause(0.1)
end
for i = 1 : length(theta2)
plot(x2(i),y2(i),'r*')
pause(0.1)
end
for i = 1 : length(theta3)
plot(x3(i),y3(i),'r*')
pause(0.1)
end
什麼是你的問題? – excaza
[爲什麼「有人可以幫助我?」不是一個真正的問題?](http://meta.stackoverflow.com/q/284236)此外,傾銷你的代碼的A部分,並要求我們寫沒有你顯示B部分對B部分的任何努力或研究在這裏都不是很好理解。 – Adriaan
感謝您的評論,但我真的試圖自己做,但不幸的是我不能,我沒有選擇,只能在這裏問我的問題,而且我沒有讓A部分要求你寫B部分,如果你仔細閱讀我的問題,你會知道我已經寫了B部分來繪製圓形軌跡,其中紅色星形標記遍歷同心圓,現在我想編寫代碼來創建六邊形軌跡的類似情況,但是我有寫它的問題代碼,我寫了只能創建同心六邊形的代碼。 – zein