Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1163084546
Greenchel
2006-11-09 18:02
2006.11.26
Фильтрация символов в TEdit


2-1162898517
alucard
2006-11-07 14:21
2006.11.26
Подскадине где компонент SocketConnection?


8-1145261176
TRyaSS
2006-04-17 12:06
2006.11.26
Кто знает, подскажите плз, каким образом можно кривые хранить?


4-1152247162
DanilinS
2006-07-07 08:39
2006.11.26
Экспорт информации из другой программы.


2-1162915841
Серый
2006-11-07 19:10
2006.11.26
Бегущая строка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский