Failed to create a 3rd dimension to 2D dots animation

I have a code that animates 2D dots moving in random directions. I tried to create a 3rd dimension using spherical coordinates, and for that, I used moglDrawDots3D and CreateUniformDotsIn3DFrustum(), as it takes 3d coordinates XYZ, but I am still getting a 2D animation, the z doesn’t appear. I have no clue on the cause. I am very new to Matlab and animations, I’d be very grateful to get your feedback and insight!! I tried to explain my code step by step below for the sake of clarity. Thank you in advance for your help!

AssertOpenGL; InitializeMatlabOpenGL; display = OpenWindow() dots.nDots = 531;                       % number of dots dots.color = [255,255,255];             % color of the dots dots.size = 10;                         % size of dots (pixels) = [0,0,0];                  % center of the field of dots (x,y,z) dots.apertureSize = [50.8,28.5,50.8];   % size of rectangular aperture [w,h,depth] in degrees 

First, random position within the aperture for each of the dots. ‘dots.x’ and ‘dots.y’ will hold the x and y positions for each dot.

[dots.x,dots.y,dots.z] = CreateUniformDotsIn3DFrustum(dots.nDots, 25, 1/screen_ratio, 0.1, 100);   

Then I converted these dot positions from a visual angle into pixel coordinates using a created function ‘angle2pix’

tmp = Screen('Resolution',0);                       % (1) Screen's 'Resolution' function determine the screen resolution. display.resolution = [tmp.width,tmp.height]; display.width = 50.8;                               % (2) Width of the screen in cm. display.dist = 50;                                  % (3) Distance of the screen from the observer in cm.      

This generates pixel positions, but they’re centered at [0,0], which is the top left corner

pixpos.x = angle2pix(display,dots.x);               % Convert the x position of the dots from visual angle to pixel. pixpos.y = angle2pix(display,dots.y);               % Convert the y position of the dots from visual angle to pixel. pixpos.z = ones(1, dots.nDots) * -1;                

I defined some timing and motion parameters for the animation

dots.speed = 3;                             % degrees/second dots.duration = 10;                         % seconds                                                          dots.theta_deg = randi(360,1,dots.nDots);   % degrees  dots.phi_deg = 30;                          % degrees  dots.theta_rad = dots.theta_deg * pi /180;  % direction converted to radians dots.phi_rad = dots.phi_deg * pi /180;      % direction converted to radians                                                    

I calculated the distance travelled by the dot, by determining the x,y and z positions using spherical coordinates and then their derivate.

dx = dots.speed* sin(-dots.phi_rad-dots.theta_rad)/display.frameRate; dy = -dots.speed* cos(dots.phi_rad + dots.theta_rad)/display.frameRate; dz = -dots.speed*cos(dots.theta_rad)/display.frameRate;  

I try to fit the dots within the aperture by calculating the left, right top, bottom and depth(forward and backward) of the aperture (in degrees)

The total number of frames for the animation is determined by the duration (seconds) multiplied by the frame rate (frames/second). The function secs2frames performs the calculation

nFrames = secs2frames(display,dots.duration);  l =; r =; b =; t =; d_forward = dots.apertureSize(3)/2; d_backward = dots.apertureSize(3)/2; 

New random starting positions

[dots.x,dots.y,dots.z] = CreateUniformDotsIn3DFrustum(dots.nDots, 25, 1/screen_ratio, 0.1, 100);    

Make the dots move

try      for i=1:nFrames          %convert from degrees to screen pixels              pixpos.x = angle2pix(display,dots.x)+ display.resolution(1)/2;         pixpos.y = angle2pix(display,dots.y)+ display.resolution(2)/2;         pixpos.z = ones(1, dots.nDots) * -1;          moglDrawDots3D(display.windowPtr, [pixpos.x;pixpos.y;pixpos.z],dots.size, dots.color,,1); 

update the dot position

        dots.x = dots.x + dx;         dots.y = dots.y + dy;             dots.z = dots.z + dz;    

