Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - КшЫуфксрук

Страницы: [1] 2 3 ... 7
1
PHP / график
« : 25 Мая 2005, 16:06:32 »
Универсальная формула линейной трансформации шкалы: есть исходная шкала x, определенная на области [x1,x2]. Нужно преобразовать ее в шкалу y на область [y1,y2], причем x1 должен трасформироваться в y1 (y1 может быть больше или меньше y2). Понятно, что формула будет: y = a*x+b, нужно найти коэффициенты a и b. Записываем следующее выражение:

y = (x-x2)/(x1-x2)*y1 + (x1-x)/(x1-x2)*y2

Очевидно, что когда x=x1 первый член равен y1, а второй нулю. Если x=x2, то наоборот первый член равен нулю, второй y2. После простых преобразований получим:

y = (y1-y2)/(x1-x2)*x + (x1*y2-x2*y1)/(x1-x2)
a = (y1-y2)/(x1-x2)
b = (x1*y2-x2*y1)/(x1-x2)

Этому должны были научить на первом курсе любого технического вуза.

2
PHP / gdllibrary, imagefill
« : 24 Мая 2005, 20:55:49 »
vg2k Что-нибудь хорошее в Гугле нашел? Меня это тоже немного интересует, но пока не было времени поискать хорошие данные для контуров всех стран. Сейчас попробовал вытащить координаты из Математики, вот что получилось: http://risearch.org/map.png
Детализация не слишком хорошая, хотелось бы найти более детальные карты.

3
PHP / gdllibrary, imagefill
« : 23 Мая 2005, 14:30:29 »
Вместе с программой Mathematica поставляется пакет Miscellaneous`WorldData`, где есть контуры разных стран, но там слишком грубые данные, большинство стран описаны всего несколькими точками. Могу выслать, если интересует, но данные еще нужно будет распарсить.

4
PHP / gdllibrary, imagefill
« : 23 Мая 2005, 10:27:52 »
Цитировать
vg2k:
я просто понял так, что ты имел ввиду именно некий метод указаниячувствительности кисти для заливки

И это тоже. Я просто уже не помню, где это сделать. Вроде в фотошопе как раз можно было указать чувствительность.

Цитировать
Может сильно просвященные люди сразу поймут о чем речь

http://www.imagemagick.org/script/index.php

Цитировать
Для меня бы это было золото =)

Можно начать в Гугле со слов "Digital chart of the world". Но это слишком подробная карта, наверное где-нибудь можно найти попроще.

5
PHP / gdllibrary, imagefill
« : 23 Мая 2005, 01:12:51 »
А кто говорил про php.net? Если есть проблема, то ее иногда приходится решать всеми доступными средствами. Кто мешает сделать это один раз в фотошопе и сохранить? Или взять другую картинку, в гифе? Может ImageMagic умеет делать что нужно? А еще можно найти контуры стран в векторном формате в виде таблиц с координатами и рисовать самому, раскрашивая как угодно. Выбирай, какое решение тебе больше подходит.

6
PHP / gdllibrary, imagefill
« : 22 Мая 2005, 20:53:37 »
Тогда я попросил бы еще раз загрузить рисунок в графический редактор и пипеткой проверить цвет в "черной" линии. Ну нет там абсолютно черного цвета. Это ведь JPG, на границе двух цветов всегда будут возмущения цвета. Используй GIF или PNG и все будет нормально (если исходная картинка будет качественная). Или же нужно использовать другой инструмент для заливки, где можно указать не только точный цвет границы, но и threshold.

7
PHP / gdllibrary, imagefill
« : 22 Мая 2005, 18:16:54 »
А ты не пробовал посмотреть на свою картинку в любом нормальном редакторе под большим увеличением? И попиксельно проверить ручками, какие же на самом деле там есть цвета? После этого вопрос исчезнет сам собой.

8
Perl / Поиск соответсвия в двух массивах
« : 10 Августа 2004, 11:56:03 »
Phoinix
Для 20 элементов наверное нет особой разницы, как делать. Просто твой алгоритм крадратичный, а мой линейный. И зачем уходить от foreach не понятно.

NeoNox
Этот код работает немного не так, как исходный:

my @arr1 = (\'1\',\'2\',\'2\',\'4\',\'5\');
my @arr2 = (\'6\',\'1\',\'7\',\'5\',\'8\');

map { push (@m , $_) if $_{$_} > 1} grep{!$_{$_}++} @arr1, @arr2;
print $#m+1;

выдает "3", а исходный выдал бы "2".

9
Perl / Поиск соответсвия в двух массивах
« : 09 Августа 2004, 22:37:06 »
Цитировать
Гм... а собственно зачем?


1. Так правильнее. Вот этот код тоже два выдает:


my 
@arr1 = (\'11\',\'2\',\'3\',\'4\',\'5\'); 
my @arr2 = (\'6\',\'1\',\'7\',\'5\',\'8\'); 
my $i; 
foreach my $value (@arr2) {$i += grep{/$value/}@arr1} 
print $i;


2. Есть подозрение, что на больших массивах будет гораздо быстрее.

10
Perl / Поиск соответсвия в двух массивах
« : 09 Августа 2004, 20:24:09 »
Один из массивов (желательно короткий) загнать в хеш, потом пробежаться по второму массиву.

11
NeoNox так ведь я ранее писал, что если файл только дописывается в конец, то индекс перестраивать не нужно, а также нужно в конец индекса добавить новые указатели на новые данные - операция не менее мгновенная. А если же данные удаляются из середины файла, то перезапись файла займет столько времени, что перестройка индекса на фоне этой операции займет не так уж много времени.

В общем, пока не прозвучало ни одного аргумента, почему же ни в коем случае невозможно использовать хоть какое-нибудь примитивное подобие индекса.

12
Да не нужно сортировать данные. Индекс должен быть отсортирован и хранить позиции записей для каждого ID.

И действительно, ты до сих пор не сообщил, кто и как редактирует этот файл и сколько времени занимает перезапись 2-гигабайтного файла.

13
Тратить 10 секунд на простейшую операцию доступа к данным по уникальному ключу (на которую и 0.1 сек. много) - что-то мне подсказывает, что это тупиковое решение и через полгода все равно придется переписывать.

14
> Я же сказал индекс отпадает!

А без индекса никак. 2 гига по любому будут читаться более 10 секунд. Почему тот скрипт, который обновляет файл не может перстраивать индекс?

Как именно обновляется файл - новые записи просто дописываются в конец? Тогда индекс перестраивать не нужно, нужно просто добавить в конец индекса новую позицию. А если какие-то записи удаляются из середины файла, то данная операция сама по себе занимает столько времени, что и полная перестройка индекса тут ничем не помешает.

15
NeoNox

Вроде человек все понятно объяснил. Я так понял, что его интересует, возможен ли в рамках ОДНОГО соединения диалог между двумя скриптами (один из которых, скрипт-клиент, соединяется с другим, CGI-скриптом, через HTTP), или же это только запрос-ответ, после чего связь рвется и ничего сделать уже нельзя, кроме как посылать новый запрос.

Страницы: [1] 2 3 ... 7