Если у меня есть массив точек (x, y, z) и задана одна точка (x, y, z) , какой код я использую, чтобы определить, находится ли эта точка внутри формы, определенной массивом?Определить, находится ли точка (x, y, z) внутри формы, заданной массивом точек
Я рисую пустой на этом ...
Я использую C#
EDIT
Спасибо за ответы, ребята, из комментариев, которые я нашел эту ссылку (http://alienryderflex.com/polygon/), что объясняет процесс достаточно хорошо.
Спасибо!
FYI:
bool pointInPolygon() {
int i, j=polySides-1 ;
boolean oddNodes=NO ;
for (i=0; i<polySides; i++) {
if (polyY[i]<y && polyY[j]>=y
|| polyY[j]<y && polyY[i]>=y) {
if (polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x) {
oddNodes=!oddNodes; }}
j=i; }
return oddNodes; }
Это будет нужна работа, но вот внутренности его.
Еще раз спасибо
Возможный дубликат [C# Point in polygon] (http://stackoverflow.com/questions/4243042/c-point-in-polygon) –
Это хорошо известный значок. См. Http://en.wikipedia.org/wiki/Point_in_polygon –
Ваша проблема не указана. Как массив определяет форму? Является ли это выпуклой оболочкой точек в массиве? Или существует какой-то порядок многогранного треугольника, который определяет многогранник? –