Я делаю солнечный симулятор, и я рисую эллипс, а затем мне нужно нарисовать часы на этом эллипсе. Каждый наш задается:Matlabs ellipse hours calc
x = a * sin(t);
y = b * cos(t);
где:
a- length of longer semi-axis
b- length of smaller semi-axis
t- hour in degrees (1 hour == 15 degrees)
Я написал эту функцию в Matlab:
function [hx,hy] = calcHourCoords(ra,rb)
%input:
%ra, rb length of semi-axis in ellipse
%output:
%hx, hy coords of hour's plot
hourAngle = 15*180/pi;
step = 0;
for i=1:1:24
hx(i)= ra * sin(step);
hy(i)= rb * cos(step);
step = step+hourAngle;
end
end
Наконец я получить, что ПИК: My ellipse and hours points
Но должен выглядеть так: Correct hour place's
Эллипс правильный (я рисую свою версию для другой широты).
Возможно, кто-то может мне помочь?
Извините за мой английский :)
EDIT
Я отремонтировать его - просто преобразовать градусы в радианы.
EDIT2
меняю исходный код FYI
Поскольку вы решили проблему, рассмотреть вопрос о создании свой собственный ответ и приняв его, или удалить свой вопрос все вместе. – rayryeng