Заблокирован
|
|
1 | |
Есть вписанный в прямоугольник эллипс (в 2D), как найти точки его фокуса?01.10.2014, 21:56. Показов 10135. Ответов 11
Метки нет (Все метки)
Привет! Ну собственно сабж. Есть прямоугольник, есть координаты всех его вершин, как найти координаты точек фокуса эллипса?
Точнее меня в итоге интересует уравнению эллипса по координатам точек вершин описывающего прямоугольника ...
0
|
01.10.2014, 21:56 | |
Ответы с готовыми решениями:
11
Нужен метод, который умеет строить эллипс, вписанный в прямоугольник Нарисовать эллипс, вписанный в ромб Найти вероятность, что три точки попадут во вписанный в круг квадрат Как убрать прямоугольник фокуса у активного компонента? |
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
|
|
02.10.2014, 06:20 | 2 |
Вводим новую систему координат, оси которой средние линии вашего прямоугольника. Пусть a, b - половины измерений прямоугольника. Тогда в этой новой системе координат уравнение эллипса имеет вид
1
|
Заблокирован
|
|
02.10.2014, 08:43 [ТС] | 3 |
Не совсем понятно, что значит "половины измерений", ну вот есть система координат по центру прямоугольника, где эти точки конкретно будут находиться ?
Добавлено через 50 секунд У уравнение X штрих и Y штрих это производные что ли Или такое обозначение просто ?
0
|
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
|
|
02.10.2014, 08:51 | 4 |
x', y' - новые координаты, x, y - старые, а - половина длины, b - половина ширины прямоугольника.
1
|
Заблокирован
|
|
02.10.2014, 11:05 [ТС] | 5 |
Хмм, что - то я не совсем понял.
Ладно, перейду конкретно к тому, что мне нужно Вот посмотрите на скрин. У меня есть 4 координаты углов прямоугольника, в который вписан эллипс. Грубо говоря функция рисования эллипса в одной графической API (C++ - Qt) рисует эллипс по заданному прямоугольнику, то есть я в функцию drawEllipse передаю 4 координаты прямоугольника и эта функция рисует на экране вписанный эллипс (ну по другому она рисовать не умеет ). Теперь я хочу провести откуда - то из вне скажем так линию к этому эллипсу и хочу нарисовать стрелочку в точке пересечения эллипса и линии, ну естественно в ближайшей к точке старта линии - ну да не суть, и даже не суть - что задняя полка стрелки должна быть касательна к эллипсу, это уже другая задача, ну так вот, мне нужно найти координаты точки "P" на рисунке (точка пересечения эллипса и отрезка), как бы это можно было бы вычислить, зная: 1. Координаты 4-х углов прямоугольника 2. Координаты старта линии - отрезка (точка L) 3. Ну и учитывая, что этот отрезок идёт в центр эллипса / прямоугольника )
0
|
102 / 81 / 17
Регистрация: 08.06.2014
Сообщений: 316
|
|
02.10.2014, 14:20 | 6 |
Сообщение было отмечено Scrooge McDuck как решение
Решение
Эта точка пересечения не есть ближайшая к точке L.
Центр эллипса: , . Если положить начало координат в центре эллипса, новые координаты точек получатся из старых вычитанием , , , . Уравнение эллипса: , , полуоси. Квадрат расстояния от L до точки на эллипсе (x', y'): . Сюда подставить выражение x' через y'. Квадрат должен быть минимальным. Аналитически находится через условие . Найденное значение y' дает обычную координату . Получить точное решение муторно, но посильно.
1
|
Заблокирован
|
|
02.10.2014, 14:30 [ТС] | 7 |
Спасибо! Буду искать точное решение!
0
|
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
|
|
02.10.2014, 14:39 | 8 |
Сообщение было отмечено Scrooge McDuck как решение
Решение
Как бы поступил я. Пусть (x_0,y_0) - координаты центра прямоугольника, и \alpha - угол между осью x-ов и стороной AB. Напишем формулы перехода от заданной системы координат к новой, в которой начало в центре прямоугольника, а оси параллельны его сторонам:
или выражение новых координат через старые Координаты точки L(x'_L,y'_L) в новой системе координат получаем по этим последним формулам. Уравнение эллипса в новой системе координат Теперь для вычисления координат P(x',y') решаем систему Наконец, опять по формулам преобразования координат находим координаты точки P.
1
|
Заблокирован
|
|
02.10.2014, 16:21 [ТС] | 9 |
kabenyuk, и вам спасибо!
0
|
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 1
|
|
16.03.2017, 21:12 | 10 |
Добавлено через 29 секунд
kabenyuk, Не совсем понятно, конечно, какой угол имеется ввиду((((
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
17.03.2017, 00:53 | 11 |
0_0
Не знаю что тут считают. На вики https://ru.wikipedia.org/wiki/Эллипс по картинке виден ответ как найти F1 F2 в векторах. Никаких уравнений. Половина габаритов прямоугольника даст найти “c”. Снова половина габаритов прямоугольника даст “a,b”. В параметрическое уравнение подставить и все =). Забыли дописать матрицу поворота в 2д если эллипс повернут.
0
|
4166 / 3038 / 914
Регистрация: 19.11.2012
Сообщений: 6,182
|
|
17.03.2017, 07:11 | 12 |
Не читал, но осуждаю. Ну и правильно. А то, понимаешь, реанимировали тут тему двухлетней давности.
- угол между осью x-ов и стороной AB заданного изначально прямоугольника.
0
|
17.03.2017, 07:11 | |
17.03.2017, 07:11 | |
Помогаю со студенческими работами здесь
12
Пятиугольник вписанный в прямоугольник Треугольник вписанный в прямоугольник Найти вероятность попадания точки в квадрат, вписанный в окружность, вписанную в равносторонний треугольник DBMemo наведение фокуса и его потеря (наработки есть) Прямоугольник, вписанный в прямоугольник Определить вписанный в решётку прямоугольник максимальной площади Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |