Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/103: Рейтинг темы: голосов - 103, средняя оценка - 4.81
7 / 3 / 3
Регистрация: 07.11.2014
Сообщений: 218
Записей в блоге: 1
1

Кривая Безье

07.05.2016, 17:10. Показов 19561. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вооружился статейкой на википедии https://ru.wikipedia.org/wiki/... 1%8C%D0%B5 и использовал формулу, описаную там, в своей программе, и нифига не работает.

Вот функция факториала
C++
1
2
3
4
5
6
7
8
static long Fact (int n)  // факториал
{
    long r=1;
    for (int i = 1; i <=n; i++) {
        r*=i;
    }
    return r;
}
Вот функция базиса
C++
1
2
3
4
5
float getBasis(int i, float t)
{
 
   return (Fact(n)/(Fact(i)*Fact(n-i)))*pow(t,i)*pow(1-t,n-i);
}
Вот главная функция рисования, где p[i][1] = x и p[i][2] = y i-й точки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Bezier ()
{
    float step=0.01;
    int x,y;
    float gb;
    //int **res = new int*[n];
    x=p[0][1];
    y=p[0][2];
   for (int i=0; i < n; i++)
   {
 
    for (float t = 0.01; t < 1; t+=step)
        {
           gb=getBasis(i+1, t);//if (t>1)t=1;
           x+=p[i][1]*gb;
           y+=p[i][2]*gb;
           im->LineTo(x,y);
 
        }
    }
}
На выходе получается что чертится линия от первой точки вниз экрана. Возможно я не правильно понял формулу. Подскажите где ошибся.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2016, 17:10
Ответы с готовыми решениями:

Кривая Безье
Добрый день, подскажите пожалуйста, как реализовать отрисовку Кривых Безье. Нашел кучу теории, но...

Кривая Безье по 4 точкам
Доброго времени суток. В общем зада стоит написать програмку где будет рисоваться кривая Безье, но...

Кривая Безье на основе N точек
Доброго времени суток! Вопрос такой, существует n(допустим 500) точек, по ней нужно построить...

кривой Безье
написать проектную процедуру создания кривой Безье, Желательно в С++ Добавлено через 17 часов 16...

20
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
19.05.2017, 13:33 21
Author24 — интернет-сервис помощи студентам
Уважаемый gunslinger, буду рад, если сможете присоединиться к обсуждению темы: Кривая Безье и DXF-файл
0
19.05.2017, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2017, 13:33
Помогаю со студенческими работами здесь

Кривая в C++ Builder
Ребята как по задным иксам и игрекам построить кривую x1=4,y1=-4,x2=5.18,y2=2, x3=6,y3=5;...

Кривая Эрмита
Доброго времени суток =) Не мог бы кто нибудь помочь с написание программы для построение &quot;...

Кривая сортировка пузырьком StringGrid
Есть код сортировки писал сам может что не учел но не могу понять кода жму на кнопку пропадает...

Кривая Безье в сплайн Безье
Здравствуйте. Я по специальности программист и мне нужно генерировать замкнутую кривую не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru