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

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
krugliy
Новоприбывший
Сообщения: 2
Зарегистрирован: 03 июл 2015, 15:55
Репутация: 0

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

Сообщение krugliy »

Задали курсовой в Delphi,не могу сделать. Помогите пожалуйста)
ТЕМА: Задана топографическая поверхность в виде регулярной сеточной модели
– вычислить площадь поверхности фигуры, заданной координатами
угловых точек.
очень нужен математический апарат
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

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

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

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

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

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

7) если ничего не понятно, то идем на сайт фрилансеров, и платим денег тем, кому понятно.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir »

Картограмма блин, можно ещё ГОСТ почитать...
http://www.genplana.net/GeoniCS_net/h060543.htm
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

Сообщение krugliy »

gamm, математический апарат очень сложный? мне просто формулы (по шаговое решение задачи) нужно.
ты мог бы написать?
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir »

Детский сад, разбей ячейку на два треугольника и посчитай их площадь
Изображение
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

trir писал(а):Детский сад, разбей ячейку на два и посчитай их площадь
не, в данном случае кошернее численно аппроксимировать интеграл (указанный выше косинус имеет прямое отношение к вычислению площади элементарной площадки dS, тыц) - матаппарат нужон жеж :mrgreen:
Аминодов-Борисов
Активный участник
Сообщения: 153
Зарегистрирован: 02 авг 2014, 18:29
Репутация: 24
Откуда: Москва

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

Сообщение Аминодов-Борисов »

В порядке бре... мозгового шторма. То, что сразу в голову пришло.
Если многоугольник, конечно, выпуклый. Если нет, то как-то по-другому. Пока не придумал, как именно.
Входные данные — массив 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).
Расстояние между точками (оно же сторона треугольника) вычисляется по теореме Пифагора. А зная стороны треугольника, площадь можно вычислить по формуле Герона. Математика восьмого класса.
Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя