Vermeiden von Lichtduplizierung in benutzerdefinierten Lichtpfad-Ausdrücken

Wenn Sie Ihre eigenen LPEs erstellen und Sie planen, diese zusätzlich zusammenzusetzen, ist es wichtig, dass keine Lichtanteile fehlen. Es ist auch wichtig, dass es keine doppelten Lichtanteile gibt.

Es gibt einen Trick, um sicherzustellen, dass dies nicht geschieht: Wenn Sie über einen Satz LPEs verfügen, erstellen Sie einen neuen LPE, der diese mit dem &-Operator verknüpft. Das Ergebnis sollte schwarz sein. Wenn etwas Licht fälschlicherweise in mehr als einem dieser LPEs vorhanden ist, wird es in diesem verknüpften LPE angezeigt. Wenn wir von drei LPEs ausgehen, die wir a, b und c nennen, können Sie eine Gruppe von Test-LPEs schreiben.
(a) & ((b) | (c))
(b) & ((a) | (c))
(c) & ((a) | (b))

... um herauszufinden, ob sie eine gemeinsame Lichtquelle haben. Die Ergebnisse der einzelnen Tests sollten schwarz sein. Wenn das Ergebnis nicht schwarz ist, summiert sich das Zusammensetzen der Elemente nicht auf das richtige Ergebnis.

Vergessen Sie nicht, Klammern zu setzen, um die richtige Reihenfolge der Auswertung sicherzustellen.

Auf ähnliche Weise können Sie den übrigen Lichtanteil finden, indem Sie alle Ihre LPEs mithilfe des |-Operators kombinieren, dies umkehren, und mit allen möglichen Lichtquellen verknüpfen. Für unser Beispiel wäre der kombinierte LPE:
L.*E & ^((a) | (b) | (c))

... dies berücksichtigt alle möglichen Lichtpfade (L.*E) und aus diesen wählt es nur diejenigen, die nicht in einem der LPEs a, b, oder c vorhanden sind.