Форум: "Прочее";
Текущий архив: 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