|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Я хочу отобразить зону загрязнения на GMAP.NET, при штиле она имеет вид круга, нарисовать его можно просто. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Но как нарисовать полигон неправильной формы? Например когда дует южный ветер, пятно выбросов имеет форму параболы. Подскажите как сделать такой полигон ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 14:01 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 17:13 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2, В реальной жизни нет. Больше похоже на дым от костра. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 17:52 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Eolt, Что-то я на вижу на реальной карте параболы, которую Вы хотели нарисовать. В реальной жизни ветры разные дуют и Ваш "парабола" гораздо дальше от действительности, чем эллипс. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 18:15 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2, Правильный ответ - кривая 2ого порядка ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 18:17 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
pationCat2, Правильный ответ - кривая 2ого порядка Нет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 18:26 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Как бы я решал задачу. Построение эллипса при условии , что его большой диаметр не прямая, а кривая, которая есть функция от направления и силы ветра ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 18:54 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Eolt, если есть данные, построй просто замкнутый регион и всё а если данных нет, то какой смысл от сочинения? эллипс - и всем понятно что нарисована схематичная условность PS: обычно правда ещё и мощность в виде цвета наносят ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2019, 23:32 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2Как бы я решал задачу. Построение эллипса при условии , что его большой диаметр не прямая, а кривая, которая есть функция от направления и силы ветра И как построить элипс? Допустим эпицентр: X=4, Y=2 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 00:21 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
EoltCat2Как бы я решал задачу. Построение эллипса при условии , что его большой диаметр не прямая, а кривая, которая есть функция от направления и силы ветра И как построить э л липс? Допустим эпицентр: X=4, Y=2 y = sin(anlge) * kconst + x0; x = cos(angle) * kelips + y0; не? если точка лежит в области эллипса, вычисляем вектор из локального центра и до его окружности на прямой, где лежит наша точка, до точки лежащей на прямой от центров эллипсов в зависимости от расстояния от центров (если их много складываем вектора) до нашей точки * на какой то коэффициент и смещаем нашу точку в заданную. но это не научный подход, офк :) я не синоптик и не математик :D для ускорения можно использовать матричные трансформации. (аффинные преобразования), а в WPF с учётом его векторности, на много проще, как мне кажется. построить нужную геометрию, разместить её в layout, и всё, что душе угодно из коробки. в WinForms, всё сложнее, как мне кажется. (есть и 3D, то есть ты можешь строить полусферы и сферы) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 14:35 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
EoltИ как построить элипс? Допустим эпицентр: X=4, Y=2классика же: Алгоритм Брезенхема с дискретностью возиться смысла у тебя нет, просто афинные преобразования нанесёшь и всё PS: ну это если в дебри не углубляться и не искать оптимизаций ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 22:56 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Только сейчас понял, можно же использовать коэффициент сжатия окружности. И тогда получится элипс. Всего один параметр добавить. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 02:02 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Непонятно, как развернуть элипс под 45% к примеру. Сейчас он стоит на 90% ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 02:13 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Eolt, используй аффинные преобразования, это же просто ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 03:05 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Roman MejtesEolt, используй аффинные преобразования, это же просто можно пример как? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 12:13 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
EoltНепонятно, как развернуть элипс под 45% к примеру. Сейчас он стоит на 90% Для построения областей любой сложности используется Graphics.FillPath(Brush, GraphicsPath). https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.graphics.fillpath?view=netcore-2.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 12:15 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2Для построения областей любой сложности используется Graphics.FillPath(Brush, GraphicsPath). https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.graphics.fillpath?view=netcore-2.1 В моем случае это не подходит. Я рисую полигон в контроле GMAP через задание коллекции точек PointLatLng ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 13:36 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
EoltCat2Для построения областей любой сложности используется Graphics.FillPath(Brush, GraphicsPath). https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.graphics.fillpath?view=netcore-2.1 В моем случае это не подходит. Я рисую полигон в контроле GMAP через задание коллекции точек PointLatLng И рисуйте. Если взять достаточно много точек, то получится кривая ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 16:48 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2, не понял как, может пример кода покажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2019, 20:31 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Что-то я сегодня добрый Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 12:36 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Проект ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 12:37 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 21:12 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Eolt, Офигенно! Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2019, 23:36 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
Cat2, А как доработать ваш алгоритм, чтобы сместить эллипс так, чтобы его центр оказался на самом краю эллипса? Cейчас он находится в центре (левый скрин) а нужно чтобы выглядело как на правом рисунке ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 19:24 |
|
Создание полигонов неправильной формы. Математика.
|
|||
---|---|---|---|
#18+
EoltА как доработать ваш алгоритм, чтобы сместить эллипс так, чтобы его центр оказался на самом краю эллипса? Аналитическую геометрию Вы прогуляли, про афинные преобразования впервые услышали. Удачи в самообразовании! Тут форум по программированию, а не ликбез по математике. Сегодня я злой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2019, 20:03 |
|
|
start [/forum/topic.php?fid=20&fpage=19&tid=1398904]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 509ms |
0 / 0 |