Move the dots that are outside the aperture back one aperture width

     dots.x(dots.x<l) = dots.x(dots.x<l) + dots.apertureSize(1);         dots.x(dots.x>r) = dots.x(dots.x>r) - dots.apertureSize(1);         dots.y(dots.y<b) = dots.y(dots.y<b) + dots.apertureSize(2);         dots.y(dots.y>t) = dots.y(dots.y>t) - dots.apertureSize(2);         dots.z(dots.z<d_forward) = dots.z(dots.z<d_forward) + dots.apertureSize(3);         dots.z(dots.z>d_backward) = dots.z(dots.z>d_backward) - dots.apertureSize(3);         Screen('Flip',display.windowPtr);     end  catch ME     Screen('CloseAll');     rethrow(ME) end Screen('CloseAll');                                                                     

Varying the size of dots in a plot according to information contained in list

Suppose I have the following coordinates that I want to plot:

xy = {{0.05, -0.000264728}, {0.15, -0.0125407}, {0.25, -0.0569049}, {0.35,-0.133636}, {0.45, -0.235416}, {0.55, -0.358514}, {0.65, -0.50575},{0.75, -0.68979}, {0.85, -0.948287}, {0.95, -1.46034}} 

But suppose also, that I wish to vary the size of the dots in the plot using information contained in a corresponding list:

pointsize = {0.98, 0.94, 0.90, 0.83, 0.76, 0.66, 0.57, 0.41, 0.25, 0.09} 

How can that be achieved? I suppose I need a base-size for points, and then weight this base by the content of the pointsize list, but exactly how that can be done in Mathematica I do not know.

svg animate paths using animate tag to show loading dots

I am unable to get the svg dots (paths) to animate using the fill property

<html> <body>  <h1>My first SVG</h1>  <svg width="100" height="100">     <g id="Group-3" transform="translate(18.000000, 43.000000)">                 <path fill="#E1F1F6" d="M1.99995389,4 C1.18943703,3.99996826 0.459080007,3.51075355 0.150588108,2.76124016 C-0.157903792,2.01172677 0.0164743319,1.15013249 0.592137819,0.579563372 C1.16780131,0.00899425181 2.03091154,-0.157718518 2.77765322,0.157423404 C3.52439491,0.472565326 4.00709836,1.20724199 3.99992565,2.01772711 C3.99021168,3.11536294 3.09763271,4.00004298 1.99995389,4 L1.99995389,4 Z" id="Path" >                   <animate id="first" attributeName="fill" from="#89CBDF" to="#E1F1F6" begin="1s;first.end+3s" dur="1s"/>                 </path>                 <path fill="#89CBDF" d="M9.99995389,4 C9.18943703,3.99996826 8.45908001,3.51075355 8.15058811,2.76124016 C7.84209621,2.01172677 8.01647433,1.15013249 8.59213782,0.579563372 C9.16780131,0.00899425181 10.0309115,-0.157718518 10.7776532,0.157423404 C11.5243949,0.472565326 12.0070984,1.20724199 11.9999256,2.01772711 C11.9902117,3.11536294 11.0976327,4.00004298 9.99995389,4 L9.99995389,4 Z" id="Path" >                   <animate id="second" attributeName="fill" from="#89CBDF" to="#E1F1F6" begin="2s;second.end+3s" dur="1s"/>                 </path>                 <path fill="#89CBDF" d="M17.9999539,4 C17.189437,3.99996826 16.45908,3.51075355 16.1505881,2.76124016 C15.8420962,2.01172677 16.0164743,1.15013249 16.5921378,0.579563372 C17.1678013,0.00899425181 18.0309115,-0.157718518 18.7776532,0.157423404 C19.5243949,0.472565326 20.0070984,1.20724199 19.9999256,2.01772711 C19.9902117,3.11536294 19.0976327,4.00004298 17.9999539,4 L17.9999539,4 Z" id="Path" >                   <animate id="third" attributeName="fill" from="#89CBDF" to="#E1F1F6" begin="3s;third.end+3s" dur="1s" />                 </path>             </g> </svg>   </body> </html> 

My expectation is that the first dot will animate in 1 second and last for 1 seconds and then the second dot will begin (highlight and fade itself) and then the third but this will go on forever.

Any pointers on sequencing this would be helpful.


Dolphin Emulator shows dots instead of characters in controller options, nowhere else

I have installed Dolphin in other computers no problem, but when I went to install it here it did everything well. Except for when I wanted to change the controller setup:

Don't worry about the language, it's Dutch, and has nothing to do with the problem

(The language is Dutch, it has nothing to do with the error)

I have tried different Fonts, and re-installing the program.