Ich habe einen Kreis und partitionieren Sie diesen Kreis in 3 Sektor (120 Winkel jeweils). Im Kreisbereich gibt es einige bekannte Punkte (Koordinaten des Punktes sind bekannt) .Ich möchte wissen, welcher Punkt zu welchem Sektor gehört. Als Output möchte ich den Punkt eines einzelnen Sektors erhalten.Identifizieren Sie die Punkte der verschiedenen Sektor des Kreises mit MATLAB
Ich zeichne den Kreis, teile in Sektor und zeichne einige Punkte. Aber ich konnte nicht feststellen, welcher Punkt zu welchem Sektor gehört. Wie kann ich das bekommen? Wenn jemand Quellcode für diesen Prozess mit MATLAB hat, hilft es mir sehr.
Hier habe ich meine Quellcode
x0 = 2; % origin x-coordinate
y0 = 1; % origin y-coordinate
r = 1; % radius of circle
n = 3; % number of pieces
% predefined points -> [x1,x2,xn;y1,y2,yn]
p = [ 1.5, 2.0, 1.50, 2.4, 1.8, 1.5, 1.7, 2.0, 1.8, 2.5, 2.7, 2.0, 1.3, 1.2, 1.4, 2.2, 1.7, 1.2;
0.2, 0.8, 1.20, 1.0, 1.3, 0.8, 1.1, 1.4, 0.7, 0.6, 0.5, 0.4, 1.1, 1.3, 1.5, 1.8, 1.5, 1.1];
% calculate circle
theta = -pi:0.01:pi;
cirx = r*cos(theta) + x0;
ciry = r*sin(theta) + y0;
% initial plot
figure;
hold on;
axis square;
plot(x0,y0,'or'); % origin
plot(cirx,ciry); % circle
plot(p(1,:),p(2,:),'go'); % predefined points
% calculate and plot separations
ciro = linspace(-pi,pi,n+1);
for k = 1:(numel(ciro))
ph(k) = plot([x0,x0+r*cos(ciro(k))],[y0,y0+r*sin(ciro(k))]);
end
Vielen Dank ... es ist genau das gleiche, das ich will. – Tina
@ Suever, ich habe eine Frage. Wenn ich den Punkt nummerieren möchte. Stellen Sie 1,2, ... 18 vor und wollen Sie als Ausgabesektor 1 = {Punkt 1,2,6,9,12} und Sektor 2 = {Punkt 4,10,11 } und Sektor 3 = {Punkt 3,5, ...}. Welchen Teil des Codes muss ich ändern? Eigentlich möchte ich die Ausgabe so anzeigen. – Tina
@Tina Ich habe meinen Beitrag mit einem Beispiel aktualisiert, wie man das am unteren Rand macht – Suever