Algorithm for Point Cloud transformation Essence: There are two Point Clouds: a target one and a source one that needs to be deformed. We need to find a correspondence between the points and a transformation that converts the source one to the target one. The number of points can be different. The basic idea is that the source Point Cloud is a realization of observations from a mixture of Gaussian distributions, centered as a result of transforming each point of the source Point Cloud. The number of components is the same as the number of points in the original Point Cloud. The default transformation is non-rigid, although only a single displacement vector vm is responsible for non-rigid. The distribution parameters include the transformation parameters. The only remaining question is how to find these parameters. For this purpose, statistical inference is used. The most likely parameters given known observations. The next question is how to find the parameters. CPD uses the EM algorithm. It is written that convergence is not guaranteed and there are problems with rotations. It is suggested to introduce a priori distributions, but not for all parameters and use Bayes' theorem. Find the conditional distribution of the parameters given the observations. Then find the MAP estimate or expectation of the parameter from the conditional distribution. The main idea is to use Bayesian variational approximation for the conditional distribution. On the basis of this idea the further algorithm is built. The variational approximations for the distribution are given in the statements. After that, a parameter update scheme is constructed. Then ways to speed up the algorithm are suggested. The main conclusions are as follows: CPD and ICP can be considered as special cases of BCPD. It uses variational approximation instead of EM algorithm. Runs faster and is more robust to rotations. In theory it is possible to get rigid shapes when the parameter is increased to a large value. In practice there are problems with rigid form. It may make sense to modify the algorithm itself with vm=0.