Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2014, 21:11   #1
Kapitan4ik
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 47
По умолчанию Парабола на канве

Всем привет.
На канве по центру расположены оси и окружность(радиус окружности задаю я сам).
Как из начала координат провести параболу?
Заранее спасибо
Kapitan4ik вне форума Ответить с цитированием
Старый 08.02.2014, 21:28   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
const
  x0 = 100;
  y0 = 150;
  a = 10;
  b = 400;
var
  x: integer;
...
  x := a;
  canvas.MoveTo(x, -(x - x0) * (x - x0) + y0);
  for x := a to b do
    canvas.lineto(x, -(x - x0) * (x - x0) + y0);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.02.2014, 21:32   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Kapitan4ik Посмотреть сообщение
Как из начала координат провести параболу?
Какую параболу? Или все равно, лишь бы параболу.
type_Oleg вне форума Ответить с цитированием
Старый 08.02.2014, 21:33   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

окружность нарисовали, а параболу не смогли.. все равно что отгадал все буквы не смог отгадать слова
eval вне форума Ответить с цитированием
Старый 08.02.2014, 21:46   #5
Kapitan4ik
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 47
По умолчанию

Забыл написать, парабола обычная, x^2.

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
const
  x0 = 100;
  y0 = 150;
  a = 10;
  b = 400;
var
  x: integer;
...
  x := a;
  canvas.MoveTo(x, -(x - x0) * (x - x0) + y0);
  for x := a to b do
    canvas.lineto(x, -(x - x0) * (x - x0) + y0);
Спасибо, но по-вашему коду рисуется вот такое:
Kapitan4ik вне форума Ответить с цитированием
Старый 08.02.2014, 22:07   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно, потому что нужно не бездумно копипастить а внимательно изучать предложенное. В примере BDA canvas относится к форме
Соответственно тебе нужно применить указанные методы для канвы твоего компонета, что отображает рисунок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.02.2014, 22:15   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ну и не забыть задать центр координат
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.02.2014, 22:42   #8
Kapitan4ik
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 47
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну и не забыть задать центр координат
Спасибо огромное, получилось.

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну и не забыть задать центр координат
Еще вопрос, как по вашему способу увеличить параболу в размерах?
Выставляю перед скобкой большее число-парабола наоборот сужается. Пытаюсь подставить дробь-там только целочисленные значения

Последний раз редактировалось Stilet; 09.02.2014 в 10:20.
Kapitan4ik вне форума Ответить с цитированием
Старый 08.02.2014, 23:22   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
round(-(x - x0) * (x - x0) / 2 + y0)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.02.2014, 23:28   #10
Kapitan4ik
Пользователь
 
Регистрация: 25.10.2011
Сообщений: 47
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
round(-(x - x0) * (x - x0) / 2 + y0)
Вот теперь точно все. Спасибо огромное
Kapitan4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Окружность на канве Utkin Общие вопросы Delphi 1 15.11.2013 18:11
[C]Задаётся круг с центром и радиусом и задаётся парабола квадратическая ELked Помощь студентам 1 16.10.2012 00:56
цвета на канве Juffin Общие вопросы Delphi 3 17.05.2009 21:57
Мерцание на Канве SERG1980 Мультимедиа в Delphi 3 30.04.2008 08:14
парабола Diller Помощь студентам 3 23.06.2007 15:20