In section 6.8 of Dorst’s Guided Tour to PGA in step 2 eq(94) we have a motor that moves a line into another where lines have an intersection point. My example below gets a motor which moves line AB into AB1 but I don’t get the second point B1 from B with this motor.
A=ga.PGAPnt(1,2,3)
B=ga.PGAPnt(4,5,6)
B1=ga.PGAPnt(6,5,8)
AB=B&A #line AB
AB1=B1&A #line AB1
M=ga.MotorAtoB(AB,AB1)
print(“M=”,M)
print(“M * ~M=”, M * ~M) #checking
print("----------------------------------------------------------------------------------------")
print(“AB1=”,AB1.normalized())
print(“M * AB * ~M =”,(M * AB * ~M).normalized())
print(“B1=”,B1)
print(“M * B * ~M =”,M * B * ~M)
=============== output ====================
M= 0.9942685 + 0.1511958e01 + -0.3023916e02 + 0.1511958e03 + 0.0755979e12 + -0.0755979e23
M * ~M= 1
AB1= 0.1301889e01 + 1.3018891e02 + -0.9113224e03 + 0.6509446e12 + 0.3905667e31 + 0.6509446e23
M * AB * ~M = 0.1301889e01 + 1.3018891e02 + -0.9113224e03 + 0.6509446e12 + 0.3905667e31 + 0.6509446e23
B1= 8e021 + 5e013 + 6e032 + 1e123
M * B * ~M = 6.3824071e021 + 4.0294443e013 + 4.3824071e032 + 1e123