Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2015, 02:42   #1
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию "Кривая Дракона"С++

Здравствуйте,подскажите пожалуйста,как реализовать?,что нужно,какие методы?использую GDI+,как нужно хранить значение точек для линий?,посоветуйте.
Sterben вне форума Ответить с цитированием
Старый 20.12.2015, 10:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.programmersforum.ru/showt...E0%EA%EE%ED%E0
Просто переведи в Си
Только сначала определись какой тип проекта писать.
Например на Винапи вот: http://www.programmersforum.ru/showt...86%2Chdc%29%3B
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.12.2015, 11:43   #3
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
http://www.programmersforum.ru/showt...E0%EA%EE%ED%E0
Просто переведи в Си
Только сначала определись какой тип проекта писать.
Например на Винапи вот: http://www.programmersforum.ru/showt...86%2Chdc%29%3B
функция:
Код:
void Draw::DragonCurve(float dragon_x1, float dragon_y1, float dragon_x2, float dragon_y2,int dragon_number) {
	Pen pen(Color(0, 255, 0), 2);
	Pen *dragon_pen = pen.Clone();
	Point * dragon_Point;
	dragon_Point = new Point[2];
	int dragon_x, dragon_y;
	if (dragon_number > 0) {
		dragon_x = (dragon_x1 + dragon_x2) / 2 + (dragon_y2 + dragon_y1) / 2;
		dragon_y = (dragon_y1 + dragon_y2) / 2 + (dragon_x2 + dragon_x1) / 2;
		DragonCurve(dragon_x2, dragon_y2, dragon_x, dragon_y, dragon_number - 1);
		DragonCurve(dragon_x1, dragon_y1, dragon_x, dragon_y, dragon_number - 1);
	}
		dragon_Point[0] = Point(dragon_x1, dragon_y1);
		dragon_Point[1] = Point(dragon_x2, dragon_y2);
	draw_temp->DrawLine(dragon_pen, dragon_Point[0], dragon_Point[1]);
	delete[] dragon_Point;
}
WM_PAINT:
Код:
anything->BeginScene();
		anything->DragonCurve(dragon_x1, dragon_y1, dragon_x2, dragon_y2,dragon_number);
		anything->EndScene();
я все правильно понял?Рисует не то что я себе представлял,ошибка?
Sterben вне форума Ответить с цитированием
Старый 20.12.2015, 12:56   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Стопэ. У тебя какой компиль то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.12.2015, 15:05   #5
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Стопэ. У тебя какой компиль то?
Visual studio 2015
Sterben вне форума Ответить с цитированием
Старый 20.12.2015, 16:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А это, как я понимаю, CLR?
А как скриншот выглядит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.12.2015, 16:23   #7
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А это, как я понимаю, CLR?
А как скриншот выглядит?
вот так выглядит,зеленое,я использую WinApi и Gdi+,получается.
ComputerGraphics.jpg
Sterben вне форума Ответить с цитированием
Старый 20.12.2015, 17:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не знаю я что ты там такое делаешь, но вот как выглядит у меня:
Безымянный.jpg
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.12.2015, 17:21   #9
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не знаю я что ты там такое делаешь, но вот как выглядит у меня:
Вложение 78719
а могли бы вы скинуть полный код?
Sterben вне форума Ответить с цитированием
Старый 21.12.2015, 23:53   #10
Sterben
Форумчанин
 
Аватар для Sterben
 
Регистрация: 01.03.2015
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Sterben Посмотреть сообщение
а могли бы вы скинуть полный код?
Код:
dragon_x = (dragon_x1 + dragon_x2) / 2 + (dragon_y2 + dragon_y1) / 2;
dragon_y = (dragon_y1 + dragon_y2) / 2 + (dragon_x2 + dragon_x1) / 2;
неправильный расчет был
Код:
dragon_x = (dragon_x1 + dragon_x2) / 2 + (dragon_y2 - dragon_y1) / 2;
dragon_y = (dragon_y1 + dragon_y2) / 2 - (dragon_x2 - dragon_x1) / 2;
Спасибо за помощь.

Последний раз редактировалось Sterben; 22.12.2015 в 10:28.
Sterben вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04