Sitego, Так наверно
$country = ['RU','UA','BY','KZ','AM','AZ','UZ','GE'];
if (in_array($geoip_country, $country)) {
print $geoip_country;
}
kantry, да, оно, спасибо)
Добавлено: 08.05.2018 / 19:12
Всем привет. Народ, может кто сталкивался с таким. Вообщем нужен алгоритм который будет увеличивать геометрическую фигуру на заданную величину (условно n-пикселей). проблема в том, что фигура чаще всего будет многоугольником (формы могут быть самыми разными, чаще - продолговатые, в форме рек примерно) вот как заставить фигуру с имеющимися координатами увеличиться на заданное количество пикселей? Рассматривал на примере такой фигуры, координаты которой:
$values = array(
128,80, // Point 1 (x, y)
127,104, // Point 2 (x, y)
142,123, // Point 3 (x, y)
177,126, // Point 4 (x, y)
208,108, // Point 5 (x, y)
208,82,
187,63,
146,57
);
Добавлено: 08.05.2018 / 19:14
Другими словами нужно буферную зону вокруг заданной фигуры создать
В чем проблема пройтись по списку и увеличить значение каждого эл-та на нужное кол-во? Типа
$extended = array_map(function ($i) {return $i + 1}, [1, 2, 3 ,4]);
johndoe, Если мы координаты каждой вершины увеличим на определённую величину получится другая фигура)
Добавлено: 09.05.2018 / 15:42
часть уменьшить, часть увеличить.
т.е. грубо говоря ищем центр и "чертим" горизонтальные и вертикальные линии. относительно сектора, в котором находится точка увеличиваем или уменьшаем координату.
Добавлено: 10.05.2018 / 05:47
Погугли либу для работы с геометрией в php
В питоне например есть shapely для этого.
Там тупо можно сделать полигон и вызвать для него scale
https://shapely.readthedocs.io ... scale
Zidan_@777@, Тоже полазил, поискал как работать с площадью на php, решение конечно найти можно, но выглядеть оно будет так как будто дали тебе 20 лет в одиночке, но с компьютером, и вот ты от нех делать ковыряешь этот полигон
Пока искал, на таком решении остановился
Полигон SVG обрати внимание на стили
stroke:purple;stroke-width:1
kantry, johndoe, спасибо, завтра посмотрю что там к чему. Подобные вещи на php конечно извращение, но что поделать, другие способы изучать времени уже нет, придется велосипеды городить)
kantry, Действительно ведь, как я сразу не допер то)) пока про свг читал, понял что ведь можно обводку сделать банально)) правда для рисования на php обводок нет вроде как, задал толщину линии, но для многоугольника там конечно жесть получилась) контур как у пилы в некоторых местах возник, а из-за чего это я так и не понял. Вообщем перешел на СВГ, функции в принципе все те же самые, по этому мне пожалуй что не принципиально. Кстати в итоге нарисованное можно будет в растре скачать? жпег или пнг например? То что на пыхе рисуется там можно скачать, с свг пока не разбирался еще в этом вопросе, стало бы очень крутой фичей для моего случая.
Кстати есть небольшой минус этой обводки, она и внутрь фигуры тоже рисует, если бы этого избежать как нибудь, но это я еще погуглю, там по идее если что можно будет немного подшаманить так что никто этого и не поймет))
Спасибо за помощь, аж гора с плеч, а то запарился уже искать варианты как это можно было сделать.
Zidan_@777@, Тебе надо копать в html5 map там в общем то координаты те же самые, плюс все стилевые возможности, ну и svg в теории должен сохраняться, это канвас, подробности надо гуглить.