Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: 3D Grafik Çizici Yapımı  (Okunma Sayısı 225 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
mayhemious
Administrator
*


Karma: 70
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1006

mayhem mayhemious


Üyelik Bilgileri WWW


« : 25 Eylül 2008, 18:52:28 »




Formunuza EKRAN isminde bir picturebox ve cmdCiz isminde command buton ekleyin kodları olduğu gibi yapıştırın

Option Explicit

Dim h As Long, V As Long            ' Ekrandaki konum değişkenleri
Dim XX As Double, YY As Double, ZZ As Double ' Denklemdeki X,Y ve Z değeri
Dim TX As Integer, TY As Integer, TZ As Integer
Dim k As Integer
Dim hh, x, y, z
Const E = 2.7182818281
Const pi = 3.14159265358

Private Sub cmdciz_Click()
    k = 400   ' Zoom Değişkeni
    hh = 0.3    ' Çizim Hassasiyeti Değişkeni. Pixel Adımlarını Belirler.
   
    TX = 0    ' X yönü Bakış Açısı
    TY = 30   ' Y yönü Bakış Açısı
    TZ = 90   ' Z yönü Bakış Açısı
   
    ekran.Cls
   
    YY = -3
      
    For XX = -3 To 3 Step hh
      YY = -3
      DenklemAl
      IzdusumHesapla
      ekran.PSet (h, V)
      
      For YY = -3 To 3 Step hh
        DenklemAl
        IzdusumHesapla
      
        ' Ekran Sınırları Kontrol Edilir.
        If Not (h > ekran.Width Or V > ekran.Height Or h < 0 Or V < 0) Then
          ekran.Line -(h, V), RGB(255, 0, 0)
          DoEvents
        End If
       
      Next YY
    Next XX
   
    For YY = -3 To 3 Step hh
      XX = -3
      
      DenklemAl
      IzdusumHesapla
      
      ekran.PSet (h, V)
      
      For XX = -3 To 3 Step hh

        DenklemAl
        IzdusumHesapla
       
        ' Ekran Sınırları Kontrol Edilir.
        If Not (h > ekran.Width Or V > ekran.Height Or h < 0 Or V < 0) Then
          ekran.Line -(h, V), RGB(0, 0, 255)
          DoEvents
        End If
       
      Next XX
    Next YY
End Sub

Sub DenklemAl()
    ZZ = Sin(XX) + Cos(YY) ' Buraya abidik gubidik denklemler yazılabilir.
End Sub

Sub IzdusumHesapla()
    ' X, Y ve Z için yatay ve düşey nokta bulunur.
    x = XX * k  ' Zoom Değeri Kadar Genişletilir.
    y = YY * k
    z = ZZ * k
      
    h = x * Cos(pi / 180 * TX) + y * Cos(pi / 180 * TY) + z * Cos(pi / 180 * TZ) + ekran.Width / 2
    V = 1 * (0 - x * Sin(pi / 180 * TX)) - y * Sin(pi / 180 * TY) - z * (pi / 180 * TZ) + ekran.Height / 2
End Sub

Private Sub Form_Load()
With ekran
.BackColor = RGB(256, 256, 256)
.Height = 4800
.Width = 6400
.AutoRedraw = True
End With

cmdCiz.Caption = "&Çiz"
End Sub
Logged

Mesaj Sayısı 10 ve Altı olanlar Sorularınız YANITLANMAYACAK

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
V.I.P. Üye Olun. Programlamada Bir Adım Öne Geçin
Sayfa: [1]   Yukarı git
  Yazdır  

 
Gitmek istediğiniz yer: