По какому принципу автокад считает площадь фигур? Хотелось бы узнать формулу
1) Любой многугольник, можно разделить на выпуклые многоугольники.
2) В свою очередь выпуклый многоугольник можно разбить на теугольники. Для этого выбирают какую-то точку внутри многоульника, и которой проводят отрезки к вершинам многоугольника. Дальше используется нещеольная формула Герона или ее аналог для выпуклых многугольников. Точный секрет авторы программы не раскроют, но математический принцип понятен.
3) Если говорить о кривых участках, грнаица которые включает дугу окружности, сегмент параболы (и т. д.), то в этом случае используют значение интеграла, то есть тригонометрические функции, а если нужно и гиперболические.
Принцип простой и понятный: собрать в программе наиболее продвинутые алгоритмы для расчета площади. Когда речь заходит об алгоритмах, то нужно выбирать между скоростью расчета и точностью. Никому не интересна программа, которая тратит безмное время на расчет площади простейших фигур.
PS/ Не стоит забывать о том, что в автокаде в основном используется векторная графика, поэтому пиксели в ней никто не считает.
Любой, даже криволинейный контур содержит опорные точки. По ним строится многоугольник, который разбивается на непересекающиеся треугольники, площадь которых подсчитывается по матричной или векторной формуле, исходя из 3-х заданных вершин.
Разбиение на треугольники веером понятно и просто, если выбрать дополнительную точку внутри многоугольника, но ничего не изменится, если точка выбрана снаружи и для некоторых треугольников площадь становится отрицательной. Можно также эту точку совместить с одной из вершин многоугольника. Приближённо площадь вычислена.
Если в контуре есть дуговые сегменты полилиний, то по их характеристикам (радиус, хорда, прогиб) можно найти площадь.
Эллипс с его точками может быть преобразован в соответствии с коэффициентом сжатия в окружность, а площадь дугового сегмента окружности пересчитывается назад в площадь сегмента эллипса.
Если в контуре есть сегменты сплайнов (параболы 2-го или 3-го порядков), то по их характеристикам также можно найти площадь сегментов.
Замыкающая хорда криволинейного сегмента лежит на упомянутом многоугольнике.
Заметим, что все объекты Автокада позиционируются в Мировой системе координат.
Поэтому каждый простой из перечисленных объектов (отрезок, дуга, сплайн) со своими точками и характеристиками может быть преобразован в подходящую каноническую форму кривой, но в другой системе координат, где формула площади вычисляется по несложной алгебраической или интегральной формуле, но без численного пошагового интегрирования.
К площади многоугольника добавляются выпуклые сегменты и вычитаются вогнутые по смыслу сегменты.
Это вычисление площадей занимает минимум математических операций.
Вычисление обычным методом интегрирования "столбцами" будет менее точным из-за большого числа мелких слагаемых и долгим,
и может применяться только в особых случаях..
Для вычисления объемов могут применяться обычные формулы для стандартных трехмерных тел, с пересчетом координат их угловых точек в удобную объектную ПСК. Фрагменты тела при построении создаются выдавливанием, вращением, набором параллельных сечений и т. п. В зависимости от способа создания фрагментов выбирается алгоритма вычисления их объема. Для произвольных тел применяются аналогичные рассмотренным приемы разбиения многогранника на треугольные пирамиды (тетраэдры), сходящиеся в одну дополнительную точку внутри многогранника.
Всё что заложено в геометрию тела, естественным образом используется при вычислениях, причем в "естественно" удобной системе координат, в которую переводятся координаты задающих тело точек. И делается это с помощью векторной алгебры, с помощью матриц.
Промежуточные точки кривых, отсутствующие в описании кривой, практически нет необходимости вычислять и численное пошаговое интегрирование незачем использовать.
Автокад - система с возможностью пользовательского программирования. Если пользователь введет к примеру гиперболы, то за их отображение и вычисление он будет отвечать сам, писать свои алгоритмы.
Да кто же знает какой там алгоритм вычисления? Самым общим способом может быть интегрирование. Оно подходит для фигур любой сложной формы
Не факт, шо он считает по формуле. Это ж компутер, он на выходе выдаёт графическую картинку. Он может и число пикселей унутре фигуры сосчитать при построении изображения по контурам, а потом перевести эти пиксели в привычные единицы измерения площади с учётом линейных размеров контуров...