Това е програмна система, чието основно предназначение е да приложи вложените в правилата знания на системата върху данните за конкретната задача. Често интерпретаторът се използва, за да направи опит да удовлетвори някаква зададена от потребителя цел. Условно работата му може да се раздели на две части (фази): избор на правило и изпълнение (интерпретация) на правилото.
По същество задачата в първата фаза се свежда до търсене в базата от знания по някакъв образец. Според образеца на търсене, а следователно и според начина на интерпретация се различават два типа системи от продукции: прави или F-продукции (Forward, което означава напред) и обратни В-продукции (Backward, което означава назад). В зависимост от това се говори също за два типа алгоритми за действие на интерполатора – прав извод (forward chaining) и обратен извод (backward chaining). От своя страна правият извод се нарича още извод, управляван от данните (data-driven inference), а обратният извод – извод, управляван от целите (goal-driven inference). При първия тип система за продукции (F-продукции, прав извод) интерпретаторът в първата фаза от работата си търси правило, чието условие (лява част) се удовлетворява от наличните данни в контекста, след което във втората фаза изпълнява дясната част на намереното правило. При първата фаза интерпретаторът по същество извършва търсене по образец (търси правило, условията на което са съпоставими със съдържанието на контекста). Ако съществува повече от едно правило, чиито условия се удовлетворяват от контекста (т.е. възникне конфликтна резолюция), се използват различни методи за избор на правило (например: първото срещнато правило; правило, което не е прилагано до момента; правило, което използва най-скоро записани в контекста данни и т.н.). Втората фаза се състои в изпълнение на дясната част на избраното правило. Изпълнението на тази част най-често е свързано с изменение на контекста, което от своя страна прави възможно изпълнението на други правила и т.н. След това, ако не е достигната съответната цел, отново се преминава към първата фаза.
При втория тип система за продукции (В-продукции, обратен извод) търсенето се извършва върху десните части на правилата, като за образец служи някаква зададена цел. След това се аналиизра лявата част на намереното (определеното) правило, като неизвестните все още параметри се задават като нови цели (подцели). След това се прави опит да се удовлетворят по аналогичен начин новите цели и т.н. Този процес продължава, докато текущите цели се удовлетворят от данните в контекста или докато стане ясно, че те не могат да бъдат удовлетворени. При необходимост се извършва връщане назад (backtracking), докато се удовлетворят целите или се изследват всички неизследвани възможности.
Управлението в областта на решаването на задачи обхваща въпроси на използането на знания и планирането. При проектирането на експертни системи особено внимание се обръща на начините на достъп до знанията и тяхното използване по време на търсене на решението. Важна страна на експертността са знанията за познанията на всеки и кога, и как тези познания могат да бъдат използвани. Това както вече бе обсъдено в точка 1 се означава като метазанания, т.е. знания за знанията. Различните стратегии за използване на областно зависими знания обикновено оказват съществено влияние върху производителността на програмите. Те определят начина, по коийто дадена програма търси решението в дадено пространство от алтернативи. Обикновено данните, които се съдържат в една програма, основана на знания, не са достатъчни, за да бъде изведено къде точно трябва да се извърши търсенето в пространството от алтернативи. Например нека да има проблем с лек автомобил при запалване и той да губи мощност по време на движение.Тези симптоми сами по себе си не са достатъчни, за да се заключи дали трябва да се търси повредата в електрическата система или в бензинопровода, но познанията за колите могат да накарат да се направят няколко допълнителни проверки, преди да се извика автомонтьор. Възможно е горивната смес да е лоша, затова е целесъобразно да се погледнат изгорелите газове или обвивките на свещите. Възможно е жигльорът да е повреден, затова е необходимо да се види накрайникът дали е здрав. Тези твърде специфични евристики не гарантират откриването на повредата, но при известен късмет те могат да доведат до същността на проблема много по-бързо, отколкото рутинни проверки върху различните механизми на автомобила.
Дори и да има изненада от симптомите на автомобила, навярно съществуват достатъчни познания, за да се направят глобални проверки, преди да се проверят по-специфични компоненти. Например да се провери дали има искра в свещите (което ще е индикатор за повреда в електрическата инсталация), преди да се изследва дали не е изтекла кисилината от акумулатора. Дори и при липса на евристики, колкото по-методично се изследнат компонентите, толкова по-големи шансове има да бъде открита повредата. Общата евристика, която казва: “Да се изследват цялостните модули, преди да се изследват техните компоненти”, може да бъде считана за вид управление – стратегия за прилагане на знанията по систематичен начин. Повечето формализми за представяне на знания могат да бъдат използвани под различни управляващи режими и изследователите в експертните системи продължават да извършват изследвания в тази област. Показаните системи в следващите точки са подбрани, за да се илюстрират различни начини, по които може да се извърши управлението.
При интерес към уеб дизайн услуги и изработка на сайт на фирма, динамичен бизнес уеб сайт или корпоративен web сайт можете да се обърнете към студио Уеб дизайн Пловдив и техните гъвкави и професионални уеб услуги.
06 май 2011, петък
11 февруари 2011, петък
Прост графичен пакет
Основни изисквания и характеристики. Координатни системи 2D и 3D. Основни функции за изчертаване на двумерни полилинии, полимаркери, запълнени области и текст.
Създаването на програми, които графично представят резултати от компютърни изчисления чрез средствата на компютърната графика се базира на използването на така наречените графични пакети функции. Те се реализират обикновено в рамките на съответния програмен във вид на графична библиотека от подпрограми (функции), реализиращи основните алгоритми на компютърните графика. В езика C++ тази библиотека се съдържа в заглавния файл graphics.h. Използването на подпрограмите, реализиращи различни графични алгоритми, изисква включването на графичната библиотеката (заглавния и файл) заедно с другите необходими за приложението библиотеки.
Графична библиотека
Според предназначението си функциите в графичната библиотека graphics.h могат да се определят в няколко групи. Основните групи графични функции са:
- инициализиращи графичния режим;
- проверяващи и променящи назначените параметри на графичното представяне;
- свързани с извеждането на текстове;
- изобразяващи графични примитиви и стандартни двумерни и тримерни обекти;
- съхраняване и възстановяване на изображения.
Основни двумерни графични функции:
Функции за работа с текстове в графичен режим
settextstyle(font, direction, charsize) - назначава стил (font) на символите , посока на извеждане (direction) и височина (charsize) на буквите при последващо извеждане на текст в графичен режим.
outtext(string) - извежда текста, указан с параметър (string) спрямо текущата позиция на графичния курсор.
outtextxy(x,y,string) - извежда текста, указан с параметър (string) спрямо точка, зададена с координати (х,у).
Функции изобразяващи основни графични обекти
putpixel(x, у, color) - изобразява пиксел с указаните координати (х,у) и цвят (color).
moveto(x,y ) - премества графичния курсор до точка с координати (х,у).
line(x1,y1,x2,y2) - изобразява отсечка между две точки по зададените им координати съответно (x1,y1) и (х2,у2).
lineto(x,y) - изобразява отсечка между текущата позиция на графичния курсор и точка с координати (х,у).
rectangle(x1,y1,x2,y2) - изобразява правоъгълник по зададени координати на горен ляв ъгъл (x1,y1) и долен десен (х2,у2) ъгъл.
bar(x1,y1,x2,y2) - изобразява защрихован правоъгълник по зададени координати на горен ляв ъгъл (х1,у1) и долен десен (х2,у2) ъгъл.
circle(x,y, R) - изобразява окръжност с център (х,у) и радиуси R.
arc(x,y, sangle, endangle, R) - изобразява дъга от окръжност с център (х,у) и радиуси R. Дъгата от окръжността има за начало ъгъла (sangle) и за край ъгъла (endangle).
pieslice(x,y, sangle, endangle, R) - изобразява защрихован сектор от окръжност с център (х,у) и радиуси R. Дъгата на сектора има за начало ъгъла (sangle) и за край ъгъла (endangle).
ellipse(x,y, sangle, endangle, Rx, Ry) -изобразява дъга от елипса с център (х,у) и радиуси Rx, Ry. Дъгата има за начало ъгъла (sangle) и за край ъгъла (endangle).
fillelipse(x,y, Rx, Ry) - изобразява защрихована елипса с център (х,у) и радиуси Rx, Ry.
sector(x,y, sangle, endangle, Rx, Ry) - изобразява защрихован сектор от елипса с център (х,у) и радиуси Rx, Ry. Дъгата на сектора има за начало ъгъла (sangle) и за край ъгъла (endangle).
Ако вие имате за цел да генерирате подобни графики да кажем например в бизнес система или софтуер, които автоматично създава графични анализи и статистики, като да вземем една ЕРП система или друг бизнес софтуерен продукт, вие ще трябва да използвате всички горепосочени принципи и формули за работа.
Представянето на генерирания графичен обект трябва да се осъществява в някаква координатна система. В КГ са определени и използват няколко КС. Онази КС, която представя обекта в неговите реални размери, например когато става дума за компютърно проектиране на бъдещи реални обекти, се нарича световна КС (СКС). Описвайки обекта в СКС чрез съвкупност от изходни елементарни графични елементи, наречени графични примитиви, системата за КГ трябва да формира изображение на екрана на дисплея. За целта тя пренася независимите от изходното устройство световни координати върху координатите, зависещи от това устройство и използвани от апаратната част на дисплейния процесор. Така се дефинира и така наречената графична координатна система (ГКС). Обикновено преходът от СКС към ГКС се осъществява автоматично от програмните средства на системите за КГ. Съществува и още една условна КС, наречена нормализираща (НКС), която има само логически характер и представя графичната изходна информация във вид, независещ от изходното устройство. Това означава, че всички графични координати на генерирания обект се поместват в границите от 0 до 1 както по х, така и по у. Обикновено в графичните системи за проектиране, изградени върху така наречените прости графични пакети от функции за генериране на графични примитиви, НКС има начало долу, в ляво на екрана и преходът от СКС към НКС става автоматично чрез специална функция на пакета, а след това вторият преход от НКС към ГКС става също автоматично от специална функция на графичния пакет. Понякога тези две трансформации са обединени в една.
Изобразяването на обекти от тримерното световно пространство върху двумерната, така наречена видова, графична или още картинна равнина от видовото пространство на графичното изходно пространство следва да се осъществява чрез въвеждане на още няколко условности или съглашения. Те са приети в КГ относно координатните системи и изобразяваните в тях обекти. Обикновено се предполага, че тримерните обекти се проектират върху двумерната видова равнина с помощта на два вида проекции:
а) паралелна, при която обектът се пренася паралелно върху двумерната видова равнина, която мислено е разположена успоредно на равнината хОу от съответната координатна система, в която е разположен генерирания графичен обект. Това най-често е СКС.
б) централна, при която обектът се изобразява върху двумерната видова равнина така, както би се виждал той от даден център на проекция. Централната проекция е необходима за създаване на перспектива при моделирането на тримерна илюзия на представяните тримерни обекти върху двумерна графична равнина.
Освен това е нужно да бъде зададена точка Р, от която се формира проекцията. Тя се задава със своите световни координати Xp,Yp,Zp. При паралелната проекция това ще бъде точка, през която ще преминава права линия, успоредна на оста z. На нея пък ще бъдат успоредни всички линии, проектиращи контура на обекта върху видовата равнина. Последният ще се пренесе по такъв начин върху двумерната видова равнина като ще се създаде илюзия за тримерния му вид. В качеството на пример на интерпретация на разположението на трите оси относно двумерната видова равнина в зависимост и от стойностите на точката на виждане на обекта при неговото проециране.
а)Дясно ориентирана КС , при която осите преминават една в друга след завъртане на 900 обратно на часовниковата стрелка;
б)Ляво ориентирана КС, при която осите преминават една в друга след завъртане на 900 по посока на часовниковата стрелка.
Още няколко варианта на разположение на осите в зависимост от стойностите на координатите на точката на виждане за дясно ориентирана координатна система.
Обикновено генерирането на тримерни обекти се осъществява за ляво ориентирана КС, с положителни стойности на координатите на точката на виждане.
Създаването на програми, които графично представят резултати от компютърни изчисления чрез средствата на компютърната графика се базира на използването на така наречените графични пакети функции. Те се реализират обикновено в рамките на съответния програмен във вид на графична библиотека от подпрограми (функции), реализиращи основните алгоритми на компютърните графика. В езика C++ тази библиотека се съдържа в заглавния файл graphics.h. Използването на подпрограмите, реализиращи различни графични алгоритми, изисква включването на графичната библиотеката (заглавния и файл) заедно с другите необходими за приложението библиотеки.
Графична библиотека
Според предназначението си функциите в графичната библиотека graphics.h могат да се определят в няколко групи. Основните групи графични функции са:
- инициализиращи графичния режим;
- проверяващи и променящи назначените параметри на графичното представяне;
- свързани с извеждането на текстове;
- изобразяващи графични примитиви и стандартни двумерни и тримерни обекти;
- съхраняване и възстановяване на изображения.
Основни двумерни графични функции:
Функции за работа с текстове в графичен режим
settextstyle(font, direction, charsize) - назначава стил (font) на символите , посока на извеждане (direction) и височина (charsize) на буквите при последващо извеждане на текст в графичен режим.
outtext(string) - извежда текста, указан с параметър (string) спрямо текущата позиция на графичния курсор.
outtextxy(x,y,string) - извежда текста, указан с параметър (string) спрямо точка, зададена с координати (х,у).
Функции изобразяващи основни графични обекти
putpixel(x, у, color) - изобразява пиксел с указаните координати (х,у) и цвят (color).
moveto(x,y ) - премества графичния курсор до точка с координати (х,у).
line(x1,y1,x2,y2) - изобразява отсечка между две точки по зададените им координати съответно (x1,y1) и (х2,у2).
lineto(x,y) - изобразява отсечка между текущата позиция на графичния курсор и точка с координати (х,у).
rectangle(x1,y1,x2,y2) - изобразява правоъгълник по зададени координати на горен ляв ъгъл (x1,y1) и долен десен (х2,у2) ъгъл.
bar(x1,y1,x2,y2) - изобразява защрихован правоъгълник по зададени координати на горен ляв ъгъл (х1,у1) и долен десен (х2,у2) ъгъл.
circle(x,y, R) - изобразява окръжност с център (х,у) и радиуси R.
arc(x,y, sangle, endangle, R) - изобразява дъга от окръжност с център (х,у) и радиуси R. Дъгата от окръжността има за начало ъгъла (sangle) и за край ъгъла (endangle).
pieslice(x,y, sangle, endangle, R) - изобразява защрихован сектор от окръжност с център (х,у) и радиуси R. Дъгата на сектора има за начало ъгъла (sangle) и за край ъгъла (endangle).
ellipse(x,y, sangle, endangle, Rx, Ry) -изобразява дъга от елипса с център (х,у) и радиуси Rx, Ry. Дъгата има за начало ъгъла (sangle) и за край ъгъла (endangle).
fillelipse(x,y, Rx, Ry) - изобразява защрихована елипса с център (х,у) и радиуси Rx, Ry.
sector(x,y, sangle, endangle, Rx, Ry) - изобразява защрихован сектор от елипса с център (х,у) и радиуси Rx, Ry. Дъгата на сектора има за начало ъгъла (sangle) и за край ъгъла (endangle).
Ако вие имате за цел да генерирате подобни графики да кажем например в бизнес система или софтуер, които автоматично създава графични анализи и статистики, като да вземем една ЕРП система или друг бизнес софтуерен продукт, вие ще трябва да използвате всички горепосочени принципи и формули за работа.
Представянето на генерирания графичен обект трябва да се осъществява в някаква координатна система. В КГ са определени и използват няколко КС. Онази КС, която представя обекта в неговите реални размери, например когато става дума за компютърно проектиране на бъдещи реални обекти, се нарича световна КС (СКС). Описвайки обекта в СКС чрез съвкупност от изходни елементарни графични елементи, наречени графични примитиви, системата за КГ трябва да формира изображение на екрана на дисплея. За целта тя пренася независимите от изходното устройство световни координати върху координатите, зависещи от това устройство и използвани от апаратната част на дисплейния процесор. Така се дефинира и така наречената графична координатна система (ГКС). Обикновено преходът от СКС към ГКС се осъществява автоматично от програмните средства на системите за КГ. Съществува и още една условна КС, наречена нормализираща (НКС), която има само логически характер и представя графичната изходна информация във вид, независещ от изходното устройство. Това означава, че всички графични координати на генерирания обект се поместват в границите от 0 до 1 както по х, така и по у. Обикновено в графичните системи за проектиране, изградени върху така наречените прости графични пакети от функции за генериране на графични примитиви, НКС има начало долу, в ляво на екрана и преходът от СКС към НКС става автоматично чрез специална функция на пакета, а след това вторият преход от НКС към ГКС става също автоматично от специална функция на графичния пакет. Понякога тези две трансформации са обединени в една.
Изобразяването на обекти от тримерното световно пространство върху двумерната, така наречена видова, графична или още картинна равнина от видовото пространство на графичното изходно пространство следва да се осъществява чрез въвеждане на още няколко условности или съглашения. Те са приети в КГ относно координатните системи и изобразяваните в тях обекти. Обикновено се предполага, че тримерните обекти се проектират върху двумерната видова равнина с помощта на два вида проекции:
а) паралелна, при която обектът се пренася паралелно върху двумерната видова равнина, която мислено е разположена успоредно на равнината хОу от съответната координатна система, в която е разположен генерирания графичен обект. Това най-често е СКС.
б) централна, при която обектът се изобразява върху двумерната видова равнина така, както би се виждал той от даден център на проекция. Централната проекция е необходима за създаване на перспектива при моделирането на тримерна илюзия на представяните тримерни обекти върху двумерна графична равнина.
Освен това е нужно да бъде зададена точка Р, от която се формира проекцията. Тя се задава със своите световни координати Xp,Yp,Zp. При паралелната проекция това ще бъде точка, през която ще преминава права линия, успоредна на оста z. На нея пък ще бъдат успоредни всички линии, проектиращи контура на обекта върху видовата равнина. Последният ще се пренесе по такъв начин върху двумерната видова равнина като ще се създаде илюзия за тримерния му вид. В качеството на пример на интерпретация на разположението на трите оси относно двумерната видова равнина в зависимост и от стойностите на точката на виждане на обекта при неговото проециране.
а)Дясно ориентирана КС , при която осите преминават една в друга след завъртане на 900 обратно на часовниковата стрелка;
б)Ляво ориентирана КС, при която осите преминават една в друга след завъртане на 900 по посока на часовниковата стрелка.
Още няколко варианта на разположение на осите в зависимост от стойностите на координатите на точката на виждане за дясно ориентирана координатна система.
Обикновено генерирането на тримерни обекти се осъществява за ляво ориентирана КС, с положителни стойности на координатите на точката на виждане.
Етикети:
Web 2.0,
графичен дизайн,
информация,
технологии
Изображения, графика и форми
В някои случаи се изисква да се съхрани част от изображението и всичко останало да се изчисти. Това възниква, когато искаме да увеличим малка област от рисунката или графиката до размерите на целия екран или да получим изображение на отделни части от рисунката за отчет или илюстрация. За тази цел избраната област от екрана се огражда в правоъгълна рамка, която също е графичен прозорец.
Метод на Коен:
В този метод за определяне на тази от двете области, на която принадлежи края на реброто се изважда четириразреден битов код. Кодовете на тези области са показани на фигурата. Крайния десен бит се счита за първи. В съответния бит се псотавя 1 при следните случаи.
За първи бит – ако точката е в ляво от прозореца
За втори бит – ако точката е в дясно от прозореца
За трети бит – ако точката е отдолу на прозореца
За четвърти бит – ако точката е отгоре на прозореца
В противен случай в бита се поставя 0;
Ако кодовете на двата края на реброто са равни на 0, то и двете точки лежат вътре и отсечката е видима. Ако логическото произведение на кодовете не е равно на 0 отсечката е напълно невидима. Ако това произведение е равно на 0, отсечката може да е изцяло или частично видима или даже изцяло невидима. Затова за определяне на пълната видимост е необходимо да се проверяват стойностите на кодовете на двата края на отсечката по отделно.
Построяване на окръжност. Това е най-често използваната крива. Тя е основен компонент за изчертаване на рисунки кръгови диаграми и много други сложни графични изображения. За построяване на окръжност на екрана е необходимо да се окажат координатите на центъра и радиуса r. Необходимо е да се определят координатите на точките от окръжността. Управлението на окръжността може да се запише по няколко начина. Координатите на последователни точки (x,y) принадлежащи на окръжност удобно се записват в зависимост от ъгъла ά измерван по часовниковата стрелка от хоризонталната линия:
X = Xc + r.cos(ά)
Y = Yc +r.sin(ά)
Една от уникалните възможности на растровото графично устройство е възможността да се представят ‘плътни” или още ‘запълнени области”. Обикновено за целта се използват методи за запълване на контури, делящи се на две категории: растрова развивка и верижно запълване;
Алгоритъм за запълване
Точката (x,y) определя верижния пиксел
Push – процедура която помества пикслеа в стека
Pop – процедура кяото извлича пиксела от стека
Пиксел (x, y) = Точка (x, y)
Инициализира се стека
Push Пиксел(x, y)
While(стека не е празен)
Извлича се пиксел от стека
Pop пиксле (x, y)
If Пиксел (x, y) < > Нова_стойост then
Пиксел (x, y) = Нова_Стойност
Endif
Проверяра за съседните пиксели дали трябва да се поместят в стека
If Пиксел (x +1, y) < > Нова_Стойност .and. Пиксел(x + 1, y) < > Гран_Стойност then
Push Пиксел (x+1, y) endif
If Пиксел (x , y+1) < > Нова_Стойност .and. Пиксел(x , y+1) < > Гран_Стойност then
Push Пиксел (x, y+1) endif
If Пиксел (x -1, y) < > Нова_Стойност .and. Пиксел(x -1, y) < > Гран_Стойност then
Push Пиксел (x-1, y) endif
If Пиксел (x , y-1) < > Нова_Стойност .and. Пиксел(x , y-1) < > Гран_Стойност then
Push Пиксел (x, y-1) endif
End while
Finish
В алгоритъма се проверяват и поместват в стека 4-свързани пиксела започвайки с десния на текущия пиксел. Направлението при обхождането на пикселите е обратно на часовниковата стрелка.
Метод на Коен:
В този метод за определяне на тази от двете области, на която принадлежи края на реброто се изважда четириразреден битов код. Кодовете на тези области са показани на фигурата. Крайния десен бит се счита за първи. В съответния бит се псотавя 1 при следните случаи.
За първи бит – ако точката е в ляво от прозореца
За втори бит – ако точката е в дясно от прозореца
За трети бит – ако точката е отдолу на прозореца
За четвърти бит – ако точката е отгоре на прозореца
В противен случай в бита се поставя 0;
Ако кодовете на двата края на реброто са равни на 0, то и двете точки лежат вътре и отсечката е видима. Ако логическото произведение на кодовете не е равно на 0 отсечката е напълно невидима. Ако това произведение е равно на 0, отсечката може да е изцяло или частично видима или даже изцяло невидима. Затова за определяне на пълната видимост е необходимо да се проверяват стойностите на кодовете на двата края на отсечката по отделно.
Построяване на окръжност. Това е най-често използваната крива. Тя е основен компонент за изчертаване на рисунки кръгови диаграми и много други сложни графични изображения. За построяване на окръжност на екрана е необходимо да се окажат координатите на центъра и радиуса r. Необходимо е да се определят координатите на точките от окръжността. Управлението на окръжността може да се запише по няколко начина. Координатите на последователни точки (x,y) принадлежащи на окръжност удобно се записват в зависимост от ъгъла ά измерван по часовниковата стрелка от хоризонталната линия:
X = Xc + r.cos(ά)
Y = Yc +r.sin(ά)
Една от уникалните възможности на растровото графично устройство е възможността да се представят ‘плътни” или още ‘запълнени области”. Обикновено за целта се използват методи за запълване на контури, делящи се на две категории: растрова развивка и верижно запълване;
Алгоритъм за запълване
Точката (x,y) определя верижния пиксел
Push – процедура която помества пикслеа в стека
Pop – процедура кяото извлича пиксела от стека
Пиксел (x, y) = Точка (x, y)
Инициализира се стека
Push Пиксел(x, y)
While(стека не е празен)
Извлича се пиксел от стека
Pop пиксле (x, y)
If Пиксел (x, y) < > Нова_стойост then
Пиксел (x, y) = Нова_Стойност
Endif
Проверяра за съседните пиксели дали трябва да се поместят в стека
If Пиксел (x +1, y) < > Нова_Стойност .and. Пиксел(x + 1, y) < > Гран_Стойност then
Push Пиксел (x+1, y) endif
If Пиксел (x , y+1) < > Нова_Стойност .and. Пиксел(x , y+1) < > Гран_Стойност then
Push Пиксел (x, y+1) endif
If Пиксел (x -1, y) < > Нова_Стойност .and. Пиксел(x -1, y) < > Гран_Стойност then
Push Пиксел (x-1, y) endif
If Пиксел (x , y-1) < > Нова_Стойност .and. Пиксел(x , y-1) < > Гран_Стойност then
Push Пиксел (x, y-1) endif
End while
Finish
В алгоритъма се проверяват и поместват в стека 4-свързани пиксела започвайки с десния на текущия пиксел. Направлението при обхождането на пикселите е обратно на часовниковата стрелка.
28 октомври 2010, четвъртък
Уеб дизайн съвети при изработка на сайт на професионално ниво
Една добра уеб страница е винаги пригледна на вид и лесна за четене. Една лесна техника, която води до избягване на безпорядъка е употребата на бели полета или по-точно казано празно място. Оставяйте много пространство между къси параграфи.
Съдържанието на уеб сайта в основата си определя успеха или провала на сайта Ви. Успехът Ви в търсачките ще се определя от това колко добре Вие добавяте съдържанието и дали то генерира истински посетители.
Когато добавяте съдържание на конкретна страница, имайте предвид, че големината на текстовия блок е около 250-500 думи. Не пренатоварвайте съдържанието с една и съща ключова фраза. Ако не Ви звучи добре при повторен прочит, това е ясна индикация, че направо сте се престарали. Използвайте синоними на ключовите думи вместо да претоварвате съдържанието и да злоупотребявате с дадени ключови думи, защото търсачките мразят това и незабавно си резервирате място в черните им списъци.
Друг трик относно оформлението е употребата на тъмни текстове на светли фонове (за предпочитане бял). Тъмните фонове карат посетителите да се чувстват депресирани. Ярките фонове затрудняват четимостта и дразнят очите, а червените, оранжевите и лилавите фонове могат да са замайващи. Цветът на текста, който избирате също е толкова важен – различните браузъри показват различните цветове по различен начин. Текст, който изглежда добре на вашия браузър може да е неподходящ за друг. Разделете текста си прегледно в колонки, защото е по-лесно да се следва една права линия при четене, отколкото една объркана маса текст. Използвайте шрифтове, които са достъпни на всички компютри и са лесни за четене като Arial, Times New Roman, Garamond и Courier. Екзотични шрифтове като Gothic, Script, Westminster или Cloister изглеждат атрактивно, но не са налични на всички компютри. В такъв случай браузърът на посетителя Ви ще замести непознатия шрифт със системен и ще се изгуби ефекта, към който сте се стремили първоначално.
Повечето хора не се справят се изморяват от големи порции информация, която трябва да бъде възприета наведнъж. Сърцето на професионалните услуги и уеб дизайн специално планиран за убобството на Интернет потребителите е оформлението на текстовите пасажи. Вече ви предложихме да разделите страницата си на колони, които ще разделят текста вертикално, но също е добре да използвате подзаглавия, за да го разделите и хоризонтално. Нека използваме заглавия за текстовете, защото те са полезни и за оптимизацията на съдържанието. Заглавието трябва да е грабващо вниманието, ясно и кратко. Проверете всяка секция дали можете да я разделите на по-малки. Използвайте кратки изречения за подзаглавия към тези подсекции. Използвайте един и същи шрифт за заглавията и подзаглавията, който да е по-дебел, по-голям и по-видим. Ако го направите, посетителите по-лесно ще сканират съдържанието и ще виждат ключовите точки в секциите на пръв поглед. Ясно е, че човек няма цялото време на света да прочете това, което го интригува и ето защо тези трикове за сканиране на параграфи се използват ефективно от всеки Интернет потребител. Ако искате да акцентирате на конкретна част от текста, направете я в различен, но подобаващ цвят, тъй като не всеки цвят се чете лесно на различните фонове. Ето защо ние горещо препоръчваме да удебелявате текста, където е нужно, за да помогнете на потребителят бързо и лесно да се ориентира в съдържанието.
Навигация. Сложете навигационното табло отляво на страниците си, защото гората четат от ляво надясно и отгоре надолу. Във всяка изработка на уеб сайт има един най-важен принцип - предоставяне на удобно боравене с уеб сайта от страна на Интернет потребителите. Сърфиращите очакват да открият навигационните табла отляво на страницата. Запазете си празна страница с вградени изложението, колоните, логотата, стандартизираните графики, алт тагове и навигационни панели, за да използвате тази страница като шаблон за всички страници в сайта и просто да я пълните с нужното съдържание.
Сигурността на информационния обмен е важна за успеха на уеб сайта и особено за корпоративните сайтове. Хората се притесняват да споделят лична информация, защото повечето сайтове не предоставят надеждни начини за защита на данните. Вие трябва да пазите персоналните данни на Вашия клиент, защото доверие е нещо безценно. Кажете на посетителите си как предпазват личната си информация, ако сайтът Ви изисква регистрация. Подгответе си страница за поверителност и защита на информацията, която изрично дава насоки как и каква информация събирате от посетителите си, как пазите е-мейл адресите им, как приемате и обработвате поръчките им, кой има оторизиран достъп до информацията и какви предпазни мерки взимате, за да пазите личните данни в тайна. Подканете клиентите си да споделят мнението си, те ще се зарадват, че то е оценявано от Вас, а потенциалните потребители ще са информирани за Вашата лоялност и качество на обслужване.
Посветете страница на клиентските мнения, означете я като ‘референции’ и сложете линкове към сайтове на клиентите Ви. Ползата и доверието ще са двупосочни.
Писане, граматика и избор на думи
Изборът на ключови думи е ядрото на всеки един текст на Вашия сайт. Увлекателното писане на съдържание е талант, който намерил своята форма ще доведе повече посетители на сайта Ви. Разбира се, стилистиката и безупречните граматични конструкции са не препоръчителни, а задължителни. Обърнете внимание на тези елементи, защото в противен случай обричате сайта си на неуспех. Небрежното писане, обърканата граматика, кашата от препинателни знаци отблъскват посетителите. Грешките в правописа и граматиката директно говорят на хората, че собственикът на сайта е нехаен и не процедира като професионалист що се отнася до бизнес задачите. Ако писането със сигурност не е Вашата стихия, то намерете някой, който ентусиазирано и умело ще пише текстовете за Вас и ще ги адаптира към съществуващото съдържание на сайта.
Съдържанието на уеб сайта в основата си определя успеха или провала на сайта Ви. Успехът Ви в търсачките ще се определя от това колко добре Вие добавяте съдържанието и дали то генерира истински посетители.
Когато добавяте съдържание на конкретна страница, имайте предвид, че големината на текстовия блок е около 250-500 думи. Не пренатоварвайте съдържанието с една и съща ключова фраза. Ако не Ви звучи добре при повторен прочит, това е ясна индикация, че направо сте се престарали. Използвайте синоними на ключовите думи вместо да претоварвате съдържанието и да злоупотребявате с дадени ключови думи, защото търсачките мразят това и незабавно си резервирате място в черните им списъци.
Друг трик относно оформлението е употребата на тъмни текстове на светли фонове (за предпочитане бял). Тъмните фонове карат посетителите да се чувстват депресирани. Ярките фонове затрудняват четимостта и дразнят очите, а червените, оранжевите и лилавите фонове могат да са замайващи. Цветът на текста, който избирате също е толкова важен – различните браузъри показват различните цветове по различен начин. Текст, който изглежда добре на вашия браузър може да е неподходящ за друг. Разделете текста си прегледно в колонки, защото е по-лесно да се следва една права линия при четене, отколкото една объркана маса текст. Използвайте шрифтове, които са достъпни на всички компютри и са лесни за четене като Arial, Times New Roman, Garamond и Courier. Екзотични шрифтове като Gothic, Script, Westminster или Cloister изглеждат атрактивно, но не са налични на всички компютри. В такъв случай браузърът на посетителя Ви ще замести непознатия шрифт със системен и ще се изгуби ефекта, към който сте се стремили първоначално.
Повечето хора не се справят се изморяват от големи порции информация, която трябва да бъде възприета наведнъж. Сърцето на професионалните услуги и уеб дизайн специално планиран за убобството на Интернет потребителите е оформлението на текстовите пасажи. Вече ви предложихме да разделите страницата си на колони, които ще разделят текста вертикално, но също е добре да използвате подзаглавия, за да го разделите и хоризонтално. Нека използваме заглавия за текстовете, защото те са полезни и за оптимизацията на съдържанието. Заглавието трябва да е грабващо вниманието, ясно и кратко. Проверете всяка секция дали можете да я разделите на по-малки. Използвайте кратки изречения за подзаглавия към тези подсекции. Използвайте един и същи шрифт за заглавията и подзаглавията, който да е по-дебел, по-голям и по-видим. Ако го направите, посетителите по-лесно ще сканират съдържанието и ще виждат ключовите точки в секциите на пръв поглед. Ясно е, че човек няма цялото време на света да прочете това, което го интригува и ето защо тези трикове за сканиране на параграфи се използват ефективно от всеки Интернет потребител. Ако искате да акцентирате на конкретна част от текста, направете я в различен, но подобаващ цвят, тъй като не всеки цвят се чете лесно на различните фонове. Ето защо ние горещо препоръчваме да удебелявате текста, където е нужно, за да помогнете на потребителят бързо и лесно да се ориентира в съдържанието.
Навигация. Сложете навигационното табло отляво на страниците си, защото гората четат от ляво надясно и отгоре надолу. Във всяка изработка на уеб сайт има един най-важен принцип - предоставяне на удобно боравене с уеб сайта от страна на Интернет потребителите. Сърфиращите очакват да открият навигационните табла отляво на страницата. Запазете си празна страница с вградени изложението, колоните, логотата, стандартизираните графики, алт тагове и навигационни панели, за да използвате тази страница като шаблон за всички страници в сайта и просто да я пълните с нужното съдържание.
Сигурността на информационния обмен е важна за успеха на уеб сайта и особено за корпоративните сайтове. Хората се притесняват да споделят лична информация, защото повечето сайтове не предоставят надеждни начини за защита на данните. Вие трябва да пазите персоналните данни на Вашия клиент, защото доверие е нещо безценно. Кажете на посетителите си как предпазват личната си информация, ако сайтът Ви изисква регистрация. Подгответе си страница за поверителност и защита на информацията, която изрично дава насоки как и каква информация събирате от посетителите си, как пазите е-мейл адресите им, как приемате и обработвате поръчките им, кой има оторизиран достъп до информацията и какви предпазни мерки взимате, за да пазите личните данни в тайна. Подканете клиентите си да споделят мнението си, те ще се зарадват, че то е оценявано от Вас, а потенциалните потребители ще са информирани за Вашата лоялност и качество на обслужване.
Посветете страница на клиентските мнения, означете я като ‘референции’ и сложете линкове към сайтове на клиентите Ви. Ползата и доверието ще са двупосочни.
Писане, граматика и избор на думи
Изборът на ключови думи е ядрото на всеки един текст на Вашия сайт. Увлекателното писане на съдържание е талант, който намерил своята форма ще доведе повече посетители на сайта Ви. Разбира се, стилистиката и безупречните граматични конструкции са не препоръчителни, а задължителни. Обърнете внимание на тези елементи, защото в противен случай обричате сайта си на неуспех. Небрежното писане, обърканата граматика, кашата от препинателни знаци отблъскват посетителите. Грешките в правописа и граматиката директно говорят на хората, че собственикът на сайта е нехаен и не процедира като професионалист що се отнася до бизнес задачите. Ако писането със сигурност не е Вашата стихия, то намерете някой, който ентусиазирано и умело ще пише текстовете за Вас и ще ги адаптира към съществуващото съдържание на сайта.
Етикети:
Internet,
графичен дизайн,
изработка на сайтове,
Интернет,
информация,
уеб дизайн,
уеб сайтове,
услуги
12 октомври 2010, вторник
Електронен обмен на документи в Internet и Web
Електронния обмен на документи (Electronic Data Interchange - EDI) се използва широко за обмяна на документи, главно в бизнес към бизнес отношенията. често се налага размяната на фактури, поръчки, коносаменти, запитвания, поръчки и предложения. Внедряването на EDI може да ускори много бизнес процесите като намали и съответните разходи за транспортиране на твърдите копия (листи, папки) или телефонните и факс такси.
Друго важно предимство на EDI е използването на общи протоколи за трансфер на данни на ниско и на високо ниво. Това означава унифициране на бланките, софтуера, архитектурата на мрежите и базите с данни на различните фирми. Обикновено големите фирми се кооперират в изграждането на такива системи за EDI, което означава и изграждане на единна преносна мрежа за информацията. Такива са VAN (value added network). Те са дело обикновено на няколко големи фирми или сдружения, защото инвестициите не са по силата на дребния и среден бизнес. Това означава още едно предимство за фирмите, защото волю-неволю те започват да използват една и съща методика и един и същ софтуер, което е свързано често с огромни икономии от мащаба. При желание от страна на фирмите собственички на мрежата, тя може да се отвори към по-малки предприятия, които да я използват под наем.
Развитието на Интернет отваря вратичките на дребния и среден бизнес към една по-глобална мрежа за EDI. IBM е била една от първите фирми, разработващи решения за EDI по VAN, сега се използват и възiможностите на Интернет.
Окрупняването и отварянето към света не винаги е свързано само с положителни явления. Въпросите по отношение на сигурността излизат на преден план и това налага фирмите да инвестират допълнително в наемането на високо платен персонал, хардуер и софтуер за защита на данните от вандали.
В съответствие с добрите практики и препоръки на Европейския съюз стратегията за електронно правителство поставя като една от основните си цели следното: “ Предоставяне по електронен път на качествени, икономически ефективни и леснодостъпни административни услуги на гражданите и на бизнеса”. Предлагането на услуги по електронен път създава удобство за гражданите и бизнеса, намалява разходите по извършване на услугите, увеличава ефективността и минимизира корупционния натиск.
В Плана за изпълнение на стратегията са предвидени конкретни проекти, които са свързани с изпълнението на индикативните услуги. Индентифицирани са администрациите, които са отговорни за изпълнението на всяка една от услугите. Отговорните администрации се задължаваха да приемат конкретни действия за популяризиране на предлаганите от тях услуги в Интернет и за стимулиране на ползването на услугите през Интернет.
Рекламно съобщение: Web студио Netage Design предлага на българските клиенти качествена изработка на сайтове и уеб дизайн услуги на професионално световно ниво, изработка на реклама и рекламни материали, дори и SEO оптимизация на сайтове за търсачки и търсещи машини. И още - банер реклама, професионално заснимане на видео материали и др.
Въвеждането на посочените от Европейската комисия 20 индекативни електронни услуги за бизнеса и гражданите предвижда следните четири степени на предоставяне на услугите:
Първа степен – Иформация: институциите публикуват в интернет информация, която е достъпна за гражданите и фирмите;
Втора степен – Еднопосочно взаимодействие: институциите публикуват в интернет информация и предоставят възможност за изтеглянето на бланки и формуляри, свързани с услугите;
Трета степен – Двупосочно взаимодействие: потребителят на услугата освен получаването на информация и изтеглянето на бланки може да изпраща писма, формуляри и др. по електронен път, но администрацията не е задължена да му отговори в реално време или по същие начин;
Четвърта степен – Транзакция:гражданите и фирмите комуникират с администрацията по електронен път и обратно “он-лайн”. Съществува механизъм за потвърждаване на действителността на транзакцията.
Друго важно предимство на EDI е използването на общи протоколи за трансфер на данни на ниско и на високо ниво. Това означава унифициране на бланките, софтуера, архитектурата на мрежите и базите с данни на различните фирми. Обикновено големите фирми се кооперират в изграждането на такива системи за EDI, което означава и изграждане на единна преносна мрежа за информацията. Такива са VAN (value added network). Те са дело обикновено на няколко големи фирми или сдружения, защото инвестициите не са по силата на дребния и среден бизнес. Това означава още едно предимство за фирмите, защото волю-неволю те започват да използват една и съща методика и един и същ софтуер, което е свързано често с огромни икономии от мащаба. При желание от страна на фирмите собственички на мрежата, тя може да се отвори към по-малки предприятия, които да я използват под наем.
Развитието на Интернет отваря вратичките на дребния и среден бизнес към една по-глобална мрежа за EDI. IBM е била една от първите фирми, разработващи решения за EDI по VAN, сега се използват и възiможностите на Интернет.
Окрупняването и отварянето към света не винаги е свързано само с положителни явления. Въпросите по отношение на сигурността излизат на преден план и това налага фирмите да инвестират допълнително в наемането на високо платен персонал, хардуер и софтуер за защита на данните от вандали.
В съответствие с добрите практики и препоръки на Европейския съюз стратегията за електронно правителство поставя като една от основните си цели следното: “ Предоставяне по електронен път на качествени, икономически ефективни и леснодостъпни административни услуги на гражданите и на бизнеса”. Предлагането на услуги по електронен път създава удобство за гражданите и бизнеса, намалява разходите по извършване на услугите, увеличава ефективността и минимизира корупционния натиск.
В Плана за изпълнение на стратегията са предвидени конкретни проекти, които са свързани с изпълнението на индикативните услуги. Индентифицирани са администрациите, които са отговорни за изпълнението на всяка една от услугите. Отговорните администрации се задължаваха да приемат конкретни действия за популяризиране на предлаганите от тях услуги в Интернет и за стимулиране на ползването на услугите през Интернет.
Рекламно съобщение: Web студио Netage Design предлага на българските клиенти качествена изработка на сайтове и уеб дизайн услуги на професионално световно ниво, изработка на реклама и рекламни материали, дори и SEO оптимизация на сайтове за търсачки и търсещи машини. И още - банер реклама, професионално заснимане на видео материали и др.
Въвеждането на посочените от Европейската комисия 20 индекативни електронни услуги за бизнеса и гражданите предвижда следните четири степени на предоставяне на услугите:
Първа степен – Иформация: институциите публикуват в интернет информация, която е достъпна за гражданите и фирмите;
Втора степен – Еднопосочно взаимодействие: институциите публикуват в интернет информация и предоставят възможност за изтеглянето на бланки и формуляри, свързани с услугите;
Трета степен – Двупосочно взаимодействие: потребителят на услугата освен получаването на информация и изтеглянето на бланки може да изпраща писма, формуляри и др. по електронен път, но администрацията не е задължена да му отговори в реално време или по същие начин;
Четвърта степен – Транзакция:гражданите и фирмите комуникират с администрацията по електронен път и обратно “он-лайн”. Съществува механизъм за потвърждаване на действителността на транзакцията.
Етикети:
Internet,
Web 2.0,
web design,
Интернет,
информация,
комп,
технологии,
уеб дизайн,
уеб сайтове
30 септември 2010, четвъртък
Уеб услуги на сесийните бийнове
Една от особеностите на не запазващи състоянието си EJB е възможността те да представят уеб услуги – възможност, която другите видове EJB нямат. Това става поставянето на анотацията @Webservice преди дефинирането на класа. По този начин всички публични методи стават достъпни през уеб сървиса. Java EE 5 предоставя използването на анотации като друг вид декларативен стил на програмиране и разширява настройките по подразбиране, което спестява много време и код. Модела за сигурност поддържа роли и групи, които се дефинират в конфигурационен файл. По подразбиране всички публични методи на маркиран с @Webservice анотация клас са достъпни през уеб услугата за всеки клиент на бийна. За да укажем, че даден метод е достъпен само за определена роля или списък от роли е нужно поставянето на анотацията @RolesAllowed, като след нея в скоби се поставят имената на ролите, които могат да виждат и работят с метода. Например:
@RolesAllowed({"CEO", "Manager"})
public String sayHello()
{
String sayHello = „Hello World!“;
return sayHello;
}
позволява само на потребители или групи потребители с достъп до ролите CEO и/или Manager да виждат и изпълняват метода sayHello. При Java EE 5 и JAX-WS технологията за представяне на уеб услуги всички преобразувания в xml, както и помощни класове се генерират автоматично. Консумирането на уеб сървисите също става много интуитивно с няколко клика на мишката благодарение на интегрирани с технологията среди за разработка като NetBeans. Кога да използваме запазващи и кога – не запазващи състоянието си компоненти? Запазващи състоянието си бийнове е подходящо да използваме в следните ситуации:
когато е статута на компонента представя връзка с клиента по време на сесията, а не само при извкване на метод бийна има роля на медиатор между клиента и други компоненти на приложението, скривайки сложността чрез Facade дизайн когато компонента контролира няколко други корпоративни бийна, като това не зависи пряко от клиента. За да подобрим скоростта на приложенията, ползващи сесийни бийнове, може да предпочетем stateless такива, когато:
член променливите на компонента не пазят информация за специфичен клиент между няколко извиквания на методи в едно извикване на метод, бийна извършва обща задача за всичките клиенти – например изпращане на масово на писма по електронна поща
@RolesAllowed({"CEO", "Manager"})
public String sayHello()
{
String sayHello = „Hello World!“;
return sayHello;
}
позволява само на потребители или групи потребители с достъп до ролите CEO и/или Manager да виждат и изпълняват метода sayHello. При Java EE 5 и JAX-WS технологията за представяне на уеб услуги всички преобразувания в xml, както и помощни класове се генерират автоматично. Консумирането на уеб сървисите също става много интуитивно с няколко клика на мишката благодарение на интегрирани с технологията среди за разработка като NetBeans. Кога да използваме запазващи и кога – не запазващи състоянието си компоненти? Запазващи състоянието си бийнове е подходящо да използваме в следните ситуации:
когато е статута на компонента представя връзка с клиента по време на сесията, а не само при извкване на метод бийна има роля на медиатор между клиента и други компоненти на приложението, скривайки сложността чрез Facade дизайн когато компонента контролира няколко други корпоративни бийна, като това не зависи пряко от клиента. За да подобрим скоростта на приложенията, ползващи сесийни бийнове, може да предпочетем stateless такива, когато:
член променливите на компонента не пазят информация за специфичен клиент между няколко извиквания на методи в едно извикване на метод, бийна извършва обща задача за всичките клиенти – например изпращане на масово на писма по електронна поща
Етикети:
Java,
приложения,
програмиране,
уеб сайтове,
услуги
13 август 2010, петък
Новите уеб дизайн услуги
От скоро една от най-предпочитаните уеб агенции в страната "Уеб Дизайн България Груп ООД", създаде свои по-малък и скромен проек за предлагане на уеб дизайн услуги за малкия бизнес Seven Web Design, проект на фирмата предназначен единствено към клиентите, желаещи своите уеб сайтове бързо и с ограничен бюджет за изработка.
Новия проект лежи на стар домейн, пренадлежащ на Американската фирма 7 Webdesign, която реши да съкрати своите сателитни домейни, и да показва своите услуги пред публичността чрез 7webdesign.com домейна си, но www.sevenwebdesign.com бързо смени собственика си и не остана самотен в Интернет пространството. "Уеб Дизайн България Груп" ООД заявиха в българските форуми, че качеството на предлаганите услуги.
Новия проект лежи на стар домейн, пренадлежащ на Американската фирма 7 Webdesign, която реши да съкрати своите сателитни домейни, и да показва своите услуги пред публичността чрез 7webdesign.com домейна си, но www.sevenwebdesign.com бързо смени собственика си и не остана самотен в Интернет пространството. "Уеб Дизайн България Груп" ООД заявиха в българските форуми, че качеството на предлаганите услуги.
Етикети:
web design,
Интернет,
уеб дизайн,
уеб сайтове,
фирми
Абонамент за:
Публикации (Atom)