تمرین سری سوم درس برنامه نویسی شیءگرا موعد ارسال :یکشنبه 25اردیبهشت 1390 واهیار اللَْردی تا زطىز اس هْسا لزتاًی ٍ ضادی ػثذاللْیاى تمرین سری سوم برنامه سازی شیءگرا مهلت تحویل :یکشنبه 25اردیبهشت 0931 نکات کلی هطخصاذ ولی زوزیي ّا تِ ایي ضزح اسر: نام کالس نمره زوزیي 1 NumberNarrator 52 زوزیي 5 Photoshop 21+11 زوزیي 3 Piano 52+52 ّ ذف اس ایي زوزیي ،آضٌایی تا هحیظّای چٌذ رساًِای هَجَد در javaاسر. تزای ارسال زوزیي تِ آدرس سیز هزاجؼِ وٌیذ: http://judge.ce.sharif.edu/ ّوِ فایلّای خَد را درٍى یه فایل zipلزار دّیذ ٍ ًام فایل را STDID.zipوِ STIDضوارُ داًطجَیی ضوا اسر لزار دّیذ. هَػذ زحَیل ساػر 53:29رٍس یىطٌثِ 52اردیثْطر 1391تَدُ ٍ تِ ّیچ ػٌَاى زوذیذ ًخَاّذ ضذ. زأخیز زا 1ساػر ،تِ اسای ّز 3دلیمِ هَجة وسز ضذى ً %1وزُ ،اس 1ساػر زا 52ساػر هَجة وسز ضذى ً %51وزُ ،اس 52ساػر زا 52ساػر ،تِ اسای ّز 5دلیمِ هَجة وسز ضذى ً %1وزُی دیگز ٍ تیي 52ساػر زا 28ساػر تاػث وسز ضذى ً %21وزُ هیضَد .زأخیز تیطسز اس 28ساػر لاتل لثَل ًیسر. والسّا ٍ هسذّای گفسِ ضذُ در آىّا حذاللّای السم ّسسٌذ .یؼٌی ضوا هیزَاًیذ تزای راحرزز ضذى خیادُ- دیگزی اضافِ وٌیذٍ .لی دلر داضسِ تاضیذ وِ والسّای گفسِ ضذُ ٍ هسذّای آًْا تایذ تِ ّویي ضىل ،هَجَد تاضٌذ. سَاالذ خَد را تا فزسسادى ایویل تِ آدرس [email protected]هغزح وٌیذ. ً حَُ زحَیل حضَری زوزیي هسؼالثاً اػالم خَاّذ ضذ. زوزیي سزی سَم تزًاهِ ساسی ضیءگزا ساسیساى یا ضیگزازز ضذى وذزاى تِ ایي والسّا هسذّای دیگزی اضافِ وٌیذ یا تِ ول زوزیي والسّای 1 تمرین : 1سیستن اعالم نوبت ضزور PizzaHutلصذ دارد ضؼثِ ای در زْزاى زأسیس وٌذ .تزای راُ اًذاسی ایي ضؼثِ ًیاس تِ یه سیسسن اػالم ًَتر فارسی دارد .تزای ایي هٌظَر تزًاهِ ای ًیاس اسر وِ تا گزفسي یه ًَتر وِ یه ػذد اسر ،تسَاًذ آى را زَسظ تلٌذگَّای هَجَد در ایي ضؼثِ اػالم وٌذ. در ایي زوزیي ضوا تایذ چٌیي سیسسوی عزاحی وٌیذ وِ اػذاد را تِ ػٌَاى ٍرٍدی دریافر وٌذ ٍ تِ صَرذ گفساری ػذد را تزای وارتز تخَاًذ. تزای عزاحی سیسسن تا ووه swingصفحِای تساسیذ وِ وارتز تسَاًذ ػذد هَرد ًظز را ٍارد وٌذ ٍ تا سدى دگوِ هٌاسة صَرذ گفساری ػذد را تطٌَد. تزای ساخسي ایي سیسسن ،ضوا ًیاس تِ چٌذ فایل صَزی حاٍی اعالػاذ سیز داریذ وِ تایذ زَسظ خَد ضوا در لالة زؼذادی فایل mp3تزای ّز هَرد ساخسِ ضَد .هَاردی وِ تایذ تزای آىّا یه فایل صَزی تساسیذ: زوزیي سزی سَم تزًاهِ ساسی ضیءگزا 5 هسار ششصد صد شصت بیست ده صفر هسار و ششصد و صد و شصت و بیست و یازده یک میلیون هفتصد دویست هفتاد سی دوازده دو میلیون و هفتصد و دویست و هفتاد و سی و سیسده سه میلیارد هشتصد سیصد هشتاد چهل چهارده چهار میلیارد و هشتصد و سیصد و هشتاد و چهل و پانسده پنج نهصد چهارصد نود پنجاه شانسده شش نهصد و چهارصد و نود و پنجاه و هفده هفت پانصد هجده هشت پانصد و نوزده نه زَجِ وٌیذ وِ زٌْا تایذ تزای ایي هَارد فایلّای صَزی خَد را زْیِ وٌیذ ،تزای هثال ًثایذ اس یه فایل صَزی جذا تزای حزف «ٍ» اسسفادُ وٌیذ ٍ فمظ حاالذ گفسِ ضذُ را تایذ در ًظز تگیزیذ. تزای خخص فایلّای mp3اس وساتخاًِ JLayerووه تگیزیذ .ایي وساتخاًِ را اس ایٌجا دریافر وٌیذ ٍ jl1.0.1.jarرا تِ هسیز buildدر eclipseاضافِ وٌیذ .جْر آضٌایی تا ًحَُ خخص فایلّای mp3تا ووه ایي وساتخاًًِ ،وًَِ وذ سیز را تثیٌیذ: http://pastebin.com/baf8k70t تمرین : 2فتوشاپ 1 در ایي زوزیي ضوا تایذ هحیغی را هطاتِ تا ًزمافشار فسَضاج عزاحی وٌیذ. لسورّای اصلی وِ تایذ خیادُ ساسی وٌیذ: .1خٌجزُ اصلی تزًاهِ تِ ّوزاُ هٌَی اصلی .5خٌجزُ حاٍی ول ػىس .3خٌجزُ حاٍی اساهی الیِّا .2خٌجزُ حاٍی افىرّا .2خٌجزُ حاٍی هذّای Blending پنجره اصلی برنامه به همراه منوی اصلی: ایي خٌجزُ حاٍی خٌجزُ ّای دیگز اسر .تزای هٌَی اصلی وِ در ایي خٌجزُ لزار هیگیزد ،حذالل تایذ اهىاى ساخسي یه ػىس جذیذ ،اضافِ وزدى یه ػىس تِ ػىس هَجَد ،تسسي تزًاهِ لاتل دسسزسی تاضذ .تزای خیادُساسی هٌَ اس والس JMenuBarووه تگیزیذ. پنجره حاوی کل عکس: ایي خٌجزُ تا ساخسي یه ػىس جذیذ یا تاس وزدى یه ػىس ،ساخسِ هیضَد. ٌّگام ساخسي یه ػىس جذیذ تایذ اس وارتز اتؼاد ػىس هَردًظز خزسیذُ ضَد؛ در اداهِ یه خٌجزُ تایذ ساخسِ ضَد وِ تِ عَر خیص فزض تا رًگ سفیذ رًگ ضذُ اسر( .رًگ سفیذ هؼادل دادى همذار 522تزای ّوِی هؤلفِّای خیىسلّا اسر) در اداهِ تا ًحَُ همذاردّی ًماط یه ػىس آضٌا خَاّیذ ضذ. ٌّگام تاس وزدى یه ػىس ،تایذ ایي خٌجزُ تِ اًذاسُ ّواى ػىس ساخسِ ضَد. تِ ایي خٌجزُ اضافِ ضَد ٍ خٌجزُ حاٍی اساهی الیِّا ًیش تِ رٍس ضَد .ػىس جذیذ را تِ عَر خیصفزض در هخسصاذ صفز در هثذأ درج وٌیذً( .مغِی تاال سور چح ػىس جذیذ هٌغثك تز ًمغِی تاال سور چح صفحِی خٌجزُ ضَد) 1 زوزیي سزی سَم تِ عَر خَدوار زصحیح ًویضَد .تِ ّویي هٌظَر ًحَُی دلیك خیادُساسی تِ ػْذُ خَد ضوا اسر ،تِ جش در هَاردی وِ تِ عَر صزیح ًحَُ خیادُساسی زوزیي سزی سَم تزًاهِ ساسی ضیءگزا ٌّگام اضافِ وزدى یه ػىس ،تایذ ػىس را تِ خٌجزُ هَجَد اضافِ وٌیذ .ػىس جذیذ تایذ زحر ػٌَاى یه الیِ جذیذ لیذ ضذُ تاضذ. 3 پنجره حاوی اسامی الیهها و مدیریت الیهها: در ایي خٌجزُ تایذ اساهی الیِّایی وِ ساخسِ ضذُ اًذ را ًوایص دّیذ .زززیة ًوایص اساهی هْن اسر؛ آخزیي الیِ افشٍدُ ضذُ تایذ تاالززیي اسن ًوایص دادُ ضذُ تاضذ. زززیة الیِ ّا ثاتر اسر ٍ ّواى زززیة اضافِ وزدى ػىس اسر .تا زَجِ تِ ایي زززیة ػىسّا تایذ وطیذُ ضًَذ. تاالززیي الیِ رٍی ّوِی الیِّای خاییٌی تایذ وطیذُ ضَد(.وطیذُ ضذى یه ػىس رٍی ػىس دیگز تِ هؼٌای ززویة دٍ ػىس ًیسر ٍ فمظ هٌظَر وطیذُ ضذى ػىس تاالیی در ًماط ّودَضاًی دٍ ػىس اسر) در اًسْا ایي خٌجزُ تایذ اهىاى اًسخاب وزدى یه الیِ را داضسِ تاضذ .الیِای وِ اًسخاب ضذُ تاضذ را هیزَاى تا drag وزدى رٍی خٌجز ُ ػىس جاتجا وزد (تذٍى زغییز زززیة وطیذُ ضذى ػىسّا)ّ ،وچٌیي هیزَاى یه افىر را رٍی آى اػوال وزد. نمره اضافه(:)01+ تِ عَر اخسیاری هیزَاًیذ اهىاى زغییز زززیة الیِ ّا را فزاّن وٌیذ .در ایٌصَرذ تایذ صفحِ ًوایص دٌّذُ ػىس تِ عَر ّوشهاى تا زغییز زززیة الیِّا تِ رٍس ضَد. پنجره حاوی افکتها: در ایي خٌجزُ ضوا چٌذ افىر را تایذ در اخسیار وارتز لزار دّیذ وِ وارتز تسَاًذ تا اًسخاب افىر هَرد ًظز ،آى را رٍی الیِی اًسخاب ضذُ اػوال وٌذ. در ایي زوزیي ضوا چٌذ افىر را وِ در ردُ افىرّای Box Filteringلزار هیگیزًذ را خیادُساسی هیوٌیذ. تزای خیادُساسی افىرّا هیزَاًیذ ّزیه اس دٍ رٍضی را وِ در اداهِ آهذُ اسر تِ وار تثزیذ. زوزیي سزی سَم تزًاهِ ساسی ضیءگزا 2 تزای اػوال افىرّا تایذ ّز ًمغِ اس ػىس را تا ووه یه هاززیس زثذیل وٌیذ .تزای ًوًَِ هاززیس سیز را در ًظز تگیزیذ: ] [ تزای هحاسثِ همذار زثذیل یافسِ ًمغِ) (x,yوِ ) V(x,yاسر ،تِ ایي ضیَُ ػول هیوٌین: V’(x,y) f1×V(x-1,y-1)+ f2×V(x,y-1)+ f3×V(x+1,y-1)+ f4×V(x-1,y)+ f5×V(x,y)+ f6×V(x+1,y)+ )f7×V(x-1,y+1)+ f8×V(x,y+1)+ f9×V(x+1,y+1 در ًْایر اگز ضوا هاززیس fxرا تزای ّز افىر داضسِ تاضیذ ،هیزَاًیذ افىر را رٍی ػىس اػوال وٌیذ. افىرّایی وِ تایذ خیادُساسی وٌیذ(زٌْا هاززیسی وِ تایذ اسسفادُ وٌیذ آٍردُ ضذُ اسر): افکت :blur [ ] افکت :sharpen [ ] ] [ افکت :glowing edge ] [ زوزیي سزی سَم تزًاهِ ساسی ضیءگزا افکت :motion blur 2 تزای اػوال ایي افىرّا هیزَاًیذ اس ّزیه اس دٍ رٍش سیز اسسفادُ وٌیذ: هی زَاًیذ زوام هحاسثاذ گفسِ ضذُ را تزای ّز خیىسل (ٍ تزای ّز یه اس هؤلفِّای رًگ )R,G,Bیه ػىس اًجام دّیذ .تزای آضٌایی تا ًحَُ وار تا یه ػىس در ٍ javaزغییز همادیز هؤلفِّای خیىسلّای آى هیزَاًیذ اس ًوًَِ وذ سیز ووه تگیزیذ: http://pastebin.com/6ad2QQqD تِ ػٌَاى یه رٍش سادُزز هیزَاًیذ اس والسّای هَجَد در خَد javaاسسفادُ وٌیذ وِ زٌْا تا دادى یىی اس هاززیسّای فَق ػىس را تزای ضوا زثذیل هیوٌذً .وًَِ وذی وِ تا ّویي رٍش افىر blurرا رٍی یه ػىس اػوال هیوٌذ در لیٌه سیز لاتل اسسفادُ اسر: http://pastebin.com/MKc9V6pF پنجره حاوی مدهای :Blending ایي خٌجزُ اهىاى ززویة وزدى دٍ الیِ را تایذ تِ وارتز تذّذ .تِ ػٌَاى هثالی اس ًحَُی خیادُساسی ایي خٌجزُ ،هیزَاًیذ هذّای هخسلف ززویة دٍ الیِ را ًطاى دّیذ ٍ وارتز یىی اس ایي حاالذ را اًسخاب وٌذ ٍ در اداهِ لیسسی حاٍی اساهی الیِ ّا تِ اٍ ًطاى دادُ ضَد وِ تا اًسخاب دٍ الیِ ،ػول ززویة هَردًظز را رٍی الیِّا اػوال وٌذ .فمظ زَجِ داضسِ تاضیذ وِ الیِّا تایذ تِ ّواى زززیة هؼیي خَد در خٌجزُ الیِّا تایذ تا ّن ززویة ضًَذ (الیِی تاالزز رٍی الیِی خاییي- زز اػوال هیضَد) .تؼذ اس اًجام ززویة دٍ الیِ تایذ دٍ الیِ لثلی حذف ضًَذ ٍ الیِ جذیذ تِ جای الیِی خاییيزز لثل اس ززویة ،تایذ لزار تگیزد. تزای ززویة دٍ ػىس اس ًوًَِ وذ سیز وِ ًحَُ وار تا ػىس در javaرا ًطاى دادُ اسر ،ووه تگیزیذ: http://pastebin.com/6ad2QQqD زَجِ وٌیذ وِ چَى ػىس رًگی اس سِ هؤلفِ R,G,Bزطىیل ضذُ اسر ،ػولیاذ ززویة تزای ّوِ خیىسلّا تایذ تزای زوزیي سزی سَم تزًاهِ ساسی ضیءگزا 6 ّزوذام اس ایي سِ هؤلفِ جذاگاًِ اًجام ضَد. در ًْایر ّز هؤلفِ یه خیىسل را هیزَاى تا ّواى رٍضی وِ در سزی دٍم زوزیيّا دیذ ززویة وٌیذ .در اداهِ ّواى فزهَلّا تزای حالسی ػوَهی وِ ّز هؤلفِ اس 1زا 522هیزَاًذ همذار داضسِ تاضذ ،آٍردُ ضذُ اسر. در زواهی لسور ّای تؼذی ،تِ جای Layerتاالیی اس ،topتِ جای Layerسیزیي اس ٍ bottomتِ جای Layer ًْایی وِ ضاهل ًسیجِ ززویة ایي دٍ اسر اس resultاسسفادُ هیضَد .در فزهَلّا هٌظَر همذار یه ًمغِ اس ایي ّLayerاسر. : Multiply در ایي رٍش تا اسسفادُ اس ،topػىس زیزُزز هیضَد .تِ ایي ضىل وِ ّزاًذاسُ ًماط topخزرًگزز تاضٌذ ،ػىس ًْایی حاٍی ًسخِی زیزُززی اس bottomخَاّذ تَد .فزهَل سادُ ضذُ تزای هحاسثِ همذار ّزًمغِ اس resultتِ صَرذ سیز اسر: result = (top*bottom)/255 : Screen در ایي رٍش تا اسسفادُ اس ،topػىس رٍضيزز هیضَد .تِ ایي ضىل وِ ّزاًذاسُ ًماط topرٍضيزز تاضٌذbottom ، رٍضيزز خَاّذ ضذ .فزهَل سادُ ضذُ تزای هحاسثِ همذار ّزًمغِ اس resultتِ صَرذ سیز اسر: ]result = 255-[((255-top)*(255-bottom))/255 : Addition در ایي رٍش همذار topتا bottomجوغ هی ضَد .فزهَل هحاسثِ همذار ّزًمغِ اس resultتِ صَرذ سیز اسر: result = bottom+top : Subtract در ایي رٍش همذار topاس bottomون هی ضَد .فزهَل هحاسثِ همذار ّزًمغِ اس resultتِ صَرذ سیز اسر: result = bottom-top : Darken تِ صَرذ سیز اسر: }result = min{bottom,top : Lighten در ایي رٍش همذار resultتزاتز تا همذار رٍضيزز bottom ٍ topخَاّذ تَد .فزهَل هحاسثِ همذار ّزًمغِ اس resultتِ صَرذ سیز اسر: }result = max{bottom,top زوزیي سزی سَم تزًاهِ ساسی ضیءگزا در ایي رٍش همذار resultتزاتز تا همذار زیزُزز bottom ٍ topخَاّذ تَد .فزهَل هحاسثِ همذار ّزًمغِ اس result 7 در زواهی هحاسثاذ ،اگز همذار هؤلفِی یه خیىسل ووسز اس صفز تذسر آهذ ،همذار آى را تزاتز تا صفز در ًظز تگیزیذ .اگز همذار ًمغِ تیطسز اس 522ضذ ،همذار آى را تزاتز تا 522در ًظز تگیزیذ. در صَرزی وِ دٍ الیِ تا ّن ززویة ضذًذ ٍ اتؼاد هسفاٍذ ٍ ًمغِی ضزٍع هسفاٍزی داضسٌذ تایذ تِ صَرذ سیز الیِ حاصل اس ززویة را تساسیذ: الیِ جذیذ هسسغیلی خَاّذ تَد وِ تز ایي دٍ الیِ هحیظ اسر. ً ماط هطسزن را تا فزهَل هزتَط تِ ززویة هَردًظز ،ززویة وٌیذ. ً ماط غیزهطسزن وِ در یىی ّسر ٍ در دیگزی ًیسر را تذٍى زغییز در الیِ ًْایی لزار دّیذ. ً ماعی وِ در ّیچ یه ًیسر را تا رًگ سفیذ خز وٌیذ(.همذار 522تزای ّوِی هؤلفِّای خیىسلّا) زوزیي سزی سَم تزًاهِ ساسی ضیءگزا 8 تمرین :3پیانو در ایي زوزیي ضوا تایذ یه خیاًَ را ضثیِ ساسی وٌیذ. تزای ایي هٌظَر تایذ دٍ تخص یه خیاًَ را تساسیذ .تخص اٍل ًوای ظاّزی یه خیاًَ اسر ٍ تخص دٍم صذای زَلیذ ضذُ اس ولیذّای خیاًَ اسر. تزای خیادُساسی تخص اٍل ،اس swingووه تگیزیذ ٍ راتظ وارتزی یه خیاًَ را هذل وٌیذ .تخص اساسی یه خیاًَ وِ حسواً تایذ در ایي راتظ ٍجَد داضسِ تاضذ ،دگوِّای خیاًَ اسر وِ تا فطار دادى آىّا صذای هَرد ًظز ضٌیذُ هیضَد. ّوچٌیي تایذ ایي اهىاى در راتغِ گزافیىی ضوا ٍجَد داضسِ تاضذ وِ فطزدى دگوِّای سیز هٌجز تِ فطزدُ ضذى دگوِ- ّای خیاًَی ضوا ضَد: دگمه کیبرد دگمه پیانو دگمه کیبرد دگمه پیانو T F# A C G G W C# Y G# S D H A E D# U A# D E J B F F تزای خیادُساسی تخص دٍم ،هیزَاًیذ هاًٌذ زوزیي ،1صذای ّز دگوِ را ضثظ وٌیذ ٍ تا فطار دادى ّز دگوِ صذای هزتَعِ را خخص وٌیذ؛ ٍلی ایٌىار تزای ضثیِ ساسی یه ساس ٍلر گیز اسر. راُ سادُزز ضثیِ ساسی ًزمافشاری ایي ساس اسر .تا ووه گزفسي اس javaهیزَاى یه ساس را ضثیِساسی وزد(.ر.ن. والس Instrumentهَجَد در )javax.sound.midi هیوٌذ .تزای آضٌایی تا ًحَُ اسسفادُ اس ایي ضثیِساس تزای ایجاد صذای ّnoteای هخسلف اس ًوًَِ وذ سیز ووه تگیزیذ: http://pastebin.com/6r942EjB در ًوًَِ وذ فَق تزای ًوًَِ ًحَُی ساخسي یه آٌّگ تا ضثیِساس خیاًَی هَجَد در javaآٍردُ ضذُ اسر. زوزیي سزی سَم تزًاهِ ساسی ضیءگزا تِ عَر خیصفزض چٌذیي ساس ضثیِساسی ضذُ در javaلاتل دسسزسی اسر .یىی اس ایي ساسّا خیاًَ را ضثیِ ساسی 9 در ًْایر عزاحی ضوا تایذ صفحِ ای در اخسیار وارتز لزار دّذ وِ حذالل اهىاى ًَاخسي ّnoteای سیز ٍجَد داضسِ تاضذ(اػذاد رٍی ولیذّا ًطاًگز ضوارُ noteهؼادل لاتل اسسفادُ در وذ اسر): بخش نمره اضافه( 22+نمره): عزاحی لسورّای سیز اخسیاری اسر: اهىاى اًسخاب ضثیِساسّای دیگز داخل تزًاهِ(ً 2+وزُ) ٍ جَد هجوَػِای اس چٌذ آٌّگ وِ تِ عَر ازَهازیه رٍی خیاًَ خخص ضًَذ: ٌّ گام ًَاخسي ّز noteزَسظ ضثیِساس دگوِ هسٌاظز آى فطزدُ ضَدً 2+(.وزُ) اهىاى اضافِ وزدى یه آٌّگ اس عزیك راتظ گزافیىی (فمظ یىی اس حاالذ سیز): داضسي حالر ضثظ وزدى ٍ ًگِداضسي دگوِّای فطار دادُ ضذُ تزای خخص هجذد آٌّگ ًَاخسِ ضذُ(ً 12+وزُ) گزفسي ًرّا تِ صَرذ رضسِای اس اػذاد تزای خخص آٌّگ ،هاًٌذً 2+( ABC#FFE :وزُ) زوزیي سزی سَم تزًاهِ ساسی ضیءگزا 11 هَفك تاضیذ
© Copyright 2025 Paperzz