user:Benutzer[a]
board1:Board3D
viewpoint:Punkt
ortsvektor:Vektor
s:Strecke
p1:Punkt
o1:Vektor
p2:Punkt
o2:Vektor
/g1:Gerade
/richtungsvektor1:Vektor
/g2:Gerade
/richtungsvektor2:Vektor
/sp1:Punkt
/o3:Vektor
/sp2:Punkt
/o4:Vektor

[c: für jede Strecke der Szene]
user:board1.paint(g)
board1:s.draw(g, viewpoint)
s:g1.new(viewport,p1)
g1:xyz=viewpoint.getXYZ()
viewpoint:xyz=ortsvektor.getXYZ()
g1:xyz=p1.getXYZ()
p1:xyz=o1.getXYZ()
g1:richtungsvektor1.new(p1-viewpoint)
s:g2.new(viewport,p2)
g2:xyz=viewpoint.getXYZ()
viewpoint:xyz=ortsvektor.getXYZ()
g2:xyz=p2.getXYZ()
p2:xzy=o2.getXYZ()
g2:richtungsvektor2.new(p2-viewpoint)
s:sp1=g1.getSchnittpunktXYEbene()
g1:z=richtungsvektor1.getZ()
g1:z=viewpoint.getZ()
viewpoint:z=ortsvektor.getZ()
g1:z=richtungsvektor1.getZ()
g1:xyz=viewpoint.getXYZ()
viewpoint:xyz=ortsvektor.getXYZ()
g1:xyz=richtungsvektor1.getXYZ()
g1:sp1.new(x,y,z)
s:sp2=g2.getSchnittpunktXYEbene()
g2:z=richtungsvektor2.getZ()
g2:z=viewpoint.getZ()
viewpoint:z=ortsvektor.getZ()
g2:z=richtungsvektor2.getZ()
g2:xyz=viewpoint.getXYZ()
viewpoint:xyz=ortsvektor.getXYZ()
g2:xyz=richtungsvektor2.getXYZ()
g2:sp2.new(x,y,z)
[/c]


