Trikotaj

Nuqta bo'yicha chizish. Konturga rasm chizish Kontur rasmlarining eskizlari

Adobe Photoshop - bu juda ajoyib narsalarni yaratish uchun dunyodagi eng mashhur foto muharriri. Bugun siz rasmdan faqat uning konturini olishni o'rganasiz. Bu, masalan, bola uchun rang kitobini yaratish uchun foydali bo'lishi mumkin.

Murakkab tafsilotlarga ega bo'lmagan oddiy chizilgan rasmlarni "Pen" vositasi yordamida aniqlash osonroq. Shu tarzda tezroq va osonroq bo'ladi. Keyinchalik murakkab tafsilotlarga ega bo'lgan tasvirlar bilan ish ko'lami biroz boshqacha.

Qadam-baqadam ko'rsatma

1. Asl rasmni Photoshop-ga yuklang.

2. Endi filtrlar bilan ishlashni boshlaymiz. "Filtr" - "Stilizatsiya" - "Chegaralarni tanlang" menyusiga o'ting.


Rasm quyidagicha ko'rinadi:


3. Endi "Filtr" menyusini oching va "Sketch" - "Fotokopi" bo'limiga o'ting. Oyna ochiladi, uning o'ng qismida siz quyidagi parametrlarni o'rnatishingiz kerak: "Batafsil" - 9; Qorayish - 5. OK tugmasini bosing. Eslatma: ushbu nuqtada ko'rsatmalarga qat'iy rioya qilish shart emas. Sizga eng mos keladigan ko'rinishni olish uchun tafsilotlar va soya qiymatlari bilan tajriba qiling.


4. Rasm> Sozlamalar> Yorqinlik / Kontrastga o'ting va eng yaxshi natijaga erishguningizcha slayderlarni sozlang.




Tayyor rasmni JPEG formatida kompyuteringizga saqlang. Agar siz bola uchun bo'yash kitobini yaratgan bo'lsangiz, shunchaki rasmni printerda chop eting.

Monoxrom, kontur tasviri

Birinchi "c" harfi

"Va" ikkinchi harfi

Uchinchi "l" harfi

So'nggi "t" harfi

"Bir rangli, konturli rasm" savoliga javob, 6 ta harf:
siluet

Siluet so'zi uchun alternativ krossvord savollar

Yuz konturi

m. fr. soyadan, yuzning yon konturidan otilgan

M. Lermontov she'ri

Rasm, kontur

Mavzuni qisqartiring

Lug'atlarda siluetning ta'rifi

Rus tilining izohli lug'ati. D.N. Ushakov Lug'atdagi so'zning ma'nosi rus tilining izohli lug'ati. D.N. Ushakov
siluet, m.bir xil rangdagi, chizilgan yoki kesilgan fonda inson predmetining bitta rangli kontur tasviri. o'tkazish Zulmatda ko'rinadigan biron bir narsaning noaniq tasavvurlari, tuman. Bu erda chiroqlar porladi, kulbalarning siluetlari. Chexov. Vaqti-vaqti bilan ...

Vikipediya Vikipediya lug'atidagi so'zning ta'rifi
Siluet - Seyshel orollari arxipelagining orollaridan biri. Hind okeanida joylashgan, Seyshel orollariga tegishli.

Tirik Buyuk rus tilining izohli lug'ati, Dal Vladimir Lug'atdagi so'zning ta'rifi Tirik Buyuk rus tilining izohli lug'ati, Vladimir Dal
m. fr. soyadan, yuzning lateral konturidan otilgan.

Rus tilining izohli lug'ati. S.I.Ojegov, N.Yu.Shvedova. Lug'atdagi so'zning ma'nosi rus tilining izohli lug'ati. S.I.Ojegov, N.Yu.Shvedova.
-a, m.Obyektning boshqa rang fonida bitta rangli planar tasviri. S. profildagi yuz. o'tkazish Zulmatda ko'rinadigan biron bir narsaning tasavvurlari, tuman. S. tog 'tizmalarining. Chiziqlar, kiyimlar konturi. Moda s. kiyim-kechak. adj. siluet, th, th

Siluet so'zining adabiyotda ishlatilishiga misollar.

Jangchilar zenit artilleriyasi bilan aniqroq aloqada bo'lishni boshladilar, ular artilleriya yeta olmaydigan balandlikda harakat qildilar, nurli bomba tomonidan yaratilgan nishon ustidagi engil fondan foydalandilar va shu fonda kuzatib borishdi. siluetlar bizning samolyotimiz zenitchilarga olovni to'xtatish to'g'risida signal berdi va hujumga o'tdi.

Anapa yo'nalishida bulutlar fonida allaqachon ko'rinib turardi siluetlar og'ir samolyotlar.

O'q qulog'ining tepasida hushtak chaldi, shpalsoz qurolini pog'onada paydo bo'lgan spiral zinapoyaga tushirdi. siluet- sehrgar allaqachon sehr-jodu qilishga tayyorlanib, qo'llarini ko'targan.

Katta leytenant Arsenyev periskopdan qarab, ko'zlarini ishqaladi: u qandaydir yorug'lik va qorong'ulikni orzu qilar edi siluetlar kemalar, lekin u darhol xatoga amin bo'ldi.

Kemalardan tushayotgan jonzotlar ularnikidan tasavvurga ham ega emas edilar siluetlar binafsha rang tanasi va boshi dengiz yulduziga o'xshash spiral yoki guldasta arum gullarining burmalariga o'xshash.

Chiziqlar, raqamlar va hayvonlarning bolalari uchun nuqtalarga rasm chizish. Yozish qobiliyatini rivojlantirish uchun nuqta-nuqta chizish.

Chiroyli qo'l yozuvi va yozishni muvaffaqiyatli o'rganish qalamdan to'g'ri foydalanishga, mohirona bosimga va har qanday shaklda chiziqlar chizish qobiliyatiga bog'liq. Chiziqlar va shakllarni nuqta bo'yicha chizishni o'rganishdan boshlang, so'ngra bolangizga hayvonlarni chizish va ranglarni rang bilan bo'yashga majbur qiling.

Qobiliyatlarni asta-sekin rivojlantirib, nuqta-nuqta chizish

Qalam yoki qalam bilan chiziqlar chizish - bu qo'lingizni yozishni o'rgatish, kichik mushaklarni rivojlantirish va bolangizga biron narsani mahkam ushlashga o'rgatish uchun juda yaxshi amaliyotdir.

Nuqta chiziq ko'rsatma bo'lib xizmat qiladi va bolaga yordam beradi, chunki istalgan vaqtda rasmni buzmasdan rasm chizish tezligini pasaytirishi, qalamga bosimni oshirishi yoki kamaytirishi mumkin va shu sababli qiziqishni yo'qotmaydi.

Bola chiziqlarni to'g'ri va har xil to'lqinlar bilan chizishni o'rganishi bilanoq raqamlarga, so'ngra hayvonlarga o'tishni boshlaydi. Nuqta chiziqlarni bukish harflar va raqamlarni qanday yozishni o'rganishni boshlash uchun rasm chizish mahoratingizni rivojlantiradi.

Farzandingizga rasmni biron bir nuqtani chizishni xohlagan rasmingiz bilan bosma materialni taklif qilayotganda, avval boladan o'ng qo'lining ko'rsatkich barmog'i bilan (yoki bola chap qo'l bilan bo'lsa) chiziqlarni izlashini so'rang. Keyin undan varaq bilan emas, balki rasmning yuqorisidagi havoga o'xshab barmog'i bilan rasm chizishini so'rang. Mashqni bir necha marta takrorlang va keyin topshiriqni qalam bilan bajaring.

Farzandingiz qalam bilan nuqta-nuqta chizishni o'rganganida, unga qalam yoki markerni taklif qiling.

Qo'lingizni qog'ozdan olmagan holda, hayvonlarning nuqtalariga rasm chizishga e'tibor bering.

Nuqta chizish bilan bir qatorda nozik vosita mahoratini qanday rivojlantirish kerak?

Agar bolangiz biron sababga ko'ra chizilgan materiallarga qiziqmasa, siz nozik vosita mahoratini boshqa yo'llar bilan rivojlantirishdan zavq olishingiz mumkin.

  1. Iplarga katta munchoqlarni birlashtirish yoki munchoqlarni saralash;
  2. Devorga katta qog'oz yoki eski devor qog'ozini yopishtiring va bolangizga ushbu varaqqa rasm chizishini topshiring. Vertikal yuzaga rasm chizish ko'proq kuch talab qiladi va ruchkalar tezroq mashq qiladi;
  3. Farzandingiz kichik narsalarni qo'llariga olish uchun etarlicha kuchliroq bo'lishi va ularni qo'yib yubormasligi bilanoq, agar siz ozgina tortib olsangiz, unga poyabzal bog'lashni yoki har qanday lenta yoki ipdan cho'chqa to'qishni o'rgatishni boshlang;
  4. Agar siz gazeta yoki jurnallarni o'qiyotgan bo'lsangiz, bolangizga marker bering va undan barcha sarlavhalarni aylanib chiqishini so'rang;
  5. Bosh barmog'i va ko'rsatkich barmog'i o'rtasida yaxshi tutashuv fasolni yoki hatto no'xatni bir piyoladan ikkinchisiga almashtirish orqali, butun kaftdan emas, faqat ikkita barmoqdan foydalanish orqali rivojlanishi osonroq.
  6. Ayozli derazalar yoki tumanli hammom oynalari ko'rsatkich barmog'ingiz bilan rasm chizishni o'rganish uchun juda yaxshi joy.

Agar xohlasangiz, kundalik hayotda bolangizning nozik motorikasini rivojlantirishning har bir usulidan foydalanishingiz mumkin, bu uning kelajakda tezroq yozishni o'rganishiga yordam beradi.

NovDU elektron va axborot tizimlari instituti, [elektron pochta bilan himoyalangan]

Ob'ektlarning konturlarini video ketma-ketlikda ajratib olish uchun real vaqtda tizimlarda optimal qo'llaniladigan konturni tahlil qilish usullari ko'rib chiqiladi.

Kalit so'zlar: kontur, tasvirni qayta ishlash, konturni tahlil qilish, videokuzatuv tizimi

Kirish

Tasvirning joylashuvi, aylanishi va masshtabining parametrlarini o'zgartirish hisoblash hajmiga unchalik ta'sir qilmasligi sababli konturga asoslangan tasvirni segmentatsiyalash ushbu masalalar sinfini echish uchun ko'rib chiqiladi. Bundan tashqari, konturlar tasvir shaklini to'liq aniqlaydi, rang va yorqinlikka zaif darajada bog'liq va ob'ektni keyingi tasnifi uchun zarur ma'lumotlarni o'z ichiga oladi. Ushbu yondashuv tasvirning ichki nuqtalarini hisobga olmaslikka imkon beradi va shu bilan ikkita o'zgaruvchan funktsiyani tahlil qilishdan bitta o'zgaruvchiga o'tish sababli qayta ishlangan axborot hajmini sezilarli darajada kamaytiradi. Buning natijasi - protsessing tizimining ishlashini real vaqtga yaqin vaqt oralig'ida ta'minlash.

Asosiy tushunchalar

Tasvir konturi deganda yorqinlik qiymatlarining fazoviy kengaytirilgan tanaffusi, pasayishi yoki keskin o'zgarishi tushuniladi.

Ideal pasayish 1a-rasmda ko'rsatilgan model xususiyatlariga ega - bu shakllangan gorizontal profil ko'rsatilgandek, ularning har biri yorqinligi to'rtburchaklar sakrash yonida joylashgan bog'langan piksellar to'plamidir. Aslida optik cheklovlar, namuna olish va h.k. yorqinlikdagi loyqa farqlarga olib keladi. Natijada, ular 1-rasmda ko'rsatilganiga o'xshash moyil profil tomonidan aniqroq modellashtirilgan. Bunday modelda nashrida farqi nuqtasi profilning moyil qismida yotgan har qanday nuqta bo'lib, farqning o'zi shu kabi barcha nuqtalar tomonidan hosil qilingan bog'langan to'plamdir.

Shakl 1 Ideal (a) va oblik (b) nashrida farqlarining modeli

Agar uning balandligi va burilish burchagi ba'zi chegara qiymatlaridan oshsa, yorqinlik farqi kontur deb hisoblanadi.

Konturni tanlash paytida yuzaga keladigan bir qator muammolarni ta'kidlab o'tamiz:

Yorqinligi etarlicha tez o'zgarmaydigan joylarda kontur tanaffuslari;

Soxta konturlar, rasmdagi shovqin mavjudligi sababli;

