Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как я делаю Безье - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверить является ли скобочное выражение правильным http://www.cyberforum.ru/cpp-beginners/thread1075048.html
Является ли выражения вида ()()()()()())))()( правильным, на вход подается символы '(' и ')' в любой последовательности.
C++ Найти сумму элементов последовательности с четными номерами Данная последовательность целых чисел, за которой следует 0. Найти сумму элементов с четными номерами с этой последовательности. http://www.cyberforum.ru/cpp-beginners/thread1075041.html
C++ setlocale( LC_ALL,"Russian" );
#include <iostream> #include <string> using namespace ::std; void main () { setlocale( LC_ALL,"Russian" ); string a; cout << "Привет мир\n"; cin >> a; cout << a; system("PAUSE");
C++ Задача с шахматами
На шахматной доске расставлены три фигуры. Используя стандартные правила шахматной игры, определить бьют они друг друга или нет. Расположение фигур вводится пользователем с клавиатуры в общепринятой...
C++ Сократить код ( Вырубка деревьев (Время: 1 сек. Память: 16 Мб Сложность: 46%) http://www.cyberforum.ru/cpp-beginners/thread1075004.html
всем привет решил написать код от 24-ой задачи с ******** Вырубка деревьев (Время: 1 сек. Память: 16 Мб Сложность: 46%) Король Флатландии решил вырубить некоторые деревья, растущие перед его...
C++ Ввести элементы двумерного массива с клавы С++.Нужно вывести его на экран в виде таблицы, в конце каждой строки надо вывести самый большой элемент Вот мой код : #include <iostream> #include <Windows.h> using namespace std; using std::cout; using std::cin; int main(int argc, char* argv) { подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619

Как я делаю Безье - C++

18.01.2014, 20:37. Просмотров 181. Ответов 0
Метки (Все метки)

Сплайн описывается уравнением: http://www.cyberforum.ru/cgi-bin/latex.cgi?\left{x=x_0*(1-t)^3+x_1*t*(1-t)^2+x_2*t^2*(1-t)+x_3*t^3\\y=y_0*(1-t)^3+y_1*t*(1-t)^2+y_2*t^2*(1-t)+y_3*t^3, где t - параметр, меняющийся от 0 до 1, поэтому
C++
1
2
3
4
5
Canvas.MoveTo(x0, y0);
for (t=0.001; t<=1.0; t+=0.001)
{
 Canvas.LineTo(x0*(1.0-t)*(1.0-t)*(1.0-t)+x1*t*(1.0-t)*(1.0-t)+x2*t*t*(1.0-t)+x3*t*t*t, y0*(1.0-t)*(1.0-t)* (1.0-t)+y1*t*(1.0-t)*(1.0-t)+y2*t*t*(1.0-t)+y3*t*t*t);
}
: в цикле считаю тысячу точек и соединяю их отрезками, разглядеть потом угловатость получается лишь ту, что происходит из растра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru