Strona 1 z 1

algorytm geometryczny - offsetowanie polilinii

: 6 lut 2010, o 17:26
autor: gdl
Wiele razy przymierzałem się do tego tematu (od dawna wszechobecnego zdaje się we wszystkich programach CAD) i tyle samo razy ustępowałem.
Może tym razem zajdę dalej. Dlatego proszę o pomoc/sugestie/algorytm albo link (nic sensownego dotychczas nie potrafiłem znaleźć) do tematu który mnie interesuje.
Dane wyjściowe to w najprostszej sytuacji współrzędne co najmniej 3 punktów: \(\displaystyle{ A,B,C}\) tworzących dwa połączone odcinki \(\displaystyle{ AB}\) i \(\displaystyle{ BC}\). Do tego mam odległość \(\displaystyle{ K}\) offsetowania tych odcinków.
W wyniku offsetowania powstaną połączone odcinki \(\displaystyle{ A_{1}B_{1}}\) (równoległy do \(\displaystyle{ AB}\)) i \(\displaystyle{ B_{1}C_{1}}\)(równoległy do \(\displaystyle{ BC}\)) oczywiście połączone w punkcie \(\displaystyle{ B_{1}}\).
Jak wyznaczyć położenie zwłaszcza punktu \(\displaystyle{ B_{1}}\) ?

Rozwiązanie chciałbym wdrożyć do kodu GDL (Geometric Description Language - Graphisoft) - zdaje się bardzo podobnego do Basica a w związku z tym dość siermiężnego i w zasadzie operującego podstawowymi funkcjami algebraicznymi i trygonometrycznymi.