... share your algorithms as a web service

Algorithm: Generate Uniformely Distributed Points on n-Sphere

Generates uniformly distributed points on the n-Sphere.
For the 1-sphere enter dimension 2 and for the 2-sphere enter dimension 3 etc.
Paper: Mervin E. Muller. A note on a method for generating points uniformly on n-dimensional spheres. Commun. ACM, 2(4):19–20, April 1959.
Tags: sphere distribution
Usage: Algorithm is public.
Viewed 4099 times, called 91 times
Empty star Empty star Empty star Empty star Empty star
0 votes
Florian Pfaff
11/20/2012 3:39 p.m. (version #1)

Run Algorithm

: Allow cached result?

Please Wait

Computation is running...


showing plot # of

Result Value(s)


Resource Usage

Execution of the algorithm took seconds.
Peak memory usage for running the algorithm was kilobytes (total usage: kilobytes).

Run ID / Link

ID of this run:

Result from Cache

Result has been delivered from cache and computed on (UTC).

Matlab log




Using this algorithm in your local MATLAB environment is easy: Click here for instructions!

Usage Instructions for CloudRunner Client

  1. Download the CloudRunner Client by clicking here and place the downloaded file in your MATLAB working directory.

  2. Inside MATLAB, initialize the CloudRunner Client by calling CloudRunner:
    >> CloudRunner

    A login dialog will prompt for your CloudRunner mail address and password. For a start, you can leave the dialog empty and just click "Connect".

    Alternatively, you can provide the login credentials (or empty strings to skip login) as a parameter and hence skip the login dialog. This is useful when using CloudRunner in non-interactive scripts.
    >> CloudRunner('', 'password')

  3. Select this algorithm by its URL. Selecting an algorithm creates the lambda function that proxies calls to the algorithm to the server for execution:
    >> CloudRunnerSelect('')

    For the sake of convenience, you can also use the algorithm ID instead of its URL for public algorithms.

  4. Call functions from the algorithm like any regular local function.

Note: You can find further information on the help page.

Source Code


 1 function pointArray=randomPointsOnSphere(numberOfPoints,dimension,plotOn)
 2 %   @author Florian Pfaff
 3 %   @date 2012
 4     pointArray=cellfun(@(x){x/norm(x)},num2cell(randn(dimension,numberOfPoints),1));
 5     if plotOn
 6         coordinateMatrix=cell2mat(pointArray);
 7         if dimension==3    
 8             scatter3(coordinateMatrix(1,:),coordinateMatrix(2,:),coordinateMatrix(3,:),10);
 9         elseif dimension==2
10             scatter(coordinateMatrix(1,:),coordinateMatrix(2,:));
11         else
12             warning('Plotting only supported for 1-Sphere and 2-Sphere')
13         end
14     end
15 end
Download algorithm (1 file) as ZIP


Please login to post a comment.