CrossPoint.py

from pygeo import *

v=display(scale=70)

p1 = FreePoint(-33.,-33,-3,pointsize=1.5,color=BLUE)
p2 = FreePoint(-23,33,4,pointsize=1.5,color=BLUE)
p1a= FreePoint(-3.,-3,0,pointsize=1.5,color=BLUE)

plane=Plane(p1,p2,p1a,color=WHITE,level=2)
p2a = Slider(plane,20.,43,0,pointsize=1.5,color=BLUE)

line1=Line(p1,p2,color=WHITE)
line2=Line(p1a,p2a,color=WHITE)
d1=Slider(line1,ratio=.4,color=BLUE,pointsize=1.5)
d2=Slider(line1,ratio=.7,color=BLUE,pointsize=1.5)
s1=Slider(line2,ratio=.7,color=BLUE,pointsize=1.5)

CrossPoint([p1,p2,d1,d2],[p1a,p2a,s1],pointsize=1.5,color=RED)


#synthetic construction of crosspoint

l1=Line(s1,d1,color=WHITE)
O=Slider(l1,ratio=1.3,label='O',color=GREEN,level=4)
m=Slider(plane,24,1,0,color=WHITE)
m1=Line(s1,m,color=WHITE)
l2=Line(p1,O,color=WHITE)
l3=Line(p2,O,color=WHITE)
l4=Line(d2,O,color=WHITE)
r=Intersect(m1,l3,color=WHITE)
s=Intersect(m1,l2,color=WHITE)
x=Intersect(m1,l4,color=WHITE)
as=Line(p1a,s,color=WHITE)
br=Line(p2a,r,color=WHITE)
o=Intersect(as,br,color=WHITE)
ox=Line(o,x,color=WHITE)

v.pickloop()