Wenn Ihr Polygon konvex ist, können Sie die konvexe Hülle aus den Scheitelpunkten einfach mit der Funktion CONVHULL und zeichnen Sie das Polygon mit der Zeichenfunktion PATCH . Zum Beispiel:
%Vor%Wenn Ihr Polygon stattdessen konkav ist, wird das schwieriger. Sie müssten die Kantenlinien selbst neu anordnen, indem Sie ihre Endpunkte vergleichen und sie entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn anordnen.
... aber wenn das nach zu viel Arbeit zum Programmieren klingt, können Sie das Problem umgehen, indem Sie ein eingeschränkte Delaunay - Triangulation der Eckpunkte finden die Dreiecke auf der Innenseite der Constrained Edges , und plotten Sie diese einzelnen Dreiecke, die das Polygon bilden, mit PATCH . Zum Beispiel:
%Vor%Oben wird das Polygon mit Kantenlinien um jedes Unterdreieck angezeigt, das es bildet. Wenn Sie nur eine Kantenlinie um das gesamte Polygon herum sehen möchten, können Sie Folgendes hinzufügen:
%Vor% Ich glaube, Sie suchen nach der Funktion patch()
. Sie können damit 2-D- und 3-D-Polygone erstellen.