【问题标题】:Points on surface of N-dimensional cubeN维立方体表面上的点
【发布时间】:2013-04-30 19:23:43
【问题描述】:

如何在 N 维立方体的表面生成随机均匀的点 边 E?

对于 3D 情况,这很简单:

1-pick 2 dimensions from x, y, z
2-generate 2 random points
3-generate 0 or 1 for the third-dimension

我可以将其推广到 N 维吗? 谢谢!

【问题讨论】:

    标签: java random geometry uniform


    【解决方案1】:

    在 Java 中可能如下所示:

    int dimension = 5;
    int number    = 10;
    
    Vector<Double> v = new Vector<Double> (dimension);
    
    for (int n = 0; n < number; n++) {
        v.clear();
    
        for (int m = 0; m < dimension; m++) v.add(Math.random()); // [0..1]
    
        v.set((int) Math.ceil(Math.random() * dimension) - 1, // random position
                    Math.ceil(Math.random() * 2) - 1);        // 0 or 1
    
        System.out.println("Vector: " + v);
    }  
    

    没有得到很好的优化,但可以工作;-)

    干杯!

    【讨论】:

    • 是的,我希望如此 ;) 建议您用它做一些进一步的实验。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2016-07-02
    • 2016-03-14
    • 2012-04-22
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多