tatarin » 02.12.2005 (Пт) 11:55
значит так, привожу пример расчета для одной точки:
Исходные данные
a0 = 55
a1 = 40
b0 = 100
beta0 = 60
beta1 = 65
alfa = 95 (этот угол должен изменяться в диапазоне от 0 до величины введенной в текстбоксе - в данном случае от 0 до 95
градусов)
_______________________
Xp0 = 0
Yp0 = 0
Zp0 = 0.0001
Xp1 = 0
Yp1 = (-(a0))
Zp1 = 0
Xp3 = (-(b0 * Sin((Pi * beta0) / 180)))
Yp3 = (b0 * Sin(((beta0 - beta1) * Pi) / 180)) / (Sin((Pi * beta1) / 180)) + b0 * Cos((Pi * beta0) / 180)
Zp3 = 0
Xp5 = 0
Yp5 = a1
Zp5 = 0
_________________________________
X0 = 0
Y0 = 0
Z0 = 0
X1 = 0
Y1 = -(a0 * Sin((Pi * alfa) / 360))
Z1 = -(a0 * Cos((Pi * alfa) / 360))
X5 = 0
Y5 = a1 * Sin((Pi * alfa) / 360)
Z5 = -(a1 * Cos((Pi * alfa) / 360))
__________________________________
R00 = 0
R01 = ((Xp1 - Xp0) ^ 2 + (Yp1 - Yp0) ^ 2 + (Zp1 - Zp0) ^ 2) ^ 0.5
R03 = Sqr((Xp3 - Xp0) ^ 2 + (Yp3 - Yp0) ^ 2 + (Zp3 - Zp0) ^ 2)
R05 = Sqr(Abs((Xp5 - Xp0) ^ 2 + (Yp5 - Yp0) ^ 2 + (Zp5 - Zp0) ^ 2))
R13 = Sqr(Abs((Xp3 - Xp1) ^ 2 + (Yp3 - Yp1) ^ 2 + (Zp3 - Zp1) ^ 2))
R53 = Sqr((Xp5 - Xp3) ^ 2 + (Yp5 - Yp3) ^ 2 + (Zp5 - Zp3) ^ 2)
________________________________
k3 = ((Y1 - Y0) * (Z1 - Z5)) - ((Y1 - Y5) * (Z1 - Z0))
A3 = -(((Y1 - Y5) * (R01 ^ 2 - R00 ^ 2 - R13 ^ 2 + R03 ^ 2) - (Y1 - Y0) * _
(R01 ^ 2 - R05 ^ 2 - R13 ^ 2 + R53 ^ 2))) / (2 * k3)
B3 = ((X1 - X5) * (Y1 - Y0) - (X1 - X0) * (Y1 - Y5)) / k3
C3 = ((Z1 - Z5) * (R01 ^ 2 - R00 ^ 2 - R13 ^ 2 + R03 ^ 2) - (Z1 - Z0) * (R01 ^ 2 - R05 ^ 2 - R13 ^ 2 _
+ R53 ^ 2)) / (2 * k3)
D3 = ((Z1 - Z0) * ((X1 - X5) * (Y1 - Y0) - (X1 - X0) * (Y1 - Y5))) / _
((Y1 - Y0) * k3) + ((X1 - X0) / (Y1 - Y0))
m3 = 1 + D3 ^ 2 + B3 ^ 2
X3 = ((2 * (X1 - D3 * Y1 + C3 * D3 - A3 * B3 + B3 * Z1) - (Sqr(4 * (D3 * Y1 - X1 - C3 * D3 + A3 * B3 - _
B3 * Z1) ^ 2 - 4 * m3 * (R01 ^ 2 - R13 ^ 2 + C3 ^ 2 + A3 ^ 2 - 2 * C3 * Y1 - 2 * A3 * Z1))))) / (2 * m3)
Y3 = C3 - D3 * X3
Z3 = A3 + B3 * X3
здесь координаты с индексом р - координаты на плоскости
координаты без индекса р - координаты в пространстве (в текущем положении)
величины R - радиус-векторы
A,B,C,D,k,m - коэффициенты
хочется ведь как - и того и другого и можно без хлеба!