Bulaniqlik, shovqin yoki ishlatilgan algoritmning kamchiliklari tufayli haddan tashqari keng kontur chiziqlari;

Chiziq konturlari kengligi nolga emas, bitta bo'lganligi sababli noto'g'ri joylashish.

Differentsial usullar

Chegaralarni aniqlashning eng aniq va sodda usullaridan biri bu fazoviy koordinatalar funktsiyasi sifatida qaraladigan yorqinlikni farqlashdir.

Yorqinligi f (x1, x2) bo'lgan, x1 o'qiga perpendikulyar bo'lgan rasm uchun konturlarni aniqlash qisman df / dx1 hosilasini va x2 o'qiga perpendikulyar - qisman hosilasi df / dx2 ni beradi. Ushbu hosilalar x1 va x2 yo'nalishlari bo'yicha nashrida o'zgarish tezligini mos ravishda tavsiflaydi. Hosilani ixtiyoriy yo'nalishda hisoblash uchun siz yorqinlik gradyanidan foydalanishingiz mumkin:

gradus f (x1, x2) = f (x1, x2).

Gradient - bu f (x1, x2) funktsiyani eng tez o'sish yo'nalishi bo'yicha yo'naltirilgan va bu maksimal tezlikka mutanosib uzunlikka ega bo'lgan ikki o'lchovli kosmosdagi vektor. Gradientning moduli formula bo'yicha hisoblanadi

2-rasm Gradientning grafik tasviri

Ixtiyoriy yo'nalish konturini tanlash uchun biz yorqinlik maydonining gradyanlari modulidan foydalanamiz. Tasvirlar uchun hosilalar o'rniga biz alohida farqlarni qabul qilamiz.

Roberts operatori

Diskret gradientni hisoblash variantlaridan biri bu Roberts operatoridir. Gradient modulini hisoblashda har qanday o'zaro perpendikulyar yo'nalishdagi farq ishlatilishi mumkinligi sababli, diagonali farqlar Roberts operatorida olinadi:

Farqni aniqlash cheklangan impuls reaksiyasiga ega bo'lgan ikkita filtr (FIR filtrlari) tomonidan hosil qilinadi, ularning impuls javoblari 2x2 niqobga to'g'ri keladi.

Ushbu operatorning kamchiliklari orasida shovqinga yuqori sezuvchanlik va mintaqalar chegaralarining yo'nalishi, konturda uzilishlar ehtimoli va aniq ifoda etilgan markazlashtiruvchi element yo'qligi kiradi. Va uning bitta afzalligi bor - manba zichligi past.

Sobel va Previtt operatorlari

Amalda Sobel va Prewitt operatorlaridan diskret gradyanlarni hisoblashda foydalanish qulayroq. Sobel operatori uchun burchak elementi shovqinining ta'siri Prewitt operatoridan bir oz kamroq, bu lotin bilan ishlashda ahamiyatlidir. Maskalarning har biri nolga teng bo'lgan koeffitsientlarning yig'indisiga ega, ya'ni. ushbu operatorlar doimiy yorug'lik zonalarida nolinchi javob beradi.

FIR filtrlari 3x3 niqoblardir.

Sobel operatorining maskalari:

Operator Prewitt maskalari:

Sobel operatori o'rtadagi narsalar uchun 2 ta tortish koeffitsientidan foydalanadi. Ushbu oshirilgan qiymat o'rta nuqtalarga ko'proq vazn berish orqali yumshatilishga qarshi ta'sirni kamaytirish uchun ishlatiladi.

Aylanma o'zgaruvchanlik masalasini hal qilish uchun diagonal yo'nalishdagi uzilishlarni aniqlash uchun diagonali niqoblar ishlatiladi.

Sobel operatorining diagonali maskalari:

Prewitt operatorining diagonali maskalari:

Markaziy element va past resurs zichligi mavjud bo'lganda, ushbu operator shovqinga yuqori sezuvchanlik va hududlar chegaralarining yo'nalishi, shuningdek, konturda uzilishlar ehtimoli bilan ajralib turadi.

Shakl 3. Sobel operatori tomonidan chegaralarni tanlash: a) asl tasvir; b) Sobel operatoridan foydalanish natijasi

Laplasiya

Yorqinlik farqlarini ta'kidlash masalasini hal qilish uchun yuqori darajadagi differentsial operatorlardan foydalanish mumkin, masalan, Laplas operatori:

