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

Поворот фигуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск простых чисел http://www.cyberforum.ru/cpp-beginners/thread359314.html
to idetify if the given K is prime or not. Prime number is the number that can be divided by 1 and by itself ONLY. If given number is prime output "YES",otherwise ouput "NO". Input: Only one line with n number.(1<=N=<1000) Output: Only one line with "YES" or "NO". Sample input 1: 4
C++ Почему не хочет читать статические члены-данние класса???? Вот мой код.Вибивает ерор:1>SAS.obj : error LNK2001: неразрешенный внешний символ ""private: static int Distance::m_kilk" (?m_kilk@Distance@@0HA)".В чем дело????? #include "stdafx.h" #include<iostream> #include<conio.h> using namespace std; class Distance { private: http://www.cyberforum.ru/cpp-beginners/thread359305.html
контейнер map C++
Помогите, пожалуйста дописать программу. Определите карту, в которой ключом является фамилия семьи, а значением вектор, который содержит имя ребёнка и его возраст. Заполните карту по крайней мере 6 елементами. Проверить работоспособность карты. #include <iostream> #include <vector> #include <string> #include <map> using namespace std; int main ()
функция по массиву с выбором C++
Во всех приведенных ниже вариантах использовать меню для организации работы программы, исходные данные предварительно записать в текстовый файл. Разработать схему алгоритма и программу, используя функции с параметрами для ввода массива и его обработки. В массиве хранятся данные об осадках за месяц. Найти • Количество дней с осадками больше среднего вот накидал вариант функций ввода массива и...
C++ Ошибка С2143. http://www.cyberforum.ru/cpp-beginners/thread359282.html
День добрый. Вылезла такая проблема. При компиляции студия пишет: Ошибка 1 error C2143: синтаксическая ошибка: отсутствие ";" перед "->" d:\test refuel\Form1.h 547 1 Test refuel Вот код модуля: int refuelM(int tonns) { // If all tanks full int b1f = 3300; int b2f = 9500; int b3f = 5425;
C++ Найти наибольший общий делитель трех чисел заданы 3 числа найти их наибольший общий делитель подробнее

Показать сообщение отдельно
Exeil
5 / 5 / 1
Регистрация: 06.12.2010
Сообщений: 50

Поворот фигуры - C++

02.10.2011, 13:19. Просмотров 2896. Ответов 2
Метки (Все метки)

Всем привет, нужна ваша помощь:
Я сделал функцию для поворота фигуры, но после многократного применения фигура трансформируется, уменьшается и за 10-20 применений исчезает. Возможно дело в потере точности

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
        p[0].x = 50; p[0].y = 50;
        p[1].x = 50; p[1].y = 150;
        p[2].x =  150; p[2].y = 150;
        p[3].x =  150; p[3].y = 50;
        p[4].x = 50; p[4].y = 50;
 
        RotateVertex(p, 100, PI/3, 5);
        p[4].x = p[0].x; p[4].y = p[0].y;
*/
 
void RotateVertex(POINT *point, int size, float angle, int n) //angle - угол
{
    int i, x, y, dx, dy, radius;
    float point_angel;
 
    ////функция для нахождения центра фигуры
    POINT middle = CenterVertex(point, n); 
 
 
    for(i = 0; i < n; i++)
    {
        //центруем фигуру
        x = point[i].x - middle.x;
        y = point[i].y - middle.y;
 
        //находим радиус вектора в данную точку
        radius = sqrt((float) x*x + y*y);
        //находим угол между вектором и вектором i
        point_angel = acosf((float) x / radius);
 
        //т.к. в формуле нахождения угла между единичным вектором i и вектором  в точку 
        //пришлось менять знак самостоятельно
        if(y > 0) point_angel = -point_angel; 
 
 
        dx =   (float) radius * cosf(angle + point_angel);
        dy = -((float) radius * sinf(angle + point_angel));
 
        //пишем результат и возвращаем координатную ось
        point[i].x = dx + middle.x;
        point[i].y = dy + middle.y;
    }
}
Буду благодарен любой помощи.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru