Формули для еліпса під кутом, в Excel.

Я знаю про загальну формулу еліпса: x ^ 2/a ^ 2 + y ^ 2/b ^ 2 = 1, яку можна використовувати для виділення y та обчислення точок x, y у excel. Це чудово, поки що так добре. Це створить еліпс з горизонтальною віссю A (x) та вертикальною віссю B (y). Але що, якщо хтось хоче повернути еліпс на певну кількість градусів, наприклад, на 20 градусів, на 60 градусів - в Excel? Чи є простий спосіб це зробити в Excel - або застосувати це до загальної формули еліпса? Можливо, я думаю занадто складно, так що я не бачу рішення.

Відповіді та відповіді

Візьміть результати та значення x та y та проведіть їх за допомогою простої матриці обертання. У 2D це має бути досить просто.
http://en.wikipedia.org/wiki/Rotation_matrix

Це може бути складним способом отримати його в закритому вигляді у вашій функції еліпса, але як двоступеневий процес повинен бути досить простим.

Це не загальна формула еліпса. Загальна формула описувала б усі еліпси. Наведений вираз є канонічною формою, а не загальною формою.

Для побудови певної кривої часто простіше використовувати параметричний опис кривої. Одним з параметричних описів цього канонічного еліпса є

Цей параметричний опис дуже легко реалізувати в Excel. Нехай стовпець A використовується для t, стовпець B для x, а стовпець C для y. Зробіть стовпець A, значення t, маршем від 0 до 2 * pi рівномірними кроками. Стовпці B і C - це прості вирази b * cos (t) та a * sin (t), де t - значення стовпця A для відповідного рядка.

Припустимо, натомість ці значення x та y приведені для деяких осей, повернутих щодо осей x та y. Позначте стовпці B та C u та v замість x та y. Додайте ще два стовпці для позначення x та y. Значення x дорівнює u * cos (тета) -v * sin (тета), тоді як y дорівнює u * sin (тета) + v * cos (тета), де тета - це деяке визначене значення (так само, як а і b).

Мда, дякую за відповіді - дуже корисно. Я використав цю формулу для обчислення балів (або принаймні 1/4 еліпса) в Excel: y = sqrt (b ^ 2 * (1-x ^ 2/a ^ 2), де я вибираю значення для a та б. Чи дає ваша формула y = b cos (t) той самий результат (можливо, даючи цілий еліпс)? А t - кути від 0 до 360 градусів ? Ця формула для y, звичайно, простіше, але моя перша формула зараз запрограмований у Excel і працює - тож, можливо, я просто його зберігаю.

Потім, щоб повернути його, здається, ви обидва погоджуєтесь, що новою формулою y буде:

y '= x sin (t) + y cos (t)

Це я міг би просто додати у стовпець після моїх теперішніх стовпців x, y, щоб досягти того самого еліпса, просто повернутого t градусів - (я думаю). Це правильне розуміння цього? Потрібно спробувати, коли у мене буде трохи часу.:)

Це виглядає правильно? Схоже, криву не повернули на 45 градусів?

Я можу використати формули для створення цілого еліпса, а потім просто вийняти ту частину еліпса, яку я хочу використовувати. Але це було поки що, щоб перевірити, чи це працює.

кутом

Ви маєте рацію - це виглядає нормально. Я знаю, чому це виглядало не зовсім коректно - адже зі зміною значень осі на графіку змінюються. Чи можна автоматично керувати графічною сіткою, щоб вона однакова на різних малюнках?

. що є канонічним еліпсом

(1) Спочатку з’ясуйте, куди обертається початок координат, якщо повернути на кут θ відносно точки (0, -b). Можливо, найпростіший спосіб зробити це - повернути точку (0, -b) біля початку координат на θ, зрозуміти, що воно переміщується, і зрозуміти, що початок координат, перемістивши цю величину в протилежний напрямку при повороті на θ приблизно (0, -b)

(2) Потім поверніть еліпс на θ щодо початку координат, як і раніше.

(3) Нарешті, застосуйте зміщення, яке ви визначили в кроці (1), до всього еліпса.

До речі, якщо ви параметризуєте початковий (неповернутий) еліпс, як було запропоновано раніше:

Крім того, вам може знадобитися встановити шкали вашої осі на фіксовані значення, щоб ви не вирішували проблеми автомасштабування щоразу, коли переміщуєте еліпс.

Заключна порада: Я люблю надавати графікам Excel білий фон. Кожного разу, коли я бачу сірий фон на графіку Excel, він говорить мені: "Я цілковитий нуб! Або я лінуюсь турбуватися про коригування вбудованих за замовчуванням Excel".

У всякому разі, удачі.

Ви маєте рацію щодо білого тла на графіках. Зазвичай я теж це роблю (але ще не робив цього в цьому.:-)) - Ну, зробив це зараз.

Так, я зараз використовую формули cos/sin для еліпсу - привіт, ти знову написав неправильно? Чи не слід вам використовувати гріх для себе ? Або це cos як для x, так і для y?

Я використовую градуси, а не радіани, оскільки не розумію радіан. Тому я просто пишу в Excel для cos (t): COS (t * PI ()/180), t дано в градусах.

Щоб зробити те, що я хотів, я використав такий підхід:
Спочатку я створив набір стовпців x, y, створивши лише еліпс і нічого іншого. Потім я створив стовпець, який називається градусами, і новий набір стовпців, що називається x 'і y' - і тут обчислив обернений еліпс. У стовпцях x, y я тоді міг знайти (0, -b) і порівняти зі значеннями в стовпцях x ', y'. Потім я міг створити формулу для того, скільки x ', y' було переміщено порівняно з x, y, плюс я знав, куди хочу, щоб була розташована точка "0, -b" - і зробив це в новому наборі стовпців x '', y ''.

Цей еліпсовий підхід є доповненням до іншої програми Excel. Ця програма може бути використана для вивчення різних профілів кінцівок для луків (стрільба з лука), як вони будуть згинатися тощо до повного натягнутого лука. Додаток «Еліпс» - це ідея, яка мала, щоб автоматично розрахувати математично правильну геометричну криву для носової кінцівки. Додаток "еліпс" можна використовувати для будь-чого: від прямих кінцівок через трохи вигнуту кінцівку до скручених зворотних кінцівок лука. Дивіться також додане, щоб отримати уявлення про те, як я ним користуюся.

Якщо ви бачите щось, що виглядає неправильно в тому, як я обертаю і рухаю еліпс тощо, просто скажіть мені.