Страница 1 из 1

помогите с курсовой

Добавлено: 03 июл 2015, 16:00
krugliy
Задали курсовой в Delphi,не могу сделать. Помогите пожалуйста)
ТЕМА: Задана топографическая поверхность в виде регулярной сеточной модели
– вычислить площадь поверхности фигуры, заданной координатами
угловых точек.
очень нужен математический апарат

Re: помогите с курсовой

Добавлено: 03 июл 2015, 19:26
gamm
krugliy писал(а):очень нужен математический апарат
аппарат нужен скорее арифметический ... используем (практически) метод прямоугольников, т.е. прямоугольную палетку.

1) Накладываем на фигуру достаточно густую регулярную ортогональную сетку с шагом dxy, для этого используем охватывающий прямоугольник фигуры

2) определяем, какие точки нашей сетки попали внутрь фигуры (ищем в сети исходник функции point_in_poly() или типа того)

3) вычисляем отметки поверхности в этих точках: ячейку сеточной модели определяем вычислением (отнимаем координаты угла, и делим на шаг сетки), внутри интерполируем билинейно по углам - смотрим в википедии элементарные формулы, если не знаем

4) определяем площадь, приходящуюся на одну точку, аппроксимируя поверхность плоскостью - для этого вычисляем градент поверхности в точке (из той же линейной интерполяции в ячейке), и из него - косинус угла нормали с вертикалью (на него делим площадь проекции, которая dxy^2)

5) суммируем отметки, вычисленные в (3) и умноженные на площади, вычисленные в (4)

6) повторяем 1-5, каждый раз сгущая сетку в 2 раза (можно сохранять прошлые точки и значения). Смотрим разность между площадями, если она меняется не более, чем на 0.001% (или типа того), то считаем, что задачка решена

7) если ничего не понятно, то идем на сайт фрилансеров, и платим денег тем, кому понятно.

Re: помогите с курсовой

Добавлено: 03 июл 2015, 19:47
trir
Картограмма блин, можно ещё ГОСТ почитать...
http://www.genplana.net/GeoniCS_net/h060543.htm

Re: помогите с курсовой

Добавлено: 03 июл 2015, 20:15
gamm
trir писал(а):Картограмма блин, можно ещё ГОСТ почитать...
http://www.genplana.net/GeoniCS_net/h060543.htm
ему же на Дельфи надо - или вы предлагаете ТС сначала это поделие (ГЕНПЛАН) на Дельфи воспроизвести? Это слишком сурово, ИМХО :mrgreen:

Re: помогите с курсовой

Добавлено: 03 июл 2015, 20:33
krugliy
gamm, математический апарат очень сложный? мне просто формулы (по шаговое решение задачи) нужно.
ты мог бы написать?

Re: помогите с курсовой

Добавлено: 04 июл 2015, 22:23
trir
Детский сад, разбей ячейку на два треугольника и посчитай их площадь
Изображение

Re: помогите с курсовой

Добавлено: 06 июл 2015, 05:42
gamm
trir писал(а):Детский сад, разбей ячейку на два и посчитай их площадь
не, в данном случае кошернее численно аппроксимировать интеграл (указанный выше косинус имеет прямое отношение к вычислению площади элементарной площадки dS, тыц) - матаппарат нужон жеж :mrgreen:

Re: помогите с курсовой

Добавлено: 19 авг 2015, 14:15
Аминодов-Борисов
В порядке бре... мозгового шторма. То, что сразу в голову пришло.
Если многоугольник, конечно, выпуклый. Если нет, то как-то по-другому. Пока не придумал, как именно.
Входные данные — массив x(n) и y(n). Координаты этих точек.
Берём точку с координатами x1 = (x(min) + x(max))/2 и y1 = (y(min) + y(max))/2.
И бежим по нашему массиву, вычисляя площади треугольников с вершинами (x(i), y(i)), (x(i+1), y(i+1)) и (x1, y1).
Расстояние между точками (оно же сторона треугольника) вычисляется по теореме Пифагора. А зная стороны треугольника, площадь можно вычислить по формуле Герона. Математика восьмого класса.