Алгоритм отрисовки рельефа, помощь |
Здравствуйте, гость ( Вход | Регистрация )
Алгоритм отрисовки рельефа, помощь |
AD |
30.3.2009, 18:24
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Что-то мозги уже не соображают. Сможете помочь с алгоритмом отрисофки рельефа? Сейчас это происходит так:
1) Весь виджет заполняется полосками нужного цвета в зависимости от высоты. 2) Далее строится линия рельефа. 3) Пробегая по оси X, заполняем прямоугольники фоновым цветом. Но это работает видимо не так, как хотелось бы. Вот код (если не увидите описания некоторых переменных - будьте уверены, они есть, но удалены из примерочного кода): relief
Ну смысл такой. Основная нагрузка на следующие функции: 1) initHeightRelief() - заполнение вектора с экранными координатами рельефа 2) initCurve() - заполнение вектора с экранными координатами траектории и вызов функции рельефа 3) drawReliefNature() - рекурсивное заполнение полоски (прямоугольника) одним цветом 4) drawReliefRect() - заполнение области экрана вертикальной проекции нужным цветом рельефа 5) drawRelief() - ну и наконец функция отрисовки рельефа (т.е. заполнение вертикальных полосок, как я расчитываю на свой код, цветом виджета). Ну остальное вроде как понятно.... Помогите разобраться, чего не хватает для правильной отрисовки? |
|
|
trdm |
30.3.2009, 18:57
Сообщение
#2
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Картинку прикрепи, что в итоге получить хочешь?
ПС. По алгоритмическим сайтам не лазил случаем? |
|
|
AD |
30.3.2009, 20:48
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Картинку прикрепи, что в итоге получить хочешь? ПС. По алгоритмическим сайтам не лазил случаем? Выглядеть должно как на 5 картинке http://www.forum.crossplatform.ru/index.ph...c=1231&st=0 11 поста. Сейчас стараюсь сделать, чтобы не было тех тормозов при отрисовке, что были, когда была сделана та картинка. А сейчас картинка выглядит так: [attachment=521:Relief.JPG] Не совсем то, что я хочу. Рельеф в итоге должен повторять контур черной линии! |
|
|
AD |
31.3.2009, 10:38
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Пока в голову ничего не приходит. Уже и три рисунка сделал и рассчитал количество и все-равно не знаю, почему не так выходит. Есть какие-нибудь идеи?
|
|
|
trdm |
31.3.2009, 13:15
Сообщение
#5
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
тут разбираться надо. лениво если чесно.
Своих логических заморочек с репортом хватает... |
|
|
AD |
31.3.2009, 14:18
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Ну вот с некоторыми огрехами, но получилось. Основная ошибка была в невнимательном чтении параметров рисуемого прямоугольника. 3 параметр - ширина, а 4 - высота.
Вот так выглядят основные функции: Раскрывающийся текст
|
|
|
AD |
1.4.2009, 14:35
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вот версия, когда все рисуется правильно! Сделал и теперь рисуется без тормозов!
Раскрывающийся текст
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 18:00 |