@Override public Point3D at(final double t) { Double x = origin.getX() + t * direction.getX(); Double y = origin.getY() + t * direction.getY(); Double z = origin.getZ() + t * direction.getZ(); return new Point3DImpl(x, y, z); }