Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачки любителям 3Д

22.06.21 12:03
Re: Задачки любителям 3Д
 
akidervish постоялец
в ответ AlexNek 22.06.21 11:54, Последний раз изменено 22.06.21 12:14 (akidervish)

Ваша изначальная кривая в середине?



И все три лежат в плоскости z = 0?



Тогда просто:



прямая проходит через точки Х1 = (х1,y1, 0) and X2 = (x2, y2, 0).
X(t) = (X1 - X2) t + X2.



N = (X1 - X2) / |X1 - X2|



|X| = sqrt(x^2 + y^2 + z^2)



denote coordinates of N = (n1, n2, 0), n1^2 + n^2 = 1



N' = (-n2, n1, 0)



X' (t) = (X1 - X2) t + X2 + a * N'/2
X"(t) = (X1 - X2) t + X2 - a * N'/2
in vector form:



параметрические уравнения ваших прямых (сдвинуты от центральной на +/-а/2 в ортогональном к серединной прямой направлении внутри z=0 плоскости).


Если вы прямые задаете двумя точками, просто возьмите два разных t, e.g. t=0, 1.

 

Перейти на