Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Заполнение массива   Найти похожие ветки 

 
ZedeS   (2004-03-04 00:22) [0]

Доброго времени суток!
Проблема:  Есть полоскость (двухмерный массив), на плоскость в произвольном порядке размещаем фигуры(есть мат.функция построения этих фигур), как заполнить массив согласно этой ф-ции, Например, парабола, под ней все ел-ты =1, а вне ее =0, и т.д.
Заранее спасибо!


 
Defunct ©   (2004-03-04 00:30) [1]

Попробуйте нарисовать графики функций на Canvas и вопрос решен. Двухмерным массивом будет Canvas.Pixels[x,y].


 
Alexander666 ©   (2004-03-04 04:29) [2]

А если тебе надо быстро с этим делом расправляться, то используй ScanLine. Можешь посмотреть в справке, там даже пример дан.


 
TButton ©   (2004-03-04 04:35) [3]

ScanLine - фуфел. в порядке эксперемента сканлайнил bitmap 256x256px каждый сканлайн занимал ~500мс итого почти две минуты упорного сканирования.


 
Alexander666 ©   (2004-03-04 05:06) [4]

Не знаю как у вас, но у меня работает быстро и надежно...


 
MBo ©   (2004-03-04 07:15) [5]

>ScanLine - фуфел. в порядке эксперемента сканлайнил bitmap 256x256px каждый сканлайн занимал ~500мс
Это с руками что-то...


 
Юрий Зотов ©   (2004-03-04 07:21) [6]

> MBo ©   (04.03.04 07:15) [5]

Известно что - фуфел.


 
TUser ©   (2004-03-04 07:52) [7]

А какой смыст вообще ее рисовать на Canvas. Вычисляем значение этой параболы, потом, если больше - то единица, если меньше - то ноль.


 
Юрий Зотов ©   (2004-03-04 07:57) [8]

> TUser ©   (04.03.04 07:52) [7]

Ветви параболы могут быть направлены и вверх, и вниз.
Выходит, надо еще учитывать знак первого коэффициента.


 
Кщд   (2004-03-04 10:23) [9]

Юрий Зотов ©   (04.03.04 07:57) [8]
зависит от того, что автор подразумевает под своими неясными "под и над"


 
TUser ©   (2004-03-04 10:30) [10]

Все равно на канве рисовать ничего не надо. Берем ф-цию (пусть даже и не параболу), вычиялем ее значения в опр. точках, округляем как нам нравится. Потом считаем, больше или меньше.


 
ZedeS   (2004-03-07 10:24) [11]

Спасибо!
Есть еще один вопрос. Как теперь эту параболу математически нагнуть на X градусов вправо относительно вертикали(например). Это вопрос из курса матеметики, но полиставши пару книжек - не нащел.
Может кто в курсе.
Заранее спасибо!


 
YurikGl ©   (2004-03-07 10:52) [12]

Почитай про поверот координатной сетки.


 
YurikGl ©   (2004-03-07 10:52) [13]

Пардон, "поворот"


 
GrayFace ©   (2004-03-07 12:05) [14]

>YurikGl [12]
Для тебя сдвиг и поворот - это одно и тоже?
ZedeS, Подставь x-сдвиг вправо вместо x.


 
YurikGl ©   (2004-03-07 12:06) [15]

Re [14]. Я так понял, что ему надо повернуть параболу относительно какой-то точки.


 
ZedeS   (2004-03-07 15:37) [16]

Правилно, повернуть, а не сдвинуть. Со сдвигом все ясно.
То YurikGl
Подскажите, где можно почитать. (или икать в книжках по математике?)


 
YurikGl ©   (2004-03-07 16:12) [17]

Я помню, что на лекциях по вышке было что-то вроде этого. Задачи типа даны точки с такими-то координатами. Найти их координаты в другой координатной сетке, у которой центр там-то и она повернута на столько-то градусов. Как это делали, я уже не помню. Так-что ищите в аналитической геометрии на плоскости.


 
ZedeS   (2004-03-07 18:16) [18]

Книги нет, в библиотеку - некогда. Посчитал сам.
Получилось: x1=x*sin(a)*cos(a-45)
           y1=y*cos(a)*sin(a-45), а - угол поворота по часовой.
Если кто знает что это неверно, то пожайлуста чиркните как правильно!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.052 c
14-1077521156
Думкин
2004-02-23 10:25
2004.03.28
Знание.


6-1073976397
Alex*
2004-01-13 09:46
2004.03.28
NMPOP3 проблемы с кодировкой


3-1077182782
smolin
2004-02-19 12:26
2004.03.28
FoxPro Memo - поля


14-1077712071
Vlad
2004-02-25 15:27
2004.03.28
И снова пингвины...


1-1079010862
Goida
2004-03-11 16:14
2004.03.28
Ошибка из Excel. Не пойму почему.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский