Уроки, алгоритмы, программы, примеры

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

У меня проблема вот с этим: gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);. Вылезает ошибка: CS1061 "object" не содержит определения "GL_COLOR_BUFFER_BIT", и не удалось найти доступный метод расширения "GL_COLOR_BUFFER_BIT",...
Большое спасибо. Единственный код который прошел без каких либо ошибок. Ура!!!
Скажите пожалуйста, подскажите алгоритм по которому по заданным точкам можно определить тип многогранника, скажем это куб или прямоугольный параллелепипед. Нашел теорию по этим фигурам: https://www.mat... https://www.mat... Акцентировать внимание...
Всем у кого не работает. файл wizard.script Ещё одно упоминание Glut32 в строке "if (!VerifyLibFile(dir_nomacro_lib, _T("glut32"), _T("GLUT's"))) return false;" меняем на "if (!VerifyLibFile(dir_nomacro_lib, _T("freeglut"), _T("GLUT's"))) return...
Не получается, емаё

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика



Расстоянием от точки до отрезка является либо перпендикуляр, опущенный из этой точки на отрезок, либо минимальное расстояние от точки до одного из концов отрезка.
Если треугольник, вершинами которого является данная точка и концы заданного отрезка, является тупоугольным (проверка на тупоугольность проводится рассмотрением знака скалярного произведения соответствующих векторов, построенных на сторонах треугольника (кос тупого угла отрицательный))(т. е. из данной точки невозможно опустить перпендикуляр на данный отрезок), то расстоянием от точки до отрезка считается минимальное расстояние от данной точки, до одного из концов отрезка. Оно определяется с помощью формулы:
((х1- х2)2 + (у1 - у2)2)-1/2.

Если все же перпендикуляр опустить возможно, то расстоянием от точки до отрезка считается длина этого перпендикуляра. Ее можно определить двумя способами:
1) посчитав площадь треугольника по двум формулам (полувысота на сторону и полупроизведение сторон на синус угла между ними) мы можем выразить высоту как:
h = (AC • AB • sin (AC, AB)) / BC ;

2) можем определить координаты точки пресечения отрезка с перепендикуляром, опущенным из данной точки на отрезок и посчитать расстояние между двумя точками. Для этого сначала нам надо найти уравнение перпендикуляра к данной прямой, проходящего через данную точку, затем решить систему уравнений (k и l - координаты вершины перпендикуляра, x1, y1, x2, y2 - координаты концов отрезка):
(1)(x - x1)(y2 - y1) = (y - y1)(x2 - x1)
(2) (x - k)(x2 - x1) = - (y - l)(y2 - y1)
Если (x2 - x1) = 0, то решение:
x = x1
y = l
.
Если (y2 - y1) = 0, то решение:
y = y1
x = k
.
В остальных случаях (пусть (x2 - x1) = α, (y2 - y1) = β):
x = (α / β) (y - y1) + x1
y = ((α2 / β)y1 + α (k - x1) + βl) / ((α2 / β) + β)
.