Аналитическое решение задачи о пересечении прямой и плоскости, видимости прямой

Первый этап: ”Вычисление коэффициентов плоскости”.

Коэффициенты плоскости вычисляются с помощью метода Ньюэла следующим образом:

A=(YA-YB)*(ZA+ZB)+(YB-YC)*(ZB+ZC)+(YC-YA)*(ZC+ZA);

B=(ZA-ZB)*(XA+XB)+(ZB-ZC)*(XB+XC)+(ZC-ZA)*(XC+XA);

C=(XA-XB)*(YA+YB)+(XB-XC)*(YB+YC)+(XC-XA)*(YC+YA);

D=-(A*XA+B*YA+C*ZA),

где A, B, C, D – коэффициенты плоскости; (XA, YA,ZA), (XB,YB,ZB) и (XC,YC,ZC) точки принадлежащие данной плоскости.

Второй этап: “Нахождение точки пересечения плоскости и прямой”.

if((A*(XM - XN) + B*(YM - YN) + C*(ZM - ZN))!=0)

{

t=(float)(A*XM + B*YM + C*ZM + D)/(float)(A*(XM - XN) + B*(YM - YN) + C*(ZM - ZN));

};

if (t>=0 && t<=1)

{

XT =XM + (float)(XN - XM)*t;

YT =YM + (float)(YN - YM)*t;

ZT =ZM + (float)(ZN - ZM)*t;

}

где t –это параметр; (XT,YT,ZT) – точка пересечения прямой и плоскости.

Третий этап: ” Определение видимости отрезка”.

if(B<0)

{

A=-A;

B=-B;

C=-C;

D=-D;

}

if((A*XM + B*YM + C*ZM +D)>0)

{

visiblm = true;

}

else if((A*XM + B*YM + C*ZM +D)<0)

{

visiblm = false;

};

if((A*XN + B*YN + C*ZN +D)>0)

{

visibln = true;

}

else if((A*XN + B*YN + C*ZN +D)<0)

{

visibln = false;

}

else if((A==0 && B==0 && C==0)||((A*(XM - XN) + B*(YM - YN) + C*(ZM - ZN))==0)||abs(B)<delta)

{

visibln = true;

visiblm = true;

}

Многогранники. Основные понятия. Образование поверхностей некоторых многогранников.

Многогранником называется совокупность таких плоских многоугольников, у которых каждая сторона одного является одновременно стороной другого. Эти многоугольники называются гранями, их стороны – ребрами, а вершины – вершинами многогранника. Совокупность всех граней многогранника называется его поверхностью. Образование поверхностей некоторых многогранников подчинено определенным законам. Так, боковая поверхность призм (призматическая поверхность) образуется при таком движении прямой а – образующей - по ломанной направляющей n, причем прямая а остается во время движения параллельной самой себе. (рис. 1)

Боковая поверхность пирамид (пирамидальная поверхность) получается при движении прямолинейной образующей a, проходящей через фиксированную точку S, по направляющей n. (рис. 1).

Рис.1

Фактически, призматическая поверхность – частный случай пирамидальной поверхности, когда точка S удалена в бесконечность. В тех предельных случаях, когда направляющая ломанная становится криволинейной, призматическая поверхность превращается в цилиндрическую, а пирамидальная – в коническую.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: