[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.
- Problem loop for and image size,
Julien563 <=
Re: Problem loop for and image size, Julien563, 2016/10/22