folder Tahribat.com Forumları
linefolder Java
linefolder Javadaki Ödevime Bir Bakar Mısınız ?



Javadaki Ödevime Bir Bakar Mısınız ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kvasir
    kvasir's avatar
    Kayıt Tarihi: 24/Ağustos/2005
    Erkek

    Bu ödev hocanızın düşünce biçimini çok net ortaya koyan bir ödev.

    Hocanız dizileri anlatmış, büyük ihtimal döngüleri de anlatmıştır. Bu ödev'ın asıl konusu bu konu başlıkları, graphics değil.

    Tabi bir şekilde yansıtılması için grafik kütüphanesi kullanman gerek, o yüzden istemiş, yoksa hocanın istediği (adım adım anlatıyorum)


    1 . Açılarla birbirinden mesafelenmiş çizgilerin (esasında noktaların) olduğu 1.resim ve açılarla eğimlenmiş noktaların (2. resim bir parabol değildir[http://i.stack.imgur.com/mU6sK.png böyle de değil o şekil]. Simetrik değil. )

    2 . Simetrik değil dedik. Dikkat edersen resmin sağ tarafında bükülme daha fazla o yüzden bu "ivmeyi" oluşturacak bir matematik formülü yazman lazım. (Matematik gördüğün bir ders. Trigonometri gördüğün bir ders. Anladığın bir ders mi onu bilmiyorum.)

    3 . Nasıl formül yazarım ? Önce benim yaptığım gibi yapıyorsun. Sözel olarak durumu açıklıyorsun. Mesela ben baktım resime, "Soldaki çizgiler belli bir açıyla birbirinden ayrıklar." , " Sağdaki çizgiler kesik kesik ve eğimli. Ayrıca onlarda birbirinden bir açıyla ayrılmış. Ayrıca en üst çizgiden en alt çizgiye bükülmeleri azalmış, aynı değiller.", problemi çözmek adına iyi bir algoritma oluşturmak için herşeyi ortak bir temele oturtmak daha iyi olur. Analiz yani Çözümleme yaparsak, çizgilerin noktalardan oluştuğunu farkederiz. Nokta ise bilgisayarın ve yazılımın grafik kütüphanesinin pixel kavramıyla eşleştiği için ortak bir çözüm bulmuş oluruz, seviniriz, kvasir'e kargoyla toblerone yollarız. Toblerone pahalı gelirse 3-5 tane blank(çizgisiz) A4 defterde olur.

    4. Sözel olarak ifade ettik, şimdi ne yapacağız ? Şimdi matematiksel modelleme yapacağız. Sözlerimizi formüle aktaracağız. Ne dedik, 2.resimde mesafeler farklı, açılar farklı, bükülmeler farklı. Bunları bir temele, ortak noktaya oturtmak lazım.

    Bunları öküzce döngü ile çizdirebilirsin. Zaten döngü, nam-ı diğer loop nedir ? Döngü tekrarlamadır. Tekrarlama nedir ? Iteration. Bu mevzunun bilgisayar bilimlerinde olmasının sebebi nedir ? Σ 

    5 . Noktalar döngülerle oluşturulup (Gördüğünüz konu)

    6. Dizilere aktarılacak (Gördüğünüz konu)

     

    şimdi şöyle. Ödev'in açıklaması bu ise yetersiz. Çünkü 2 resmi de çizdirmek için diziler konusuna ihtiyacımız yok.

    Fakat, 1. resmi "mutate" edersek, o zaman onu mutate etmek için birinci resmin noktalar dizisine ihtiyacımız olacak.

    Kısacası mutation olacak mı olmayacak mı konusu.

     

    Ben senin yerinde olsam, matematiksel formüllerimi oluştururum. 2 senaryo içinde ödev yaparım.

    1. 1. soruyu baz alırım, 2. resim ondan mutate ettirerek çizdiririm. Yanına ödevden çok keyif almışsam 3. ve 4. gibi hayal gücüme bağlı uydurduğum formüllerin resimlerini de koyarım.

     

    2. Sonra ikinci bir ödev yaparım. Hiç dizi falan kullanmadan iteration-specific (tekrarlamaya özel) bir algoritma ile ekrana çizim yaptırırım. Öküzcesi resimlerin nasıl çizileceğini ayrı for döngülerine yazarım. 1. resim için bir algoritma oluşturur bir for loop çalıştırırım, 2. resim için ayrı bir algoritma oluşturur onu ayrı ikinci bir for loopta çalıştırırım.

     

    Sonra kodları alırım elime. Yaptığım 2 farklı programın ekran görüntüleri elime alırım çizgi resimlerini içerecek şekilde. Sonra dizi kullandığım programın dizisini yazdırırım.

     

    Gider hocaya anlatırım, ben böyle böyle anladım. Bunlar iki farklı versiyonu. Daha da fazla olabilirdi ama projede zaman yönetimi çok önemli. Bu ödeve bu kadar zaman ayırabilirdim. Tabi diğer öğrencilerden daha fazla zaman ayırmamın sebebi anlaşılabilir olmanın önemli olduğunu düşünüyorum. Bu nedenle ödevi bu şekilde ayrıntılı teslim ediyorum. Sizde bir sonraki ödevi sınırlarını, ölçeğini belirtecek şekilde daha anlaşılır yazarsanız sevinirim diyeceksin. Hocan bu durumdan biraz etkilenecek ve diyecek ki " Bence kvasir'e bir toblerone ve birkaç çizgisiz A4 defter göndermelisin".


    Hocanız kısacası bazı şeyleri evde kendiniz öğrenmenizi istemiş. Haklı da, hepsini size öğretme şansları yok. Sadece sizden kendi başınıza ilerleme kaydetmenizi beklemiş, ben bu ödeve bakarak hocanın iyi niyetli ve bıkkın dolayısıyla huysuz gözüktüğünü söyleyebilirim. İsterse geceleri yıldız tilbeye dönüşsün, bu hocanızın iletişim tercihlerine (kurmak istediği mesafe, görmek istediği/istemediği davranışlar gibi) diğer her insana yaptığımız gibi saygı duyup, kendisiyle konuşuyoruz, ondan öğreniyoruz. Onu hor görmüyoruz. Ama sinirlenmek serbest.

     

    kvasir tarafından 27/Kas/16 18:10 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    whopper
    whopper's avatar
    Kayıt Tarihi: 26/Haziran/2008
    Erkek

    hocaya sakın öyle şeyler söylemeyin adfsaf 

    Ödev dediğin ufkunu genişletici olur. Araştırmaya teşvik eder :D lan olum şu sistemimizin yetiştirdiği zihinler hep bunlar. 

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    ya aynı kodlarda çizgi var. 

    hiçbişey yapamazsan. küçük küçük çizgileri ard arda çiz. her defasında x son noktadayken y yi biraz daha yukarı yap böylece eğik ilizyon yapabilirsin.


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    kvasir bunu yazdı

     

    ... 

    Gider hocaya anlatırım, ben böyle böyle anladım. Bunlar iki farklı versiyonu.

    Hocanız kısacası bazı şeyleri evde kendiniz öğrenmenizi istemiş. 

     

    Öncelikle hoca meline koluna sağlık uzun uzun yazmışsın ama formul çıkartmaya daha önce girdiğimde masamın üzerinde 14 sayfa kağıt kafamdan yolduğum onlarca saç teli ve başaramadığımda kemirip tükürdüğüm tırnaklarım vardı. Ben çok kafaya takan birisiyim o sebebten ama yani formül işi bana göre değil :) ( HolyOne abinin "Hello World" yazısında hata var dediği kısım üzerine çalışmıştım ) 

    Ve ilk olarak kalınlaştırdığım yazı bizim hocada çalışmaz. Çünkü bize dediği ilk laf şuydu " Ben sizden elma istiyorsam bana ELMA vereceksiniz. 2 elma değil 100 elma değil. SADECE ELMA " 

    2. Kalın yerde sana katılıyorum ama şöyle bir durum var. Ben sana diyorum ki " Bana BF3 Bullet Point Assigment'ı tamamlıycaksın. " İnternette nasıl tamamlayacağın var. Adım adım anlatıyor insanlar AMA sen BF3 oynamayı bilmiyorsun. 

    Tamamlar mısın ?  Tabikide evet ama zaman alır. Önce oynamayı öğrenmen lazım. Bu adam bize javayı anlatmadı. Hatta C#'ta bir çok program yazmış adam olarak ve  C#'ın Java rakip çıkan program olmasına ve bir çok benzer özellikleri olmasına rağmen Javadan soğudum. Gerek NullPointerException hatası olsun gerek farklı hatalar olsun bir çoğunu biliyorum ama inanın ki böyle bilmediğim şeylere beni koştuklarında içimdeki alev sönüyor.

     

     

    GodKlaus tarafından 27/Kas/16 20:26 tarihinde düzenlenmiştir

    Telegram : @CuneytKuscu && Discord : Tyenuc#2679 | İstanbul Avr. Yazılım Mühendisi ve sonunda işim var (:
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    DuPi bunu yazdı

    ya aynı kodlarda çizgi var. 

    hiçbişey yapamazsan. küçük küçük çizgileri ard arda çiz. her defasında x son noktadayken y yi biraz daha yukarı yap böylece eğik ilizyon yapabilirsin.

    Evet evet bak hocam o dediğini yaptım. tam olarak kodu bu :

          int x = 40;
          int y = 40;
          int o =x ;
          int p = y;
           
           
           for(int i =0;i<50;i++)
          { 
               if(i%2 ==0)
              {
                   
                   g.drawLine(x, y, x+10, y+5);
                   o = x+10;
                  p = y+5;
                   
               }
              if(i%2 ==1 )
               {
                   x = o+10;
                   y = p+5;
                  g.drawLine(o, p, x, y);
                  
                 
                  
               }
                          
               
              
          }

    X konumunu sürekli arttırıyorum. Y konumunuda sürekli azar azar arttırıyorum. AMA HEP 60 derecelik dümdüz çizgi çıkıyor.

     


    Telegram : @CuneytKuscu && Discord : Tyenuc#2679 | İstanbul Avr. Yazılım Mühendisi ve sonunda işim var (:
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    GodKlaus bunu yazdı
    DuPi bunu yazdı

    ya aynı kodlarda çizgi var. 

    hiçbişey yapamazsan. küçük küçük çizgileri ard arda çiz. her defasında x son noktadayken y yi biraz daha yukarı yap böylece eğik ilizyon yapabilirsin.

    Evet evet bak hocam o dediğini yaptım. tam olarak kodu bu :

          int x = 40;
          int y = 40;
          int o =x ;
          int p = y;
           
           
           for(int i =0;i<50;i++)
          { 
               if(i%2 ==0)
              {
                   
                   g.drawLine(x, y, x+10, y+5);
                   o = x+10;
                  p = y+5;
                   
               }
              if(i%2 ==1 )
               {
                   x = o+10;
                   y = p+5;
                  g.drawLine(o, p, x, y);
                  
                 
                  
               }
                          
               
              
          }

    X konumunu sürekli arttırıyorum. Y konumunuda sürekli azar azar arttırıyorum. AMA HEP 60 derecelik dümdüz çizgi çıkıyor.

     

    o zaman parça parça değil nokta nokta yap. piksel gibi büyük pikseli küçült.


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    DuPi bunu yazdı
    GodKlaus bunu yazdı
    DuPi bunu yazdı

    ya aynı kodlarda çizgi var. 

    hiçbişey yapamazsan. küçük küçük çizgileri ard arda çiz. her defasında x son noktadayken y yi biraz daha yukarı yap böylece eğik ilizyon yapabilirsin.

    Evet evet bak hocam o dediğini yaptım. tam olarak kodu bu :

          int x = 40;
          int y = 40;
          int o =x ;
          int p = y;
           
           
           for(int i =0;i<50;i++)
          { 
               if(i%2 ==0)
              {
                   
                   g.drawLine(x, y, x+10, y+5);
                   o = x+10;
                  p = y+5;
                   
               }
              if(i%2 ==1 )
               {
                   x = o+10;
                   y = p+5;
                  g.drawLine(o, p, x, y);
                  
                 
                  
               }
                          
               
              
          }

    X konumunu sürekli arttırıyorum. Y konumunuda sürekli azar azar arttırıyorum. AMA HEP 60 derecelik dümdüz çizgi çıkıyor.

     

    o zaman parça parça değil nokta nokta yap. piksel gibi büyük pikseli küçült.

    yok yahu ilk 10 değeri buldum tek tek. X Y O  P için. milimetrekik kağıt çizdim üzerinde tek tek elle çizdim değerleri.

    Sanırım Net.Beans bozuk (:

    Edit : Hata yokmuş :D ama benim bulduğum sonuçlardada hata yokmuş. Çizerken yanlış çizmişim :D 

     

    GodKlaus tarafından 27/Kas/16 20:52 tarihinde düzenlenmiştir

    Telegram : @CuneytKuscu && Discord : Tyenuc#2679 | İstanbul Avr. Yazılım Mühendisi ve sonunda işim var (:
Toplam Hit: 4088 Toplam Mesaj: 18
java ödev graphic