'Returns an arbitrary point on the Plane; varying `t` from 0 to 2*pi
will move the point in a circle of radius 1 about p1 of the Plane.
Examples
>>> from sympy.geometry.plane import Plane
>>> from sympy.abc import t
>>> p = Plane((0, 0, 0), (0, 0, 1), (0, 1, 0))
>>> p.arbitrary_point(t)
Point3D(0, cos(t), sin(t))
>>> _.distance(p.p1).simplify()
1
Returns
Point3D'

def arbitrary_point(self, t=None):

    from sympy import cos, sin
    t = (t or Dummy('t'))
    (x, y, z) = self.normal_vector
    (a, b, c) = self.p1.args
    if (x == y == 0):
        return Point3D((a + cos(t)), (b + sin(t)), c)
    elif (x == z == 0):
        return Point3D((a + cos(t)), b, (c + sin(t)))
    elif (y == z == 0):
        return Point3D(a, (b + cos(t)), (c + sin(t)))
    m = Dummy()
    p = self.projection((Point3D((self.p1.x + cos(t)), (self.p1.y + sin(t)), 0) * m))
    return p.xreplace({m: solve((p.distance(self.p1) - 1), m)[0]})
