Corel FORUM Strona Główna Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Jak rozłożyć okręgi na okręgu?
Autor Wiadomość
XnIcRaM 
Bywalec


Dołączył: 31 Sty 2009
Posty: 22
Skąd: nikąd
Wysłany: 16 Lipiec 2012, 23:43   Jak rozłożyć okręgi na okręgu?

Mam jeden duży okrąg i kilkanaście małych, chciałbym te małe rozłożyć równomiernie w tym dużym tak aby każdy mały miał jeden punkt wspólny (styczny) z dużym, czy można to zrobić jakoś 'automagicznie', gdyż próby wykonania tego 'ręcznie' są (przynajmniej w moim przypadku) mało precyzyjne?
 
 
Wojtek Kowalews 
Znawca
ketjow


Pomógł: 13 razy
Wiek: 68
Dołączył: 05 Cze 2006
Posty: 151
Skąd: Kalisz
Wysłany: 17 Lipiec 2012, 06:29   

Z automatu to polecam rStones Rhinestone Designer Suite z macromonster. Ręcznie to metamorfoza i precyzyjna zabawa.
 
 
XnIcRaM 
Bywalec


Dołączył: 31 Sty 2009
Posty: 22
Skąd: nikąd
Wysłany: 17 Lipiec 2012, 16:07   

50$ to raczej sporo na jak na prywatny użytek od czasu do czasu.
 
 
Wojtek Kowalews 
Znawca
ketjow


Pomógł: 13 razy
Wiek: 68
Dołączył: 05 Cze 2006
Posty: 151
Skąd: Kalisz
Wysłany: 17 Lipiec 2012, 17:50   

Punkt widzenia zależy od punktu siedzenia. Trzeba przemyśleć temat czasu spędzonego nad projektem do spodziewanego zysku. Raz wydasz ~200 zł, a za każdy przerobiony reflektor na diody do BMW dostaniesz niezła kasę.
 
 
XnIcRaM 
Bywalec


Dołączył: 31 Sty 2009
Posty: 22
Skąd: nikąd
Wysłany: 17 Lipiec 2012, 19:20   

Ja chcę tylko zrobić córce zegar ścienny do jej pokoju, za darmo nie za kase :)
 
 
Wojtek Kowalews 
Znawca
ketjow


Pomógł: 13 razy
Wiek: 68
Dołączył: 05 Cze 2006
Posty: 151
Skąd: Kalisz
Wysłany: 17 Lipiec 2012, 21:27   

Sorki. Załącz koncepcję. Określ średnicę zewnętrzną, ilość kół wewnętrznych i ich średnicę. Spróbuję pomóc. Jeżeli nie chcesz zamieszczać tego na forum to prześlij na moją pocztę.
 
 
XnIcRaM 
Bywalec


Dołączył: 31 Sty 2009
Posty: 22
Skąd: nikąd
Wysłany: 17 Lipiec 2012, 23:50   

Spoko, myślę że jakoś sobie poradzę, ogólnie mam jeszcze trochę czasu i póki co narysowałem okrąg zewnętrzny i kilka małych i kombinowałem z ich rozmieszczeniem, po stwierdzeniu że trochę mi się z tym zejdzie postanowiłem sprawdzić czy nie da się ich jakoś magicznie rozmieścić ale skoro nie ma takiej możliwości to się trochę pobawię. Chyba że sobie z tym nie poradzę wtedy chętnie skorzystam z pomocy kolegi :)
 
 
Wojtek Kowalews 
Znawca
ketjow


Pomógł: 13 razy
Wiek: 68
Dołączył: 05 Cze 2006
Posty: 151
Skąd: Kalisz
Wysłany: 18 Lipiec 2012, 10:04   

