protected override rt.Tuple LocalNormalAt(rt.Tuple pt, rt.Intersection i) { return(pt); }
protected override Tuple LocalNormalAt(Tuple pt, Intersection i) { throw new NotImplementedException(); }
protected override Tuple LocalNormalAt(Tuple pt, Intersection i) { return(Normal); }
override protected Tuple LocalNormalAt(Tuple pt, Intersection i) { return(pt - new Point(0, 0, 0)); }
protected override Tuple LocalNormalAt(Tuple pt, Intersection i) { return(N2 * i.U.Value + N3 * i.V.Value + N1 * (1 - i.U.Value - i.V.Value)); }