Diskret holatda Laplas operatori 3x3 oyna bilan tasvirni chiziqli ishlov berish protsedurasi sifatida amalga oshirilishi mumkin. Ikkinchi hosilalarni ikkinchi farqlar bilan taxmin qilish mumkin:

Laplasiya ham ijobiy, ham manfiy qiymatlarni qabul qiladi, shuning uchun konturlarni tanlash operatorida uning mutlaq qiymatini olish kerak. Shunday qilib, biz ularning yo'nalishiga befarq chegaralarni tanlash tartibini olamiz

Laplasianning segmentatsiya masalalaridagi o'rni konturni lokalizatsiya qilish va ko'rib chiqilayotgan piksel konturning qorong'i yoki och tomonida ekanligini aniqlash uchun uning nol kesish xususiyatidan foydalanishga kamayadi.

Laplacianning asosiy kamchiliklari shovqinga nisbatan yuqori sezuvchanlikdir. Bundan tashqari, konturdagi bo'shliqlar, shuningdek ularning ko'payishi mumkin. Uning afzalliklari qatoriga hududlar chegaralari yo'nalishiga befarqligi va resurslarning kam intensivligi kiradi.

Mahalliy ishlov berish

Ideal holda, chekkalarni aniqlash usullari faqat rasmda pikselni tanlab olishlari kerak. Amalda, ushbu piksellar to'plami shovqin, tartibsiz yorug'lik tufayli chekka uzilishlar va shunga o'xshash narsalar tufayli kamdan-kam hollarda konturni etarlicha aniq ko'rsatib beradi. Shuning uchun, chekkalarni aniqlash algoritmlari odatda chekkalarni o'z ichiga olgan chekka nuqtalar to'plamlarini yaratish uchun muntazam ravishda bog'lanish bilan to'ldiriladi.

Kontur nuqtalarini bog'lash usullaridan biri kontur sifatida belgilangan har bir tasvir nuqtasining kichik mahallasidagi piksellarning xususiyatlarini tahlil qilishdir. Ba'zi mezonlarga ko'ra o'xshash bo'lgan barcha fikrlar bog'langan va ushbu mezonlarga mos keladigan piksel konturini tashkil qiladi. Bunday holda, kontur piksellarining o'xshashligini o'rnatish uchun ikkita asosiy parametr qo'llaniladi: kontur piksellarining qiymatini belgilaydigan gradient operatorining javob qiymati va gradient vektorining yo'nalishi.

Berilgan mahalladagi piksel markaziy piksel (x, y) bilan birlashtiriladi, agar o'lcham va yo'nalish bo'yicha o'xshashlik mezonlari bajarilsa. Ushbu jarayon, tasvirning har bir nuqtasida, mahalla markazi harakatlanayotganda topilgan bog'langan piksellarni saqlash paytida takrorlanadi. Ma'lumotlarni hisobga olishning oddiy usuli bu bog'langan kontur piksellarining har bir to'plamiga boshqacha yorqinlik qiymatini berishdir.

Chegarani aniqlovchi detektor

Kenni chegara detektori uchta asosiy mezonga e'tibor qaratadi: yaxshi aniqlanish (signal-shovqin nisbati oshdi); yaxshi mahalliylashtirish (chegara pozitsiyasini to'g'ri aniqlash); bitta chegaraga yagona javob.

Ushbu mezonlardan xatolar tannarxining ob'ektiv funktsiyasi yaratilib, uni minimallashtirish orqali tasvir bilan konvulsiya uchun optimal chiziqli operator topiladi.

Algoritmning shovqinga sezgirligini kamaytirish uchun Gaussning birinchi lotin qo'llaniladi. Filtrni qo'llaganidan so'ng, rasm biroz xira bo'ladi. Gauss niqobi shunday ko'rinishga ega:

Yassilangan tasvirning gradyanini hisoblagandan so'ng, chegara konturida faqat rasm gradyanining maksimal nuqtalari qoladi. Chegaraning yo'nalishi to'g'risida ma'lumot chegara yaqinidagi nuqtalarni olib tashlash va gradientning mahalliy maksimal darajalari chegarasini o'zi buzmaslik uchun ishlatiladi.

Gradient yo'nalishini aniqlash uchun Sobel operatoridan foydalaniladi. Olingan yo'nalish qiymatlari to'rtta burchakning biriga - 0, 45, 90 va 135 darajaga yaxlitlanadi.

Keyin, ikkita chegara yordamida zaif chegaralar olib tashlanadi. Bunday holda, chegara bo'lagi bir butun sifatida qayta ishlanadi. Agar izlangan fragmentning biron bir joyidagi gradientning qiymati yuqori chegaradan oshib ketgan bo'lsa, u holda bu fragment ham pastki chegaradan pastga tushgunga qadar, ushbu qiymatdan pastga tushadigan joylarda "to'g'ri" chegara bo'lib qoladi. Agar butun fragmentda yuqori chegara qiymatidan yuqori bo'lgan bitta nuqta bo'lmasa, u o'chiriladi. Ushbu histerezis chiqish chegaralaridagi tanaffuslar sonini kamaytiradi.

Algoritmga shovqinni kamaytirishni kiritish natijalarning mustahkamligini oshiradi, ammo hisoblash narxini oshiradi va chegara detallarining buzilishiga va yo'qolishiga olib keladi. Algoritm ob'ektlarning burchaklarini yumaloq qiladi va ulanish nuqtalaridagi chegaralarni yo'q qiladi.

Ushbu usulning kamchiliklari - bu amalga oshirilishning murakkabligi va juda yuqori resurs intensivligi, shuningdek, ob'ektning burchaklarini biroz yumaloqlashi mumkin, bu esa kontur parametrlarining o'zgarishiga olib keladi.

Usulning afzalliklari orasida shovqinga nisbatan zaif sezgirlik va hududlar chegaralarining yo'nalishi, uning konturini aniq belgilashi va ob'ektning ichki konturlarini aniqlashga imkon berishi kiradi. Bundan tashqari, u ob'ektlar bo'lmagan joyda konturni noto'g'ri aniqlashni istisno qiladi.

Shakl 4. Kenni usuli yordamida chegaralarni tanlash: a) asl rasm; b) Canny algoritmi bilan qayta ishlangandan keyin

Grafik nazariyasi bilan tahlil

Grafik tasviri va ushbu grafikda mazmunli konturlarga mos keladigan eng kam xarajatli yo'llarni qidirish asosida siz shovqin mavjud bo'lganda yaxshi ishlaydigan usulni yaratishingiz mumkin. Ushbu protsedura ancha murakkab bo'lib chiqdi va ko'proq ishlov berish vaqtini talab qiladi.

Shakl 5. p va q piksellar orasida joylashgan kontur elementi

Kontur element - bu qo'shnilar bo'lgan ikkita p va q piksellar orasidagi chegara. Kontur elementlari p va q nuqtalarning koordinatalari bilan aniqlanadi. 5-rasmdagi kontur elementi (xp, ur) (xq, yq) juftliklari bilan aniqlanadi. Kontur - bu bir-biriga bog'langan kontur elementlarining ketma-ketligi.

Grafada minimal xarajat yo'lini topish muammosi hisoblashning murakkabligi jihatidan ahamiyatsiz bo'lib, hisoblash tezligi foydasiga maqbullikni qurbon qilish kerak.

Amalga oshirilishning murakkabligi va resurslarning yuqori darajada sarflanishi bunday tahlilning asosiy kamchiliklari bo'lib, uning afzalligi uning shovqinga nisbatan kam sezgirligidir.

Xulosa

Ishda keltirilgan usullar real vaqt tizimlarida konturlarni ajratib olishning maqbul yondashuvlarini tavsiflaydi. Usullar tasvirni segmentatsiyalash zarur bo'lgan ko'plab sohalarda qo'llaniladigan keng konturli vazifalarni hal qilishga imkon beradi.

Adabiyot

1. Gonsales R., Vuds R. Raqamli tasvirni qayta ishlash. M.: Texnosfera, 2005 S. 812-850.

2. Yane B. Raqamli tasvirni qayta ishlash. M.: Texnosfera, 2007. S.331-356.

3. Kompyuter tasvirini qayta ishlash usullari / Ed. V.A.Sifer. M.: Fizmatlit, 2003 S. 192-203.

4. Pret U. Raqamli tasvirni qayta ishlash. M.: Mir, 1982.S. 499-512.

5. Qarang: http://www.cs.berkeley.edu/~jfc/