Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
MSC398
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 6
#1

Как пройти по прямой в массиве?

18.10.2013, 20:11. Просмотров 318. Ответов 1
Метки нет (Все метки)

Имеется BITMAP, конвертирую его в массив:
Javascript
1
2
3
4
5
6
7
8
for(x = 0; x < W; x++){
            for(y = 0; y < H; y++){
                int pixelColor = bmp.getPixel(x, y);
                int pixelRed = Color.red(pixelColor);
                frame [x][y] = pixelRed;
                                .......
            }
        }
как заполнить прямую, к примеру черными пикселями
Начало прямой : frame [50][95]
Конец прямой : frame [150][635] ?
0
Миниатюры
Как пройти по прямой в массиве?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 20:11
Ответы с готовыми решениями:

Как разместить 2 элемнта с центаром на одной прямой?
Я не могу понять, как можно в активности разместить два элемента так, чтобы их...

Как в двумерном массиве найти сумму элементов обратной и прямой диагонали
Ребят, столкнулся с проблемой - никак не могу написать код программы, который...

Как найти угол поворота прямой, по двум точкам другой прямой?
Здравствуйте, не думаю что правильно сформулировал заголовок темы, но стоит...

Прямой поиск в массиве строк
Помогите реализовать алгоритм поиска в массиве строк(через структуру). Имеем...

Найти длину наименьшего отрезка числовой прямой в массиве
Дан линейный массив, содержащий N целых чисел. Нужно найти длину наименьшего...

1
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
18.10.2013, 20:47 #2
Вам нужен
Алгоритм Брезенхэма
Вот, на С реализация:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void drawLine(int x1, int y1, int x2, int y2) {
        int dX = abs(x2 - x1);
        int dY = abs(y2 - y1);
        int sX = x1 < x2 ? 1 : -1;
        int sY = y1 < y2 ? 1 : -1;
        int e = dX - dY;
        while(true) {
                putpixel(x1, y1);
                if(x1 == x2 && y1 == y2)
                        break;
                int e2 = e * 2;
                if(e2 > -dY) {
                        e -= dY;
                        x1 += sX;
                }
                if(e2 < dX) {
                        e += dX;
                        y1 += sY;
                }
        }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 20:47

Как пройти антиплагиат?
Здравствуйте, ребята. Проблема у меня олна возникла. Написал диплом, а через...

Как пройти тест
Подскажите пожалуйста как пройти тест, в углу наверное (я просто предполагаю)...

Как пройти лабиринт?
Дали задание пройти лабиринт. Помогите понять каким образом я должен это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru