ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1901  
Старый 24.11.2008, 04:23
JukeBox
Новичок
Регистрация: 12.06.2008
Сообщений: 2
Провел на форуме:
49806

Репутация: 0
По умолчанию

Не совсем по С, но все же:
Есть нарисованный прямоугольник типа TRect(Borland C++) Rect(x1, y1, x2, y2)
Нужно его поворачивать вокруг заданной точки.
Неподскажите как это можно "провернуть"?
 
Ответить с цитированием

  #1902  
Старый 24.11.2008, 12:27
LuX0R
Новичок
Регистрация: 18.11.2008
Сообщений: 5
Провел на форуме:
10211

Репутация: 0
По умолчанию

Математика в руки! Пишу первое что пришло в голову, это выразить координаты точек через sin и cos.
x = R cos a
y = R sin a
Код:
...
#include <math.h>
...
/* убейте но не помню навскидку как называеться структура, вроде как Point, но не буду врать, потому определю для примера*/
struct cord  
{
	int x;
	int y;
}cord;
...
cord RotateCordinate(int R, float a) // радиуc окружности вращения, угол
{
	cord Cordinate;
	Cordinate.x = cos(a)*R;
	Cordinate.y = sin(a)*R;
	return Cordinate;
}
...
// собсно твой код
	float Alpha = 0; // угол
	int R; // радиус = половине длинны диагонали твоего прямоугольника
	cord Rectangle_1, Rectangle_2; // твои координаты
	while(...) // не знаю, для чего тебе нужно, потому условие выхода если нужно определишь сам
	{
		Clear();  // очищаем поле для рисования
		Rectangle_1 = RotateCordinate(R, Alpha);
		Rectangle_2 = RotateCordinate(R, Alpha+180); // для противоположной координаты +180 градусов
		Rect(Rectangle_1.x, Rectangle_1.y, Rectangle_2.x, Rectangle_2.y);  // (*)
		Alpha += 0,01;  // смещаем угол
		delay(40);  // примерная скорость 25 кадров в сек.
	}
...
В пункте (*) можно соответственно приплюсовать ровнение кординат, т.е. где именно будет центр окружности. Можно еще сделать через уравнение окружности. Соответственно и для трехмерных обьектов, только нужно использовать уровнение элипса.
 
Ответить с цитированием

  #1903  
Старый 24.11.2008, 13:34
agrofyl2
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме:
146826

Репутация: 17
По умолчанию

Помогите пожалуйста:
Компилятор Visual C++ 2005
Как настроить, чтобы скомпилированная программа запускалась и на другом компьютере а не только на моем?
Только конкретно, там, какие галочки и т.п.
Спасибо.
 
Ответить с цитированием

  #1904  
Старый 24.11.2008, 13:59
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

agrofyl2, попробуй:
Цитата:
Project -> Settings -> C/C++ -> Code Generation
Там есть Use Run-time Library. Ставь либо Multithreaded, либо Debug Multithreaded.
З.Ы. или просто носи с собой нужные библиотеки
 
Ответить с цитированием

  #1905  
Старый 24.11.2008, 23:39
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

while (true){
if(GetKeyboardState(keysState)==0) MessageBox(0,"Error",0,0);
if(keysState[VK_LSHIFT] > 0 ){
MessageBox(0,"Pushed","ok",0);
return 0;
}
Sleep(100);
}

никакого эффекта :/
(нада именно через GetKeyboardState)
 
Ответить с цитированием

  #1906  
Старый 25.11.2008, 00:36
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

Цитата:
Сообщение от WinUser.H  
/*
* VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
* Used only as parameters to GetAsyncKeyState() and GetKeyState().
* No other API or message will distinguish left and right keys in this way.
*/
Так, вроде работает:
Код:
	while(true)
	{
		if(GetKeyboardState(keysState)==0)
		{
			MessageBox(0,"Error",0,0);
			return 1;
		}
		if(keysState[VK_SHIFT])
		{
				MessageBox(0,"Pushed","ok",0);
			return 0;
		}
	Sleep(100);
	}
только вот Shift должен быть нажат во время запуска проги
 
Ответить с цитированием

  #1907  
Старый 25.11.2008, 11:22
Sibogatov
Познающий
Регистрация: 24.11.2008
Сообщений: 40
Провел на форуме:
89814

Репутация: 0
По умолчанию

Начал изучать С++ в папке с прогой есть Exampels вот я выбрал Hello! Когда я нажимаю выполнить или отладка у меня пишет Данный Файл не откомпилирован... что делать?
 
Ответить с цитированием

  #1908  
Старый 25.11.2008, 12:09
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Цитата:
Сообщение от Sibogatov  
Начал изучать С++ в папке с прогой есть Exampels вот я выбрал Hello! Когда я нажимаю выполнить или отладка у меня пишет Данный Файл не откомпилирован... что делать?
возможно....скомпилировать?
 
Ответить с цитированием

  #1909  
Старый 25.11.2008, 12:27
LuX0R
Новичок
Регистрация: 18.11.2008
Сообщений: 5
Провел на форуме:
10211

Репутация: 0
По умолчанию

ммм... ответ прост: Откомпилировать! Позвольте полюбопытствовать: а в какой среде разработки вы программируете? Из всех установленных у миня:
Builder 6.0 Run->Run (F9)
Microsoft Vsual C++ 6.0 Build->Build (F7) или Build->Execute (Ctrl+F5)
Visual Studio 2005 Build->Build Solution (F6)
Turbo C 3.0 Compile->Compile (Alt+F9) или Compile->Make (F9), а потом Run->Run (Ctrl+F9)
В Dev-C++ не помню, но по моему F9 точно компилит и запускает.
 
Ответить с цитированием

  #1910  
Старый 25.11.2008, 14:32
Sibogatov
Познающий
Регистрация: 24.11.2008
Сообщений: 40
Провел на форуме:
89814

Репутация: 0
По умолчанию

всё сделал... а можно примеры маленьких программ каких не буть?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