Ich versuche gerade, eine alte Anwendung zu reparieren: Ich habe eine Funktion, die ein Paar von Winkeln nimmt und zeichnet eine 3D-Scheibe eines explodierten Tortendiagramms. Ich habe auch Funktionen, die eine Sammlung von Zahlen nehmen, erzeugen die Winkel und rufen die Scheibe Zeichnung Funktion wiederholt, bis die gesamte Torte gezeichnet wird.
Wiederholte Aufrufe der Funktion zum Zeichnen von Slices überlagern die bereits vorhandenen Slices und die Reihenfolge ist nie ganz richtig. Meine Frage ist, wie kann ich garantieren, dass die Stücke am nächsten an den Betrachter zuletzt gezeichnet werden, so dass die Stücke richtig überlappen?
function drawSlice(startAngle, endAngle)
// draws a slice as shown in picture
function drawPie(list of angles to make up pie)
for each angle in angles
drawSlice(angle)
// example usage
drawPie([30,15,40,10,5])
Eine Scheibe sieht so aus: Alt-Text http://img233.imageshack.us/img233/2627/slice.png