Rysowanie linii prostopadłych między dwiema ścieżkami


0

Jestem architektem pracującym w starożytnych miejscach dla dokumentacji architektonicznej. Próbuję teraz wykonać rysunek oldschoolowego krajobrazu, który zawiera krzywe wysokości. (linie konturowe)

W tym celu próbuję narysować linie prostopadłe ułożone wzdłuż jednej linii, zaczynając od niej i kończąc na następnej. który muszę to zrobić co najmniej 750 linii.

Podsumowując, chcę wypełnić lukę między dwiema liniami prostopadłymi do ścieżki, od której zaczynają się i kończą na następnej.


1
Masz pytanie?
Phlamajam,

jak mogę narysować te linie?
Kivanc Basak,

Myślę, że to pytanie nie wchodzi w grę. superuser.com/help/on-topic Otrzymasz więcej odpowiedzi, jeśli zapytasz w odpowiednim miejscu.
Katu

Odpowiedzi:


1

Jeśli dobrze odpowiem na twoje pytanie, chcesz narysować coś w rodzaju schodów. Zakładam, że jedna z linii ma równanie

a x + b y + c = 0

z niezerowymi ai b(przypadki szczególne a=0lub b=0trywialne). Zakładam również, że a^2+b^2=1(jeśli nie, podziel równanie przez 1/sqrt(a^2+b^2)).

Jeśli więc mają długości twoich linii L, a współrzędną punktu początkowego jest (x0,y0), to współrzędne innych punktów, w których zaczynają się linie prostopadłe, są

(x_i, y_i) = ( x0 + (b L i)/(N-1), y0 - (a L i)/(N-1) )

gdzie iprzebiega powrotem 0do N-1, i Njest to liczba punktów, które trzeba do klatki schodowej.

Uwaga: jeśli punkty pójdą w złym kierunku, użyj znaku przeciwnego

(x_i, y_i) = ( x0 - (b L i)/(N-1), y0 + (a L i)/(N-1) )

Po uzyskaniu punktów, w których zaczynają się linie prostopadłe, równania parametryczne dla każdej linii prostopadłej są następujące

x_i(t) = x_i + a t D, y_i(t) = y_i + b t D

gdzie tzmienia się z 0na 1i Djest odległość między liniami równoległymi.

Uwaga: jeśli linie prostopadłe idą w złym kierunku, zmień znak

x_i(t) = x_i - a t D, y_i(t) = y_i - b t D

To mniej więcej to)


a co jeśli masz do czynienia z falistą skrzynią schodową zamiast okrągłej lub prostej?
Przekaż Ed
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.