Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР2,3 теория.docx
Скачиваний:
1
Добавлен:
23.11.2019
Размер:
154.41 Кб
Скачать

4. Описание реализации применяемых методов.

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

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

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;

}

Если значение visibln (visiblm) принимает значение true то точка N (M), принадлежащая линии, является видимой, если false, то невидима.

  • 4,5: Построение пространственного чертежа;

Для перерасчета мировых координат x, y, z точки A воспользуемся формулами:

Xa=X0-(x-y*cos (α))

Ya=Y0-(z-y*sin (α))

Пересчитаем координаты проекций точки A:

XA1=X0-(x-y*cosα)

XA2=X0+y*cosα

YA1=Y0+y*sinα

YA2=Y0-(z-y*sinα)

XA3=X0-x

YA3=Y0-z

Теперь нужно соединить все точки отрезками для получения параллелограмма. И, наконец, обвести саму точку.

Чертеж построен.

  • Построение комплексного чертежа;

Для построения данного чертежа необходим выполнить следующую последовательность действий:

  • на оси абсцисс от начала координат откложить отрезок OAX = x

  • через точку AX провести перпендикуляр к оси Ox, на котором с учетом знаков отложить отрезки AXA1 = y (получаем A1) и AXA2 = z ((получаем A2).

  • через A2 провести прямую A2AZ ^Oz.

  • Т.к. AZA3 = OAY = AXA1 = y, то AZA3 равно y. Отрезок AZA3 отложить вправо от оси Oz, если y > 0, и влево, если y < 0.

Тогда:

XA1=X0-x

YA1=Y0+y

XA2=X0-x

YA2=Y0-z

XA3=X0+y

YA3=Y0-z

Комплексный чертеж построен.