[zurück] | 2.1. Entwicklung des Plugins (Kanten) |
[vor] |
Als nächstes fügen wir die Linien (bzw. Kanten) hinzu. Der Einfachheit halber machen wir das getrennt nach Längs- und Querlinien.
// Linien setzenDie entsprechenden Punkte werden durch Linien (bzw. Kanten) miteinander verbunden. Die Nummern der Punkte müssen wir allerdings durch die Schleifenindizes ausdrücken um eine Kante zu setzten.
......SetEdge(zz,i * (Nv + 1) + j,i * (Nv + 1) + j + 1);
Wir greifen uns aus dem Gitternetz (siehe Abb. 1) zwei Punkte (P38, P39) als Beispiel heraus.
Abb. 2
Bei der Berechnung dieser Linie haben die Schleifenindizes die Werte i=5 und j=3.
Punkt |
Formel |
Resultat |
|
38 |
i*(Nv + 1) + j |
5*(6 + 1) + 3 = 38 |
|
39 |
i*(Nv + 1) + j + 1 |
5*(6 + 1) + 3 + 1 = 39 |
Zur Berechnung vom Punkt 39 müssen wir ebenfalls j=3 einsetzen da wir uns bei der Berechnung im gleichen Schleifendurchlauf für j befinden. Das Skript mit den Längslinien kann getestet werden (M_Test2.cof).
Als nächstes können wir die Querlinien hinzufügen. Da alle Linien fortlaufend numeriert sind dürfen wir den Zähler nicht wieder auf Null setzten.
// Querlinien setzenDie Benennung der Punkte erfolgt ähnlich wie bei dem Längslinien. Wir greifen uns aus dem Gitternetz (siehe Abb. 1) zwei Punkte (P38, P45) als Beispiel heraus.
Abb. 3
Bei der Berechnung dieser Linie haben die Schleifenindizes die Werte i=5 und j=3.
Punkt |
Formel |
Resultat |
|
38 |
i*(Nv + 1) + j |
5*(6 + 1) + 3 = 38 |
|
45 |
(i + 1)*(Nv + 1) + j |
(5 + 1)*(6 + 1) + 3 = 45 |
Das Skript mit allen Linien (bzw. Kanten) kann getestet werden (M_Test3.cof).
[zurück] | [Inhaltsverzeichnis] | [vor] |