Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

Формула эллипса   Найти похожие ветки 

 
Ice ©   (2006-11-06 22:42) [0]

Подскажите, пожалуйста формулу эллипса, в смысле, функцию, подставляя значения в которую
можно получить (y) точки окружности. Я сейчас хочу нарисовать красивые часы на форме,
очень нужна такая формула.. Я смутно припоминаю, что там что-то с квадратами.. но не более того ;(
Ну или хоть компоненту какую, я таких компонент не искал и не знаю, что лучше, чем вы пользовались.
Про эллипс: он у меня не является правильным т.е это не круг, сижу вот уже вторые сутки над этой
формулой, пока ничего работающего в голову не пришло.


 
ProgRAMmer Dimonych ©   (2006-11-06 22:44) [1]

x^2     y^2
---- + ------ = 1
a^2     b^2


 
Чапаев ©   (2006-11-06 22:46) [2]

"С квадратами" тебе не поможет. a*x*x+b*y*y=c

А тебе нужно: x(t)=a*cos(t), y(t)=b*sin(t). Возможно, синус и косинус местами перепутал. ;-)


 
ProgRAMmer Dimonych ©   (2006-11-06 22:48) [3]

> Чапаев ©   (06.11.06 22:46) [2]
Всё нормально: косинус - абсцисса, синус - ордината.


 
ferr ©   (2006-11-06 22:52) [4]

> Всё нормально: косинус - абсцисса, синус - ордината.

правда?)


 
ferr ©   (2006-11-06 22:57) [5]

я к тому что если с мозгом подойти, то не важно кто где))


 
ProgRAMmer Dimonych ©   (2006-11-06 23:00) [6]

> ferr ©   (06.11.06 22:57) [5]
Да, не сообразил как-то


 
palva ©   (2006-11-06 23:42) [7]

Если рисовать на канвасе, то можно не вычислять координат. Есть специальная графическая функция.


 
Ice ©   (2006-11-07 00:32) [8]

Спасибо за формулы.
>Если рисовать на канвасе, то можно не вычислять координат. Есть специальная >графическая функция.
Это ты про сектор?


 
ProgRAMmer Dimonych ©   (2006-11-07 00:50) [9]

> Ice ©   (07.11.06 00:32) [8]
TCanvas.Ellipse, кажется. Не сектор будет, а именно эллипс. сектор - Pie, если не ошибаюсь.


 
Ice ©   (2006-11-07 00:58) [10]

2ProgRAMmer Dimonych
Почитай сабж - не как эллипс нарисовать, а куда конец линии стрелки напрвить,
кстати, если кому надо - вот рабочий код (ахтунг!, спасиба за формулы)
lineto(x+round(m*cos(i)),y-round(m*sin(i)));


 
iZEN ©   (2006-11-07 16:28) [11]


> Ice ©   (07.11.06 00:58) [10]
>
> 2ProgRAMmer Dimonych
> Почитай сабж - не как эллипс нарисовать, а куда конец линии
> стрелки напрвить,
> кстати, если кому надо - вот рабочий код (ахтунг!, спасиба
> за формулы)
> lineto(x+round(m*cos(i)),y-round(m*sin(i)));

Переменная i считается в радианах, но это относительно большая величина и приходится использовать действительный числа (с десятичными дробями).

Её ещё можно представить в градусах или в градах (целые числа от 0 до 90 или от 0 до 100 с шагом 1 градус или град, соответственно, для первого квадранта) и считать по таблицам — это якобы быстрее, но нужна память для таблицы с заранее вычисленными полями [значение_угла:значение_косинуса:значение_синуса]. Удобно использовать в цикле со счётчиком for-to.



Страницы: 1 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
15-1161966402
Calibr
2006-10-27 20:26
2006.11.26
Время загрузки компа?


2-1162898444
ancot
2006-11-07 14:20
2006.11.26
Количество ссылок на объект


15-1162823059
Виктор1985
2006-11-06 17:24
2006.11.26
Аналог RSDN@Home для дельфимастера?


2-1162975594
WhiteBarsik
2006-11-08 11:46
2006.11.26
TADOConnection.execute, что вернет?


15-1163001680
Cerberus
2006-11-08 19:01
2006.11.26
Компонет посведки PHP.