Próbowałbym tak:
1.narysowałbym koło o zadanym promieniu i ustawił współrzędne X=0;Y=0 w centrum okręgu
2.jeżeli wewnętrzne koła mają ten sam promień to funkcją contur narysowałbym koło wewnętrzne o promieniu mniejszym o promień koła wewnętrznego
3.po dwukrotnym kliknięciu w linijkę wybrałbym Guidelines-Guides i przez współrzędne xy wprowadziłbym prowadnice co 30°
4.z włączonymi dynamicznymi prowadnicami umieszczałbym koła wewnętrzne zgodnie z rysunkiem.

ZEGAR.cdr
Pobierz Plik ściągnięto 272 raz(y) 23.66 KB

 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 18 Lipiec 2012, 11:21   

Najprościej będzie chyba tak jak w załączniku?
 
 
maroQ 
Doradca


Pomógł: 16 razy
Wiek: 41
Dołączył: 08 Lut 2011
Posty: 117
Skąd: Kalisz
Wysłany: 18 Lipiec 2012, 12:02   

chezare napisał/a:
Najprościej będzie

Zrobić to z makra:
Kod:
Type WSP
    x As Double
    y As Double
End Type

Sub DrawLines(ByVal step As Double)
    Dim s As Shape
    Dim sr As New ShapeRange
    Dim A As WSP
    Dim n As Node
    Dim i As Double
    If ActiveSelectionRange.Shapes.Count = 1 Then
        Set s = ActiveShape.Duplicate
        s.ConvertToCurves
        A.x = s.PositionX + s.SizeWidth / 2
        A.y = s.PositionY - s.SizeHeight / 2
        For i = 1 - step To 0 Step -step
            s.Curve.SubPaths(1).AddNodeAt i, cdrRelativeSegmentOffset
        Next i
        For Each n In s.Curve.Nodes
            sr.Add ActiveLayer.CreateCurveSegment(A.x, A.y, n.PositionX, n.PositionY)
        Next n
        s.Delete
        Set s = sr.Combine
        s.Name = "#!_Pomocnicze"
    End If
End Sub

Sub Make()
    Call DrawLines(1 / 60)
End Sub

Makro umieszczamy w nowym module np. w GlobalMacros prawy przycisk myszy na GlobalMacros i dalej Insert i dalej Module.
Ważne by type znalazło się nad innymi "makrami" bo inaczej to nie zadziała.

Rysujemy sobie kółko i zaznaczamy je, po czym wywołujemy Make i mamy ładną podziałkę zegara. Teraz wystarczy w środku umieścić inne kółko i wybrać narzędzie usuwania segmentów wirtualnych.

No i mamy kreski minut zgodnie z upodobaniami :D
Wygenerowane kreski można potraktować jako pomocnicze. Jako parametr DrawLines zawsze trzeba podawać ułamek z podstawą parzystą np. 1/4, 1/8 itp. inaczej to nie zadziała właściwie.

Można tak ciachać dowolny kształt zamknięty, ale najlepiej jeśli jest on symetryczny. Dla niesymetrycznych też fajnie to wygląda dla dużych mianowników, choć generowanie trochę trwa.
 
 
XnIcRaM 
Bywalec


Dołączył: 31 Sty 2009
Posty: 22
Skąd: nikąd
Wysłany: 18 Lipiec 2012, 20:37   

Widać jak mało wiem jeszcze o Corelu :) Ostatecznie zrobiłem tak jak w ostatnim poście proponuje kolega Wojtek z tą różnicą iż ja zamiast prowadnic to narysowałem prostą przechodzącą przez środek okręgu skopiowałem 30x przy czym każdą kolejną kopię obracałem o 6° tak że ostatecznie miałem okrąg podzielony na 60 części dorysowałem pomocniczy okrąg o wspólnym środku i przeciągałem małe kółka (minutowe) na przecięcie okręgu pomocniczego z prostą.
Jeszcze tylko muszę tym makrem się pobawić (nigdy jeszcze nie korzystałem z makr w Corelu)
Dziękuję wszystkim za pomoc :)
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.15 sekundy. Zapytań do SQL: 11