Article View: pl.comp.dtp.tex
Article #16959Re: jak zrobic krzywą zamknietą?
From: Jarosław Sokołowski
Date: Mon, 18 Apr 2011 19:48
Date: Mon, 18 Apr 2011 19:48
49 lines
2713 bytes
2713 bytes
Pan Maciek Pliszka ma coś takiego jako definicje litery a:
> beginchar("a",13u#,16u#,5u#);"Letter a";
> z1 = (5u,3u);
> z2 = (11u,23u);
> z3 = 1/3[z2,z1];
>
> draw z1 -- z4 -- z3 --z1;
>
> endchar;
>
> I teraz co wstawić zamiast -- by otrzymać krzywą zamkniętą?
Knuth w swojej książce radzi, by zamiast ostatniego węzła po
prostu wstawić "cycle". A on zwykle dobrze radzi.
> Mam krzywą wygenerowaną przez inkscape i mam ja w svg. Moge
> ja przepisac tutaj ale musiałbym wiedziec jak to zrobić.
O tym też jest w METAFONTbooku. Ale się to specjalnie nie rzuca
w oczy -- bo i podawanie wprost współczynników krzywych Běziera
w czymś co ma być "meta" ma sens umiarkowany. Chociaż u mnie
przez lata (odległe i minione) przy zamianie fontów Type-1 na
źródła MF sprawdzała się między innymi taka definicja:
def curveto (expr a,b,c,d,e,f) = p:=p..
controls (a*u,b*u) and (c*u,d*u)..(e*u,f*u)&(e*u,f*u);
enddef;
Nie wiem jak to teraz jest w SVG (nie zaglądałem, nie miałem
potrzeby), może parametry podane są inaczej, może w innej
kolejności, ale musi dać się zrobić podobnie.
> Niestety umiem uzywac tylko piórka o dowolnym kształcie.
> A tu trzeba krzywe beziera.
A mnie mocno intryguje dlaczego "trzeba". Ja rozumiem, że w czasach
gdy dinozaury biegały po ulicach, to człowiek pisał sobie takie
rzeczy jak wyżej. Bo nie chciał jak inni jaskiniowcy ślęczeć przed
komputerem PC/AT i czekać kilku minut na wyrenderowanie strony przez
ultrascripta, goscripta czy co tam kto wtedy miał. Wtedy pozyskanie
metafontowych odpowiedników fontów Type-1 i zrobienie z tego (przez
kilka nocy) całego garnituru bitmapowych fontów PK miało sens.
Ale po co dzisiaj wtłaczać wektorowe krzywe do programu, który
generuje bitmapy? Nawet jeśli to program tak znakomity jak METAFONT.
--
Jarek
Technical Details
Message-ID:
<slrniqp5bh.6pr.jaros@falcon.lasek.waw.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailReferences:
<4dac6f79$0$2505$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: Jarosław Sokołowski <jaros@lasek.waw.pl> Newsgroups: pl.comp.dtp.tex Subject: Re: jak zrobic krzywą zamknietą? Date: Mon, 18 Apr 2011 19:48:01 +0000 (UTC) Organization: : : : Lines: 49 Message-ID: <slrniqp5bh.6pr.jaros@falcon.lasek.waw.pl> References: <4dac6f79$0$2505$65785112@news.neostrada.pl> NNTP-Posting-Host: 213-238-73-140.adsl.inetia.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1303156081 5168 213.238.73.140 (18 Apr 2011 19:48:01 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Mon, 18 Apr 2011 19:48:01 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit