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

Найти координаты всех вершин правильного многоугольника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вращение фигуры http://www.cyberforum.ru/cpp-beginners/thread169094.html
Как можно сделать вращение фигуры?? Например, дан треугольник (имеется в виду графический режим в borland c++ 3.1)
C++ Считывает с клав-ы только 4 элемента из 6-ти нужных Вот код программы, который должен вычислить и вывести на экран в виде таблицы значения функции F на интервале от xk до xn с шагом dx. Проблема в том, что программа считывает только 4 первых элемента... http://www.cyberforum.ru/cpp-beginners/thread169091.html
Найти сумму всех n-значных чисел 1<=n<=4 C++
Найти сумму всех n-значных чисел 1<=n<=4 может я тупой или от голода не могу думать, но объясните мне что надо сделать в этом задании. я не прошу решения а просто объясните что тут делать???
printf - дробное число C++
Почему с помощью сout нормально выводится дробное число, а пишу printf("%4.f",z) вывоит целую часть, причем округляет
C++ Напечатать все трехзначные числа, которые при деления на 13 дают остаток 5. http://www.cyberforum.ru/cpp-beginners/thread169049.html
Никак не справлюсь, помогите..... 1). Спросить у пользователя числа a, b, c, d, e, f и решить систему ax+by=c dx+ey=f 2). Напечатать все трехзначные числа, которые при деления на 13 дают...
C++ Написать програму для подсчета элементарных функций "Написать програму для подсчета элементарных функций" - это все задание лабораторной. Я так понял нужно написать свои функции для нахождения элементарных функций. Я написал экспоненту, синус,... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.10.2014, 06:33
artemoning, интересно, вы погуглили, как переводить в полярные координаты, но поленились погуглить, как умножать комплексные числа. Для данного раздела это немного оффтопик, но объясню, благо всё просто.
Комплексное число, как я уже говорил, представлено парой чисел, первое из которых является действительной, а второе - мнимой частью комплексного числа. Комплексные числа принято записывать следующим образом:
http://www.cyberforum.ru/cgi-bin/latex.cgi?a+bi,
где http://www.cyberforum.ru/cgi-bin/latex.cgi?a - действительная часть,
http://www.cyberforum.ru/cgi-bin/latex.cgi?b - мнимая часть,
http://www.cyberforum.ru/cgi-bin/latex.cgi?i - мнимая единица, http://www.cyberforum.ru/cgi-bin/latex.cgi?i=\sqrt{-1}.
Умножаются комплексные числа так же, как пара полиномов одной переменной первой степени (т.е. надо просто раскрыть скобки по стандартным алгебраическим правилам):
http://www.cyberforum.ru/cgi-bin/latex.cgi?(a+bi)\cdot (c+di)=ac+adi+bci+bd{i}^{2}
Поскольку http://www.cyberforum.ru/cgi-bin/latex.cgi?i=\sqrt{-1}, то http://www.cyberforum.ru/cgi-bin/latex.cgi?{i}^{2}=-1, и значит:
http://www.cyberforum.ru/cgi-bin/latex.cgi?(a+bi)\cdot (c+di)=ac+adi+bci+bd{i}^{2}=ac+adi+bci-bd
Сгруппируем члены по признаку наличия в множителях мнимой единицы:
http://www.cyberforum.ru/cgi-bin/latex.cgi?(a+bi)\cdot (c+di)=ac+adi+bci+bd{i}^{2}=ac+adi+bci-bd=(ac-bd)+(ad+bc)i
Здесь http://www.cyberforum.ru/cgi-bin/latex.cgi?ac-bd - новая действительная часть, а http://www.cyberforum.ru/cgi-bin/latex.cgi?ad+bc - новая мнимая часть. Именно по этим формулам и нужно вычислять новую точку:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double oX = center.x, oY = center.y, x1 = point.x, y1 = point.y;
double radNextX = x1 - oX, radNextY = y1 - oY;
double x, y;
double polarX, polarY;
double tempX, tempY;
 
for(int i = 0; i < 8 - 1; ++i)
{
    polarX = 1 * cos(acos(-1.0)*2/8);
    polarY = 1 * sin(acos(-1.0)*2/8);
    tempX = radNextX * polarX - radNextY * polarY;
    tempY = radNextX * polarY + radNextY * polarX;
    radNextX = tempX;
    radNextY = tempY;
    x = oX + radNextX;
    y = oY + radNextY;
    NSLog(@"x = %f y = %f r = %f", x, y, sqrt(pow(oX-x, 2)+pow(oY-y, 2)));
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru