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

Создание крутящегося каркасного куба - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение квадратных уравнений http://www.cyberforum.ru/cpp/thread102682.html
Даны вещественные числа a,b,c,d,e,f.Уравнения ах2 + bх + с = 0 и dx2 + ex + f = 0. Написать программу . если решать по формуле b*b-4*a*c>=0 && e*e-4*d*f>=0
C++ В файле заданы координаты концов отрезков. Вывести их на экран в файле задано координаты концов отрезков. Вівести их на екран. Количество отрезков не известно помогите осуществить ету задачу, мне нада имено работа з файлами, остальное я зделал http://www.cyberforum.ru/cpp/thread102640.html
Определить номер первого из столбцов матрицы, содержащих хотя бы один нулевой элемент C++
1)Дана целочисленная прямоугольная матрица, определить номер первого из столбцов , содержащих хотя бы один нулевой элемент. 2)Характеристикой строки целочисленной матрицы назовем сумму её отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик Добавлено через 33 секунды Плиз помогите=(((не могу справится по с++
Видео с монитора на удаленный монитор C++
Сломался монитор у домашнего компа и хочу написать маленькую прогу для трансфера видео с этого бедняги на ноут под MacOS Сначала хотел определять RGB каждого пикселя и слать его по TCP, однако понял, что слать по пикселю каждые 10мс это воопервых медленно (разрешение то от 1280*800 до 1600*900 ....) и во вторых зафлужу сеть к чертям, особенно отрубив на то защиту. Потом хотел обьединить...
C++ Ошибка при удалении динамической памяти http://www.cyberforum.ru/cpp/thread102114.html
В этой программе, без цикла функция DeleteImage() работает нормально, а в фикле - вылетает. В чем проблема? Вот вывод: ./temp I 5 6 X terminate called after throwing an instance of 'std::length_error' what(): basic_string::_S_create Aborted
C++ Уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке Задание вот такое - уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке методом половинного деления (дихотомии) с точностью 0.001. Вот уравнение x^4 +x – 1=0, отрезок . Поиском пользовался, но примеров именно в C не нашел. Мне бы пример кода для C. Помогите пожалуйста. подробнее

Показать сообщение отдельно
Зоти Сергей
 Аватар для Зоти Сергей
228 / 226 / 13
Регистрация: 18.12.2009
Сообщений: 316
10.03.2010, 14:11     Создание крутящегося каркасного куба
Ну.. вот так как-то...
Написал на билдере. Если надо выложу проект..
Если чего не понятно - спрашивайте.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <complex.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
typedef complex<double>Complex;
struct C3DPoint
{
        double x;
        double y;
        double z;
};
//---------------------------------------------------------------------------
struct CCube
{
        C3DPoint Points[8];
};
//---------------------------------------------------------------------------
CCube Cube;
void InitCube()
{
        Cube.Points[0].x=-100;
        Cube.Points[0].y=-100;
        Cube.Points[0].z=-100;
        Cube.Points[1].x= 100;
        Cube.Points[1].y=-100;
        Cube.Points[1].z=-100;
        Cube.Points[2].x= 100;
        Cube.Points[2].y= 100;
        Cube.Points[2].z=-100;
        Cube.Points[3].x=-100;
        Cube.Points[3].y= 100;
        Cube.Points[3].z=-100;
        Cube.Points[4].x=-100;
        Cube.Points[4].y=-100;
        Cube.Points[4].z= 100;
        Cube.Points[5].x= 100;
        Cube.Points[5].y=-100;
        Cube.Points[5].z= 100;
        Cube.Points[6].x= 100;
        Cube.Points[6].y= 100;
        Cube.Points[6].z= 100;
        Cube.Points[7].x=-100;
        Cube.Points[7].y= 100;
        Cube.Points[7].z= 100;
}
//---------------------------------------------------------------------------
void RotateCube(double XAngle, double YAngle, double ZAngle)
{
        double Angle;
        Complex CurCoord;
        for(int i=0;i<8;i++)
        {
                Angle =  -(M_PI * XAngle) / 180;
                CurCoord=Complex(Cube.Points[i].y,Cube.Points[i].z);
                CurCoord*=std::polar(1.0, Angle);
                Cube.Points[i].y=real(CurCoord);
                Cube.Points[i].z=imag(CurCoord);
        }
 
        for(int i=0;i<8;i++)
        {
                Angle =  -(M_PI * YAngle) / 180;
                CurCoord=Complex(Cube.Points[i].x,Cube.Points[i].z);
                CurCoord*=std::polar(1.0, Angle);
                Cube.Points[i].x=real(CurCoord);
                Cube.Points[i].z=imag(CurCoord);
        }
 
        for(int i=0;i<8;i++)
        {
                Angle =  -(M_PI * ZAngle) / 180;
                CurCoord=Complex(Cube.Points[i].x,Cube.Points[i].y);
                CurCoord*=std::polar(1.0, Angle);
                Cube.Points[i].x=real(CurCoord);
                Cube.Points[i].y=imag(CurCoord);
        }
}
//---------------------------------------------------------------------------
void DrawCube(TCanvas * Canvas)
{
        TRect Rect = Canvas->ClipRect;
        Canvas->Brush->Color=clInfoBk;
        Canvas->FillRect(Rect);
        Canvas->Pen->Color=clRed;
        int HalfX=Rect.Width()/2;
        int HalfY=Rect.Height()/2;
        Canvas->MoveTo(HalfX+Cube.Points[0].x,HalfY+Cube.Points[0].y);
        for(int i=1;i<4;i++)
                Canvas->LineTo(HalfX+Cube.Points[i].x,HalfY+Cube.Points[i].y);
        Canvas->LineTo(HalfX+Cube.Points[0].x,HalfY+Cube.Points[0].y);
        Canvas->MoveTo(HalfX+Cube.Points[4].x,HalfY+Cube.Points[4].y);
        for(int i=4;i<8;i++)
                Canvas->LineTo(HalfX+Cube.Points[i].x,HalfY+Cube.Points[i].y);
        Canvas->LineTo(HalfX+Cube.Points[4].x,HalfY+Cube.Points[4].y);
        for(int i=0;i<4;i++)
        {
                Canvas->MoveTo(HalfX+Cube.Points[i].x,HalfY+Cube.Points[i].y);
                Canvas->LineTo(HalfX+Cube.Points[i+4].x,HalfY+Cube.Points[i+4].y);
        }
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        InitCube();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
        static int LastPos=TrackBar1->Position;
        RotateCube(LastPos-TrackBar1->Position, 0, 0);
        DrawCube(Image1->Canvas);
        LastPos=TrackBar1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar2Change(TObject *Sender)
{
        static int LastPos=TrackBar2->Position;
        RotateCube(0, LastPos-TrackBar2->Position, 0);
        DrawCube(Image1->Canvas);
        LastPos=TrackBar2->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar3Change(TObject *Sender)
{
        static int LastPos=TrackBar3->Position;
        RotateCube(0, 0, LastPos-TrackBar3->Position);
        DrawCube(Image1->Canvas);
        LastPos=TrackBar3->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
        DrawCube(Image1->Canvas);
}
//---------------------------------------------------------------------------
 
Текущее время: 12:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru