ano5 Posted December 12, 2008 Report Share Posted December 12, 2008 Czy jest sposób narysowania spirali Archimedesa. Link to comment Share on other sites More sharing options...
dmatusz3 Posted December 14, 2008 Report Share Posted December 14, 2008 Spiralę można narysować na kilka sposobów: - można wykreślić geometrycznie, - można napisać program w np. LISPie, lub innym języku, - wstawiając obliczone punkty z innego programu. Chciałbym pokazać tutaj trzeci sposób, który pozwala na rysowanie pośrednie, jednak może przydać się w innych zastosowaniach. Jego zaletą jest fakt, że nie trzeba znać języków programowania. Na początku pokażę efekt końcowy: http://www.projektuje.net/filmy/clip0014.html Opis: ZWCAD pozwala na zapisywanie skryptów. Mówiąc wprost, może zapisywać wszystkie komendy z parametrami do specjalnego pliku. Odtwarzając tak zapisany plik, możemy wykonać dokładnie takie same operacje automatycznie. Proszę zobaczyć na film. http://www.projektuje.net/filmy/nagrywanie_skryptow.html Zawartość skryptu utworzonego podczas nagrywania powyższego filmu: _spline 205.2462,131.3886 145.3226,164.4499 89.5317,128.6335 101.2409,78.3528 157.0318,49.4242 231.4197,72.8426 253.4606,123.8121 214.889,191.3122 142.5675,207.8428 53.7153,172.0265 36.4958,141.0315 _STOPSCRIPT Jest to komenda rysująca splajn + współrzędne poszczególnych punktów X i Y, oddzielone przecinkami. Pomysł opiera się na wygenerowaniu punktów w np. Excelu i wstawieniu ich do pliku skryptu. Spiralę Archimedesa najprościej narysować we współrzędnych biegunowych: r (promień) = a (współczynnik) * fi (kąt obrotu) Załóżmy, że utworzymy: W 1 kolumnie w arkuszu np. 200 kątów zwiększanych co 15 stopni. W 2 przeliczymy stopnie na radiany funkcją =RADIANY() W 3 kolumnie wstawmy współczynnik a. W 4 kolumnie wyliczymy promień r=a*fi W 5 współrzędną X (w układzie kartezjańskim) X = r * cos(fi) W 6 współrzędną Y (w układzie kartezjańskim) Y = r * sin(fi) W 7 połączymy kolumny X i Y w jedną, tak aby móc skopiować wartości bezpośrednio do skryptu. Do łączenia ciągów znaków służy symbol &. Tak utworzony plik xls wstawiłem także na serwer. Można go pobrać tutaj http://www.projektuje.net/filmy/spirala.xls Wklejmy więc zawartość kolumny 7 do pliku skryptu. Gotowy skrypt (oczywiście dla tego jednego przypadku) można pobrać z tutaj http://www.projektuje.net/filmy/spirala.scr Pozdrawiam Link to comment Share on other sites More sharing options...
ano5 Posted December 16, 2008 Author Report Share Posted December 16, 2008 Dziękuję , sposób jest świetny. Link to comment Share on other sites More sharing options...
marek_j Posted July 30, 2009 Report Share Posted July 30, 2009 Witam, Również mam problem z narysowaniem spirali. Rysowanie realizuje punkt po punkcie wg Pańskiego opisu, jednak już na samym początku pojawiła się wątpliwość, otóż zastanawia mnie skąd wziął się współczynnik a=10 i jak jego zmiana wpływa na efekt końcowy. Spróbuję poeksperymentować z jego wartością, ale wolałbym otrzymać rzetelna informację niż bazować na swoich domysłach. Pozdrawiam serdecznie. Link to comment Share on other sites More sharing options...
marek_j Posted July 30, 2009 Report Share Posted July 30, 2009 Sprawa numer dwa - to edycja skryptów. Rozwiązanie pewnie jest banalnie proste, ale jednak nie mogę sobie z nim poradzić. Jak mogę wprowadzać zmiany do zarejestrowanego skryptu, dokładnie chodzi mi o wklejenie wyliczonych współrzędnych. Nie wiem czy słusznie, ale próbowałem to zrobić używając notatnika oraz OO Calc, niestety z mizernym skutkiem. Link to comment Share on other sites More sharing options...
dmatusz3 Posted July 30, 2009 Report Share Posted July 30, 2009 Witam, zmienna a we wzorze na spirale Archimedesa ma wpływ na odległość zwojów. Pozdrawiam Link to comment Share on other sites More sharing options...
marek_j Posted July 31, 2009 Report Share Posted July 31, 2009 dziękuję za wyjaśnienie :) Rozwiązałem także problem edycji skryptów. Sposób edycji w notatniku był oczywiście poprawny jednak nie zauważyłem, że OO Calc w obliczonych współrzędnych wstawiał przecinki. Zamiana przecinków na kropki rozwiązała problem. Skrypt teraz działa poprawnie. Pozdrawiam serdcznie m.j Link to comment Share on other sites More sharing options...
Recommended Posts