Формули для еліпса під кутом, в 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 градусів - (я думаю). Це правильне розуміння цього? Потрібно спробувати, коли у мене буде трохи часу.:)