0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 15
1

Как построить эллипс, если известны большая ось, малая ось, угол поворота оси, координаты центра эллипса

16.03.2013, 23:59. Показов 21722. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возможно, вопрос элементарный, но:
как построить эллипс в матлабе, если известны большая ось, малая ось, угол поворота оси, координаты центра эллипса?
Пробовал это, но вроде как не срабатывает. Или я что-то неправильно написал. Кто может - помогите, пжлст.

Matlab M
1
2
3
4
5
6
t=[0:1/5:360];
t=t.*pi/180;
 
xel = 0 + 257.*cos(t)*cosd(-83)-150.*sin(t)*sind(-83);
yel = 0 + 150.*cos(t)*sind(-83)+257.*sin(t)*cosd(-83);
plot(xel,yel);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2013, 23:59
Ответы с готовыми решениями:

Как построить два графика в одном окне, чтоб ось x была общей и две оси y справа и слева
Добрый день! Необходимо построить два графика на одном поле с общей осью абцисс и двумя осями...

Найдите эксцентриситет эллипса, если малая ось эллипса видна из фокуса под углом 90 градусов
Найдите эксцентриситет эллипса, если малая ось эллипса видна из фокуса под углом 90 градусов. ...

Найти полуоси, координаты фокусов и эксцентриситет эллипса, построить эллипс
Доброго времени суток! Нужна помощь, но подробная, чтобы запомнить - я училась 27 лет назад,...

Найти радиус и координаты центра вписанной в тетраэдр сферы, если известны координаты вершин тетраэдра
Хотелось бы узнать как решить эту задачу. Предполагаемое решение:

5
135 / 22 / 1
Регистрация: 19.10.2012
Сообщений: 42
17.03.2013, 00:59 2
вроде так как-то:
Matlab M
1
2
3
4
5
6
7
8
9
t=[0:1/5:360];
t=t.*pi/180;
% без поворота
xel0 = 0 + 257.*cos(t);
yel0 = 0 + 150.*sin(t);
% с поворотом
xel = 0 + 257.*cos(t)*cosd(-83)+150.*sin(t)*sind(-83);
yel = 0 + 150.*sin(t)*cosd(-83)+257.*cos(t)*sind(-83);
plot(xel,yel,xel0,yel0);
2
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
17.03.2013, 01:00 3
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
clear all;
t = 0:pi/100:2*pi;
phi = pi/4; % Угол наклона
u0 = 1; % Начальная координата по x
v0 = 1; % Начальная координата по y
A  = 4; % Большая ось
B  = 2; % Малая ось
u = u0+A/2*sin(t+phi);
v = v0+B/2*cos(t);
plot(u,v, u0, v0, '+r', 'LineWidth', 2);
grid on
axis equal
2
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 15
19.03.2013, 00:37  [ТС] 4
Спасибо.
0
135 / 22 / 1
Регистрация: 19.10.2012
Сообщений: 42
19.03.2013, 01:32 5
У меня там ошибочка была в предыдущем коде
вот подправил и покрутил эллипс, всё верно крутит на любой угол
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
t=[0:1/5:360];
t=t.*pi/180;
% без поворота
xel0 = 0 + 257.*cos(t);
yel0 = 0 + 150.*sin(t);
% с поворотом
phi=0;
for i=1:4
     phi=phi+45; % угол поворота градусы
     xel = 0 + 257.*cos(t)*cosd(phi)+150.*sin(t)*sind(phi);
     yel = 0 + 150.*sin(t)*cosd(phi)-257.*cos(t)*sind(phi);
hold on
plot(xel,yel,'linewidth',2),grid on
 
end
plot(257.*cos(t),257.*sin(t),'linewidth',2)
axis equal
Как построить эллипс, если известны большая ось, малая ось, угол поворота оси, координаты центра эллипса

В общем случае координаты повернутого эллипса:
https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{n} = x\cos \alpha +y\sin \alpha
https://www.cyberforum.ru/cgi-bin/latex.cgi?{y}_{n}=-x\sin \alpha +y\cos \alpha
где,
https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha - угол поворота относительно оси Х
https://www.cyberforum.ru/cgi-bin/latex.cgi?x = a\cos \phi
https://www.cyberforum.ru/cgi-bin/latex.cgi?y= b\sin \phi
https://www.cyberforum.ru/cgi-bin/latex.cgi?a - большая полуось
https://www.cyberforum.ru/cgi-bin/latex.cgi?b - малая полуось
(если центр смещен относительно начала координат, тогда естественно https://www.cyberforum.ru/cgi-bin/latex.cgi?x-{x}_{0}, https://www.cyberforum.ru/cgi-bin/latex.cgi?y-{y}_{0})
2
370 / 133 / 44
Регистрация: 05.02.2015
Сообщений: 897
09.09.2016, 00:33 6
вы пишите:
Matlab M
1
2
u = u0+A/2*sin(t+phi);
v = v0+B/2*cos(t);
но почему так? разве не:
Matlab M
1
2
u = u0+A*cos(t+phi);
v = v0+B*sin(t + phi);
не могли бы пояснить?
0
09.09.2016, 00:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2016, 00:33
Помогаю со студенческими работами здесь

Как в Zed Graph нарисовать еще одну ось, параллелную Y, смещенную по оси X
Как в Zed Graph нарисовать еще одну ось,параллелную Y, смещенную по оси X? нужно для наглядности...

Сопромат (как построить изогнутую ось балки ?)
В интернете очен мало информации на эту тему, можете подсказать, как построить изогнутую ось балки...

Уравнение плоскости, через координатную ось и угол
Составить уравнение плоскости, проходящей через координатную ось Оz, и составляющей с плоскостью...

Через ось Z провести плоскость, образующую с данной плоскостью заданный угол
Через ось Z провести плоскость, образующую с плоскостью 2x+y-sqrt5-7=0 угол П/3.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru