help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem loop for and image size


From: Julien563
Subject: Problem loop for and image size
Date: Sat, 22 Oct 2016 08:28:44 -0700 (PDT)

Hello ;) 

<http://octave.1599824.n4.nabble.com/file/n4680302/imageoctave.jpg> 

I would like to know two things : 

First of all, i have nr=1000, that's ok, but nc = 3000??? Look my pic : Size
in blue : 1000*1000 so why the programm doesn't show me : nc=1000 and nr=
1000.

And my last problem : my loop for. 

Look "pixel_x_metres" and "pixel_y_metres" only "pixel_y_metres" changes
why? I did the same loop for, for twice... Where am i wrong?

My programm:

A=imread('galaxy.jpg');

% Les Constantes

G= 6.67e-11 %Attention! Revoir les unités
c=3.0e+8 
M= 1,7e+38 %Masse de la masse déflectrice
z1= 2,75e+22 %Distance de la masse par rapport à la Terre 
z2= 2,75e+22%Distance de la galaxie par rapport à la masse

% Liste des Variables
[nr,nc]= size([A])
pixel_x1=round(nr/2-1)%Coordonnées de la masse 
pixel_y1=round(nc/2-1)
pixel_x_metres=1e+16
pixel_y_metres=1e+16
pixel_x1_metres=(pixel_x_metres.*z1)./(z1+z2)
pixel_y1_metres=(pixel_y_metres.*z1)./(z1+z2)
R= (sqrt((pixel_x1_metres).^2+(pixel_y1_metres).^2)) %Rayon de la masse
déflectrice (exemple de trou noir = 1 pixel)
largeur = nr  %largeur de l'image en pixel
longueur = nc %longueur de l'image en pixel
L=(4.*G*M)./(c^2)

% Lentille gravitationnelle 

for
pixel_x_metres=(-ceil(nc./2).*pixel_x_metres:pixel_x_metres:floor(nc./2).*pixel_x_metres)

        for
pixel_y_metres=(-ceil(nr./2).*pixel_y_metres:pixel_y_metres:floor(nr./2).*pixel_y_metres)
        
                pixel_x_metres=pixel_x_metres
                pixel_y_metres=pixel_y_metres
                Ralpha =
(sqrt(((pixel_x_metres.*(z1+z2)./z1)-(pixel_x1_metres)).^2+(((pixel_y_metres.*(z1+z2)./z1)-pixel_y1_metres).^2)));
                if Ralpha<=R;
                
j=round(((pixel_x_metres)./(pixel_x1_metres.*z1./(z1+z2)))+(floor(nc./2)))
                
i=round(((largeur+1)-pixel_y_metres./(pixel_y1_metres.*z1./(z1+z2)))+(floor(nr./2)))
                        B(i,j)= 0; % pixel noir
                else;
                
nouveau_pixel_x_metres=(((pixel_x_metres)*(z1+z2)./z1)+z2.*((((pixel_x_metres)*(z1+z2)./z1)./z1)-(L/Ralpha).*(((pixel_x_metres)*(z1+z2)./z1)-(pixel_x1_metres))./Ralpha));
                
nouveau_pixel_y_metres=((pixel_y_metres)*(z1+z2)./z1)+z2.*((((pixel_y_metres)*(z1+z2)./z1)./z1)-(L/Ralpha).*(((pixel_y_metres)*(z1+z2)./z1)-(pixel_y1_metres))./Ralpha);
                
j_nouveau=round((nouveau_pixel_x_metres+(floor(nc./2)))./(pixel_y_metres))
                
i_nouveau=round(((largeur+1)-(nouveau_pixel_y_metres+(floor(nr./2))))./(pixel_y_metres))
                endif
        endfor
endfor

Thx in advance



--
View this message in context: 
http://octave.1599824.n4.nabble.com/Problem-loop-for-and-image-size-tp4680302.html
Sent from the Octave - General mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]