Skocz do zawartości

Featured Replies

Napisano

Witam,

 

Proboje stworzyc nowy spline ktory bedzie odsuniety od orginalu o x jednostek, cos jak funkcja Outline ale jak sie juz dowiedzialem nie mozna sie do niej odwolywac z max scriptu :/

 

Nie oczekuje gotowego kodu (choc nie powiem ucieszylbym sie) tylko sposobu na zrobienie czegos tekiego (wzoru matematycznego?), mam funkcje ktora dziala ale niestety pojawiaja sie problemy na zgieciach i nowy vertex mimo ze odsuniety o podane x jednostek od oryginalu w odpowiednim kierunku nie tworzy tak naprawde Outline.

 

Przeszukalem internet w poszukiwaniu jakiegos wzoru ale nic nie znalazlem :(

 

dolaczam rysunek zeby wyjasnic o co chodzi, uzylem outline o wartosci 1cm a pozniej zmierzylem odsteby na zgieciach i widac ze sa rozne, domslam sie ze jest to w jakis sposob zalezne od kata ale nie wiem w jaki :/

 

z gory dzieki

  • Odpowiedzi 4
  • Wyświetleń 2,1k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

to wynika z Pitagorasa, policz sobie tam gdzie masz wartość 1.414 - to jest SQRT(2), jak dasz prostopadłą do danego odcinka to będziesz miał 1

Napisano
  • Autor

no dobra ale dlaczego skoro robilem offset o 1 jednostke mam wyciagac pierwsiatek z 2?

dla jasnosci wiem jak korzystac z twierdzenia Pitagorasa ale nie wiem jak mozna je zastosowac tutaj.

wykombinowalem ze:

jesli mam dwa odcinki i kat miedzy nimi -------(0*)------ to offset bedzie 1

jesli mam ------(90*)------ to offset bedzie 1+zmienna obliczona na podstawie kata i offsetu, tylko nie wiem jak to policzyc (trygonometria?)

Napisano

Z vertexa wyprowadz sobie dwa wektory, kazdy prostopadly do jednego z segmentow splajna. Kiedy segmenty sa rownolegle kat miedzy wektorami jest rowny 0, kiedy prostopadle 90 itd. Dlugosc tych wektorow o to wielkosc twojego offsetu, a szukane przesuniecie to x (to co na rysunku oznaczyles na zielono). B to kat miedzy wektorami.

x = o / cos (B / 2)

Chyba w miare dobrze to wytlumaczylem, w razie czego moge pozniej wrzucic jakis rysunek.

Napisano

ja bym to zrobił tak: przesuwasz każdy vertex o daną wartość(x i y) i obliczasz punkty przecięcia się dwóch prostych(które zawarte są między tymi przesuniętymi punktami). jeśli połączysz wszytkie punkty przecięcia to otrzymasz żądany kształt

http://www.izdebski.edu.pl/WykladySIT/WykladSIT_06.pdf

strona 8

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.

Account

Navigation

Szukaj

Szukaj

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.