本文介绍了有一组形成圆的点如何随机化一个坐标?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个数组或点(double 的 X、Y、Z),它们形成一个圆,从默认旋转角度 Xa、Ya、Za 开始.我们希望在某个随机变量上将圆中的每个点扩展一个轴(比如 Z).如何用伪代码做这样的事情?

We have an array or points (double's X, Y, Z) they form a circle, starting from default rotation angles Xa, Ya, Za. We want to extend each point in our circle by one axes (say Z) on some random variable. How to do such thing in pseudocode?

推荐答案

你的意思是这样的吗(伪代码):

Do you mean something like this (pseudocode):

void randomize(Point[] points, Axis axis, double scale) {
    RandomNumberGenerator rng = new RandomNumberGenerator();
    for (Point point : points) {
        point[axis] += scale * rng.nextRandom();
    }
}

如果您需要沿某个不是轴的方向移动点,您需要修改上面的内容以计算位移矢量分量并将每个分量添加到相应的点坐标上.

If you need to displace points along some direction that is not an axis, you'd modify the above to compute the displacement vector components and add each component to the corresponding point coordinate.

这篇关于有一组形成圆的点如何随机化一个坐标?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 16:23