2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Вписать эллипс в параллелограмм
Сообщение17.05.2018, 17:00 


15/07/14
12
Добрый день.

Поставил я себе грандиозную задачу — изобразить проекцию квадрата с вписанной окружностью на произвольную плоскость. Квадрат проецируется достаточно просто и в общем виде он принимает вид параллелограмма. Окружность же преобразуется в эллипс, центр которого лежит на пересечении диагоналей параллелограмма, стороны параллелограмма касаются эллипса и в точках касания делятся пополам.

С помощью элементарных преобразований я могу вычислить координаты точек окружности на получившейся проекции, но при отрисовке возникает некоторая угловатость. Помогите советом, как вычислить координаты фокусов получившегося эллипса или размеры и угол поворота полуосей, чтобы я мог отрисовать получившийся эллипс, опираясь на эти данные, а не разбивая окружность на громадное количество отрезков.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение17.05.2018, 18:21 
Заслуженный участник


16/02/13
3277
Владивосток
Самый, пожалуй, тупой вариант — помнится, кривая второго порядка однозначно определяется по пяти точкам.

-- 18.05.2018, 01:24 --

Второй, пожалуй, чуть поумнее: как понимаю, параллельная проекция, да? Как проходит большая ось эллипса? Как малая? И чему, стало быть, равно отношение их длин?

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение17.05.2018, 19:59 
Аватара пользователя


05/12/09
342
Когда я была маленькой, у нас в школе было черчение. И как раз возникала такая проблема. Вместо эллипса нас учили рисовать овал, т.е. кривую, сшитую из четырех дуг разных окружностей, с общими касательными в точках соединения, так что на глаз это практически не отличалось от эллипса.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение17.05.2018, 21:21 
Заслуженный участник
Аватара пользователя


27/04/09
23563
Уфа
Боюсь, овал в таком случае плохой совет (кроме того, это приближение тем хуже, чем дальше эллипс от окружности, а тут ограничений не поставлено, так что стоит предполагать, что в половине случаев эллипс будет неудобный). Современные средства рисования обычно хорошо справляются с рисованием дуг произвольно повёрнутых эллипсов, чем лучше пользоваться.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 00:38 
Заслуженный участник


27/06/08
3273
Волгоград
SpBerkut,
Вам поможет преобразование родства (это аффинное преобразование с точечно-двойной прямой). Гуглите.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 08:16 
Заслуженный участник


12/08/10
982
Ну раз проекция квадрата параллелограмм, то эта проекция - аффинное преобразование.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 09:11 


15/07/14
12
iifat
Цитата:
Самый, пожалуй, тупой вариант — помнится, кривая второго порядка однозначно определяется по пяти точкам.
Это так. Думал про это. Оставил на самый крайний случай, т.к. делаю всё в AutoLISP'е и там со СЛАУ туго. Придётся всё с нуля выдумывать.
Цитата:
Второй, пожалуй, чуть поумнее: как понимаю, параллельная проекция, да? Как проходит большая ось эллипса? Как малая? И чему, стало быть, равно отношение их длин?
Проекция параллельная, да. Если получится каким-то образом малой кровью найти расположение осей эллипса, то будет превосходно.

alisa-lebovski
Цитата:
Вместо эллипса нас учили рисовать овал, т.е. кривую, сшитую из четырех дуг разных окружностей
Не подходит. Во-первых, мне всё же нужен именно эллипс. Во-вторых, если я всё верно помню, овал этим способом можно вписать только в ромб, а не в произвольный параллелограмм.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 11:50 


03/06/12
1720
SpBerkut в сообщении #1313148 писал(а):
Проекция параллельная, да.

Так. на всякий случай. Плоскость проекции можно считать проходящей через центр квадрата (окружности).

-- 18.05.2018, 13:09 --

Вообще, ИМХО, проектируемую окружность проще считать расположенной в плоскости $xOy$: там, параметрическое уравнение окружности можно взять, так координаты поврозь можно подставлять, куда нужно...

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 13:09 
Заслуженный участник
Аватара пользователя


23/08/07
4647
Нов-ск
Через вершину параллелограмма проведите прямую. Из двух соседних вершин параллелограмма опустите на эту прямую перпендикуляры. Если площади двух получившихся прямоугольных треугольников равны, то проведенная прямая задает направление оси вписанного эллипса.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 16:17 


15/07/14
12
Всем спасибо за помощь. В итоге сделал всё через матрицу коэффициентов уравнения в общем виде. Не хотел я за матрицы браться, а пришлось.

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение18.05.2018, 17:48 
Заслуженный участник


16/02/13
3277
Владивосток

(Оффтоп)

SpBerkut в сообщении #1313213 писал(а):
Не хотел я за матрицы браться, а пришлось
Вы брались за матрицы? И потом теми же руками на форум пишете? Хотя бы вымыли?

 Профиль  
                  
 
 Re: Вписать эллипс в параллелограмм
Сообщение21.05.2018, 08:59 
Заслуженный участник
Аватара пользователя


23/08/07
4647
Нов-ск
Изображение
$AB$ - сторона параллелограмма
$Q$ - его центр
$P$ - середина $AB$
$S$ - симметрична $Q$ отностительно $AB$
$R$ - на прямой $SP$ и на окружности $ASB$
Тогда биссектриса угла $PQR$ - ось вписанного эллипса

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group