Sabtu, 27 November 2010

2209105012 (Ranu Wijayanto) Komputer Grafik


Komputer Grafik

Penggambaran grafik garis lurus dan kurva memerlukan waktu komputasi yang tinggi, untuk mereduksi waktu komputasi yang tinggi tersebut dapat dilakukan dengan peningkatan kemampuan komputasi prosesor dan peningkatan efisiensi algoritma. Algoritma Midpoint merupakan Algoritma dengan dasar operasi bilangan integer, sehingga memerlukan waktu operasi yang lebih sedikit dibandingkan dengan algoritma yang menggunakan operasi bilangan real. Implementasi ke dalam bahasa pemrograman C dari kedua macam algoritma diatas, menunjukkan bahwa waktu komputasi algoritma midpoint lebih cepat sebesar 8 kali pada pembuatan garis lurus, dan lebih cepat sebesar 15 kali pada penggambaran lingkaran, dibandingkan dengan waktu komputasi algoritma yang menggunakan dasar operasi bilangan
riel. Dan waktu komputasi algoritma midpoint lebih cepat sebesar 6 kali pada pembuatan garis lurus, dibandingkan dengan waktu komputasi algoritma yang Breserham telah menggunakan dasar operasi bilangan integer juga.

Algoritma DDA

1. Start at first endpoint.
2. Draw pixel.
3. Step right by one pixel and up by m*change_in_x
1. (But change_in_x is 1 pixel!
2. so just step up by m pixels)
4. Draw pixel.
5. Repeat from step 3, until we reach second endpoint

Pseudo code:
1. Let x = x1; y = y1; m = (y2-y1)/(x2- x1);
2. Draw pixel (x, y)
3. WHILE (x < x2) //i.e. we reached the second endpoint
{
x = x + 1; //step right by one pixel
y = y + m; //step up by m pixels
Draw pixel (ROUND(x), ROUND(y));
}

Banyak yang menganggap bahwa algoritma DDA sangat lambat didalam menggambarkan suatu titik, garis maupun kurva. Berikut ini adalah function untuk menggambar garis dengan algoritma DDA

int line_dda(int x1,int y1,int x2,int y2,int color)
// Algorithm digital differential analyzer
{ int dx,dy,step,k;
float x_increment,y_increment,x,y;
dx = x2-x1; dy = y2-y1;
// determine maximum step
if (abs(dx) > abs(dy)) step=abs(dx); else step=abs(dy);
x_increment = float(dx) / float(step);
y_increment = float(dy) / float(step);
x = x1; y = y1;
putpixel(int (x+0.5),int(y+0.5),color);
for (k=1;k<=step;k++)
{ x = x+x_increment;
y = y+y_increment;
putpixel(int(x+0.5),int(y+0.5),color);
}
return(0);
}

Garis lurus dinyatakan dinyatakan dalam persamaan :
y = mx + c (1)
dimana : m : gradient dan c : konstanta.
Untuk menggambarkan pixel-pixel dalam garis lurus, parameter yang digunakan tergantung dari gradient, jika besarnya gradient diantara 0 dan 1, maka digunakan sumbu x sebagai parameter dan sumbu y sebagai hasil dari fungsi, sebaliknya, bila gradient melebihi 1, maka sumbu y digunakan sebagai parameter dan sumbu x sebagai hasil dari fungsi, hal ini bertujuan untuk menghindari terjadinya gaps karena adanya pixel yang terlewatkan. Hasil dari fungsi biasanya merupakan bilangan real, sedangkan koordinat pixel dinyatakan dalam bilangan integer (x,y), maka diperlukan operasi pembulatan kedalam bentuk integer terdekat. Penggambaran garis lurus dengan metode diatas dimulai dengan operasi bilangan real untuk menghitung gradient m dan konstanta c.
m = (y2 - y1 ) / (x2-x1) (2)
c = y1 – m* x1 (3)
Operasi bilangan real berikutnya adalah menghitung nilai y dengan persamaan (1) untuk mendapatkan koordinat piksel (x,y), untuk setiap nilai x, dari =x1 sampai x=x2, operasi inilah yang perlu dihindari, karena operasi ini memerlukan waktu operasi yang besar.

Algoritma Bresenham

Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang menggunakan persamaan (1), dengan cara menggantikan operasi bilangan riel perkalian dengan operasi penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan real
dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan real, terutama pada penambahan dan pengurangan.

int line_bre(int x1,int y1,int x2,int y2,int color)
// Algorithm Bresenham
{ int dx,dy,x,y,x_end;
int p,const1,const2;
dx = x2-x1; dy = y2-y1;
p = 2*dy-dx; y = y1;
const1 = 2*dy; const2 = 2*(dy-dx);
// determine which point to use as start, which as end
if (x1 > x2)
{ x = x2; y = y2; x_end = x1; }
else
{ x = x1; y = y1; x_end = x2; }
putpixel(x,int(y+0.5),color);
while ( x < x_end )
{ x++;
if ( p < 0 )
p = p+const1;
else
{ y = y+1;
p = p+const2;
}
putpixel(x,int(y+0.5),color);
}
return(0);
}

Kamis, 25 November 2010

[INFO #GMD-159661]: Dear friend!

Mohamad Anwar,

Your Ticket has been received and a member of our staff will review it and reply accordingly. Listed below are details of this Ticket. Please make sure the Ticket ID remains in the subject at all times.

Ticket ID: GMD-159661
Subject: Dear friend!
Department: General Info
Priority: Low
Status: Open

You can check the status of or reply to this Ticket online at: http://support.ardhosting.com/index.php?_m=tickets&_a=viewticket&ticketid=49504
Here are some recent news articles published by ARDHOSTING.COM - Fast and Reliable Web Hosting:

1. VPS USA ... Spec Server Terbaik ... PROMO
http://support.ardhosting.com/index.php?_m=news&_a=viewnews&newsid=20&group=default
2. PAKET PROMO UNTUK ENTERPRISE HOSTING 8x SPACE, BANDWIDTH NAIK
http://support.ardhosting.com/index.php?_m=news&_a=viewnews&newsid=19&group=default
3. Gebyar Promo Ardhosting
http://support.ardhosting.com/index.php?_m=news&_a=viewnews&newsid=18&group=default
4. PAKET PROMO BARU UNTUK ENTERPRISE HOSTING 8x8+8 SPACE
http://support.ardhosting.com/index.php?_m=news&_a=viewnews&newsid=17&group=default
5. Hadiah Undian Hosting MSI Wind U100, dll Buruann
http://support.ardhosting.com/index.php?_m=news&_a=viewnews&newsid=16&group=default

Please do let us know if we can assist you any further,

ARDHOSTING.COM - Fast and Reliable Web Hosting

Dear friend!

Hello!

To recommend to you a powerful Shopping Network Station:
http://www.cctv-buy.com/
This is a very large company, it is fit by several well-known brands
to establish a network marketing company. The company sells
motorcycles, computers, televisions, mobile phones, its quality can be
guaranteed. Now they are for the expansion of company size , increase
sales efforts, promotional activities are being held. If you need to
go to the web site.
Look forward to your visit!

Best wishes

Sabtu, 13 November 2010

2209105001 - Transformasi (Rotasi & Dilatasi)

Oleh: Luky Winarto

Transformasi Dua Dimensi, adalah transformasi yang diterapkan pada bidang kartesian dua dimensi, dengan sumbu x dan sumbu y.

Rotasi
Terdiri dari 2 macam rotasi, yakni rotasi berlawanan arah jarum jam (counter-clockwise) dan rotasi searah jarum jam (clockwise).

Persamaan:
1. Berlawanan arah jarum jam (counter-clockwise)

2. Searah jarum jam (clockwise)

Dalam bentuk matrik ditulis sebagai berikut:
1. Berlawanan arah jarum jam (counter-clockwise)

2. Searah jarum jam (clockwise)


Dilatasi
Perbesaran/pengecilan koordinat suatu titik dengan faktor s terhadap pusat bidang (0,0) atau disebut juga dengan istilah scaling.

Persamaan:

Dalam bentuk matrik ditulis sebagai berikut:

Cukup sampai di sini, akan berlanjut dengan membahas transformasi translasi dan shearing. Terimakasih.

Minggu, 31 Oktober 2010

2209105012 - Teknik Animasi Komputer

Teknik Animasi Komputer

Ranu Wijayanto (2209105012)

 

Orang sering mengatakan bahwa animasi komputer adalah suatu pekerjaan berat dan sampai batas tertentu yang berlaku. Menggabungkan banyak pengetahuan dengan kreativitas dan berjalan garis tipis antara menjadi produktif kreatif dan menjadi seorang animator maverick.
Teknik animasi 2D
Teknik-teknik animasi komputer bervariasi banyak dari animasi umum. Mereka menggunakan program perangkat lunak untuk memberikan tampak nyata dan tekstur untuk karakter atau gambar. Dalam animasi 2D, angka-angka ini diambil menggunakan 2D bitmap grafis atau vektor grafis. Setelah memberikan bentuk atau frame ke urutan, animator bergerak mereka ke bingkai kunci di mana perangkat lunak mengisi kesenjangan yang diperlukan untuk frame untuk melanjutkan.
Komputer kemudian secara otomatis melakukan perhitungan untuk tampilan pada frame yang disebut morphing atau tweening. Morphing berarti transisi halus gambar. Tweening adalah proses di mana antara bingkai dimasukkan sehingga berkembang dari gambar kedua dari gambar pertama tampak alami. Akhirnya, gambar tersebut diberikan. Rendering adalah pengembangan diri oleh komputer untuk menghasilkan gambar dari file data yang ada.

Grafis 3D animasi
Meskipun hampir semua pekerjaan adalah sama di grafis 3D, namun berbeda dari 2D. Pertama, gambar yang digambar atau dibuat selalu memiliki kerangka virtual. 3D animasi pada dasarnya memiliki tiga langkah - pemodelan, tata letak dan animasi. Tahap terakhir adalah sama dengan baik dan disebut rendering.
Dalam pemodelan, representasi matematis diimplementasikan untuk gambar tiga-dimensi. Dari menciptakan bentuk-bentuk umum dan bentuk ke rincian spesifik minutest merupakan bagian dari model. Alat patung digunakan untuk tujuan ini. Ini disebut juga gaya visual. Kemudian campuran fisika dunia nyata dengan animasi fisika. Emosi dan ekspresi wajah baik dan fisik yang benar dicampur.
Sekarang, objek atau gambar ditempatkan dalam sebuah adegan untuk ruang dan hubungan objek. Ini untuk menentukan gerakan objek sehubungan dengan lokasi dan ukurannya. Sinematografi merupakan teknik yang digunakan dalam 3D animasi untuk kesempurnaan lebih dan sudut kamera. Dalam sinematografi, pencahayaan, komposisi dan sekuensing memainkan peran penting untuk tugas bercerita. Langkah terakhir adalah rendering. Teknik-teknik bergantung pada jenis dan model perangkat lunak yang digunakan. Jika Anda memiliki yang lebih diperbarui, Anda dapat melakukan keajaiban saat bekerja pada mereka.

Komputer Game Animasi
Video game atau game komputer yang sedang dimainkan di seluruh dunia adalah permainan animasi dirancang oleh animator. Ada permainan seperti IGI, Counterstrike, MotoGP, Roadrash, Mid Town Gila, Age of Empire, Halo, dan Medal of Honor yang telah dibuat dengan bantuan komputer grafis canggih dan animasi. Bidang animasi komputer game termasuk pemodelan karakter, pembentukan lanskap sesuai dengan hukum fisika atau matematika grafis dan animasi dengan menggunakan berbagai software.
software animasi mungkin Game 2D atau 3D. Sifat dari permainan, resolusi dan kecanggihan memutuskan mana perangkat lunak animasi akan Anda harus menggunakan. Beberapa software ini sangat canggih yang seorang animator harus membangun kerangka dasar dan sisanya disesuaikan dengan komputer untuk memberikan tampilan yang tepat untuk angka.
Setiap hal dari jenis karakter tubuh, ekspresi wajah, fisik pose, game loop, pencahayaan, dan situasi dari antagonis, musuh atau pesaing dan reaksi dan konsekuensi dari hasil bervariasi tergantung pada rincian kreasi Anda. Jalan cerita dari permainan akan tergantung pada script. Anda akan harus mengikuti urutan naskah saat merancang permainan.

Permainan komputer animasi 2D
Permainan sederhana tanpa resolusi tinggi, dan efek khusus diciptakan dengan bantuan software animasi 2D. Di sana Anda tidak perlu mengikuti hukum fisika tertentu untuk apa yang akan jalan sudut jatuh jika serangan peluru di lengan kanan. Mereka adalah game sederhana dengan fitur yang kurang dan efek. Perangkat lunak animasi 2D yang paling kuat untuk permainan adalah perangkat lunak Bauhaus yang dapat memberikan efek khusus dan latar belakang digital.

Permainan 3D animasi
The softwares yang menggunakan animasi 3D membuat game berkualitas tinggi yang akan memberikan sensasi virtual reality. Perancangan game-game ini dilakukan oleh ahli animator dengan bantuan dari workstation high-end dan perangkat lunak. Ada banyak software 3D untuk membuat game seperti SoftImage, Alias / Wavefront, Maya, 3D studio Max, dan Lightwave 3D. Di antara semua 3ds, Max perangkat lunak dianggap sebagai yang terbaik untuk membuat game generasi mendatang dengan kapasitas untuk menciptakan kontrol apt pencahayaan yang realistis, dinamika dan naungan.

Rabu, 27 Oktober 2010

gigih prasetya H (2209105096) virtual reality

Virtual Reality atau kenyataan semu pada dasarnya merupakan pemodelan objek meniru objek-objek realistis, misalnya meniru ruang cockpit pilot pesawat dengan semua fungsi-nya sehingga dapat digunakan untuk melatih pilot sebelum menerbangkan pesawat sesungguhnya. Virtual reality juga digunakan untuk membuat permainan (game) dimana manusia ikut aktif didalamnya, dengan memakai  sensor kepala (headset), sensor tangan (glove), dan sensor kaki (walker) maka gerakan manusia di-integrasikan menjadi gerakan dalam game.
Gambar berikut ini adalah pemodelan objek 3 dimensi (3D) berupa ruang kantor yang dibuat dengan menggunakan salah satu perangkat lunak pemodelan 3D. Pada kondisi aslinya model ruangan ini bisa diputar sehingga situasi ruangan bisa dilihat dari berbagai sudut pandang.






Berbagai perusahaan besar didunia menggunakan virtual reality (VR) baik untuk keperluan training, untuk pengujian produk, maupun untuk promosi. Perusahaan besar tersebut antara lain adalah: Matshushita Electric Work, Chrysler, Volvo, SGS Thomson, dan sebagainya. Aplikasi-aplikasi utama dari VR adalah sbb:
  • Manufaktur : pelatihan, pengujian rancangan, prototipe semu, simulasi semu
  • Arsitektur : perancangan/pemodelan gedung, exterior dan interior
  • Militer : pelatihan, simulasi perang
  • Kedokteran : simulasi pembedahan, pembelajaran fisiologi, pemodelan interna
  • Pendidikan : laboratorium virtual, studi effek angin, simulasi gempa, model astronomi, pengujian matematika kompleks
  • Hiburan : museum virtual, permainan 3D, simulasi taman, arcade
Berbagai software pemodelan 3D telah tersedia, antara lain:
  • Maya : pemodelan karakter seperti manusia, hewan dan animasi-nya, digunakan oleh pembuat film di Hollywood.
  • Blender : pemodelan objek, karakter, dan animasi
  • 3D Studio Max : pemodelan objek 3D dan animasi
  • Lightwave 3D : pemodelan objek 3D
  • Poser : pemodelan objek 3D, karakter, dan animasi
Salah satu script untuk pemodelan 3D yang dirancang untuk Web-browser adalah VRML (Virtual Reality Modeling Language), dengan objek dasar Kotak (Box), Bola (Sphere), Silinder (Cylinder), dan Kerucut (Cone). Contoh pemodelan objek dengan VRML adalah disajikan pada gambar berikut.

Animasi pada prinsipnya adalah penayangan beberapa gambar secara sekuensial dengan kecepatan sekitar 20-30 gambar/detik. Perangkat lunak yang paling populer untuk animasi adalah Macromedia Flash MX dan Swish. Menggunakan istilah dari Macromedia Flash MX maka ada beberapa teknik animasi yang bisa dijadikan dasar, yaitu:
  • Motion tweening : objek berpindah dari satu posisi ke posisi lain melalui jalur (path) yang mendekati garis lurus
  • Motion guide : objek berpindah dari satu posisi ke posisi lain melalui jalur yang dibuat terlebih dahulu
  • Shape tweening : objek berubah bentuk dari suatu bentuk awal ke bentuk akhir yang ditetapkan lebih dahulu, proses ini sering disebut sebagai morphing.
  • Frame by frame : animasi yang meniru film, dimana disajikan gambar secara sekuensial, satu gambar untuk satu frame.
  • Masking : animasi dimana gambar pada dasarnya statik tetapi sebuah mask (topeng) bergerak dan menampilkan gambar dari satu sudut ke sudut lain.
  • Rotate : animasi dimana gambar berputar (rotasi) dengan kecepatan tertentu

Senin, 25 Oktober 2010

2209105012 - Game dan Microsoft DirectX

Game dan Microsoft DirectX
Ranu Wijayanto - 2209105012
 
Teknologi ini kali pertama diperkenalkan pada tahun 1995 dan menjadi standar untuk pengembangan aplikasi multimedia pada platform Windows.
Secara mendasar, DirectX merupakan interface antara hardware dalam PC Anda dan Windows itu sendiri, yang merupakan bagian dari Windows API (Application Programming Interface). Misalnya, jika developer game ingin memutar file suara, developer tersebut hanya tinggal menggunakan fungsi library yang sesuai. Saat game running, sistem akan memanggil DirectX API yang akan memutar file suara. Developer game tidak perlu tahu jenis sound card apa yang dihadapi, apa yang dapat dilakukannya, atau bagaimana berbicara kepadanya. Microsoft telah menyediakan DirectX, dan untuk para pengembang sound card, mereka telah menyediakan driver yang berkemampuan DirectX. Dari sisi gamer sendiri, DirectX juga memberikan kemudahan yang besar, misalnya saja kita tidak perlu melakukan konfigurasi yang rumit.
Pada awalnya, DirectX hanyalah toolkit sederhana: hardware masa awal terbatas dan pada waktu itu hanya dibutuhkan fungsi grafis yang sederhana. Seiring dengan perkembangan hardware dan software yang semakin kompleks, demikian juga DirectX. Ia sekarang lebih dari sekadar toolkit grafis, dan ia telah mencover semua jenis komunikasi hardware.
Jika dilihat secara kompleks Komponen-komponen DirectX terdiri dari:
  1. DirectX Graphics, terdiri dari beberapa APIs:
    • DirectDraw: Untuk menggambar grafik 2D (raster graphics). Sekarang tidak disarankan (karena adanya Direct2D), meskipun masih digunakan sedikit game dan sebagai video renderer di media aplikasi.
    • Direct3D (D3D): Untuk menggambar Grafik 3D.
    • DXGI: untuk menghitung penyesuaian dan pengawasan, dan mengatur rangkaian pertukaran untuk Direct3D 10 keatas.
  2. DirectInput: Untuk menangani alat masukan termasuk keyboard, mouse, joystick, atau game controllers. Tidak disarankan setelah versi 8 karena adanya XInput untuk Xbox 360 kontroler atau WM INPUT untuk keyboard dan mouse.   
  3.  DirectPlay: Untuk komunikasi koneksi area lokal atau area luas. Tidak disarankan setelah versi 8.
  4. DirectSound: Untuk putar balik dan merekam gelombang suara.
    • DirectSound3D (DS3D): Untuk putar balik suara 3D.
  5. DirectMusic: Untuk putar balik rekaman suara yang disahkan di DirectMusic Producer.
  6. DirectX Media: terdiri dari DirectAnimation untuk 2D/3D[1] animasi web, DirectShow (Tidak disarankan sebentar lagi oleh Media Foundation) untuk multimedia putarbalik dan streaming media, DirectX Transform untuk interaksi web, dan Direct3D Retained Mode untuk grafik 3D tingkat tinggi. DirectShow terkandung DirectX plugin untuk pemroses sinyal audio dan DirectX Video Acceleration untuk video terakselerasi. Sejak Tahun 2005 DirectShow tidak termasuk dalam DirectX API. DirectShow dimasukan dalam paket Windows SDK.
  7. DirectX Media Objects: mendukung streaming seperti Encode, Decode, dan Effect.
  8. DirectSetup: untuk memasang komponen DirectX.
Nah kabar yang paling terbaru ialah penggunaan DirectX pada WebBrowser. Inilah desas-desus yang keluar dari IE9.
Jika diperhatikan, DirectX tersebut bagaikan Framework yang disediakan oleh pihak microsoft bagi para developer yang ingin menjalankan produknya pada platform windows.

tempat kedudukan lengan robot

teta=60/180*pi
Mteta=[cos(teta) -sin(teta) 0;sin(teta) cos(teta) 0; 0 0 1]
alfa=45/180*pi
Malfa=[cos(alfa) -sin(alfa) 0;sin(alfa) cos(alfa) 0;0 0 1]
beta=30/180*pi
mbeta=[cos(beta) -sin(beta) 0;sin(beta) cos(beta) 0;0 0 1]
Mtl1= [1 0 0;0 1 5;0 0 1]
Mtl2=Mtl1
Mt=Mtl1
M=Mt*Mtl1*Malfa*Mtl2*mbeta
M=Mt*Mteta*Mtl1*Malfa*Mtl2*mbeta
pjapit=[0;2;1]
p2=M*pjapit
pd=[0;5;1]
M=Mt*Mteta*Mtl1*Malfa
p4=M*pd

Minggu, 24 Oktober 2010

2209105001 - OpenGL dan Directx

Oleh: Luky Winarto

OpenGL
OpenGL Logo
OpenGL (Open Graphic Library) merupakan library yang terdiri dari berbagai macam fungsi dan biasanya digunakan untuk menggambar sebuah atau beberapa objek 2 dimensi dan 3 dimensi. Library-library ini mendefinisikan sebuah cross-bahasa, cross-platform API (antarmuka pemrograman aplikasi) untuk menulis aplikasi yang menghasilkan komputer 2D dan 3D grafis. Bahasa pemrograman yang digunakan pada umumnya adalah pemrograman C/C++, namun dapat pula menggunakan Java. OpenGL merupakan library yang digunakan untuk melakukan pemrograman grafik; Graphic Programming. Untuk mempelajari pemrograman grafik ini, diharapkan kita dapat menguasai persamaan matematika, terutama operasi matriks. Karena, di dalam melakukan pemrograman grafik, akan dihadapkan mengenai pembuatan shading, shape, transform (rotate, translation, scala).

OpenGL dikembangkan oleh Silicon Graphich Inc pada tahun 1992 dan digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Dalam industri game, OpenGL juga sangat berperan dalam hal grafik. Pesaingnya adalah DirectX atau Direct3D yang berjalan di platform Microsoft Windows.

DirectX
Microsoft DirectX Logo

Direct3D merupakan sekumpulan API yang disediakan untuk melakukan pengembangan aplikasi grafik 3 dimensi. Direct3D API merupakan bagian dari DirectX. Sedangkan DirectX sendiri merupakan kumpulan API dan tersedia sebagai objek-objek COM (Component Object Model). API ini menyediakan objek fungsi untuk melakukan pengembangan aplikasi performa tinggi yang real time pada platform windows. DirectX bukan merupakan entitas tunggal, melainkan kumpulan entitas-entitas yang saling berinteraksi dengan komponen-komponennya adalah:
- DirectDraw
untuk interaksi 2D, seperti 2D Blitting (bit block transfer), overlay dll
- DirectSound
untuk mengintegrasikan suara dalam aplikasi
- DirectPlay
untuk mengintegrasikan beberapa user dalam aplikasi, menggunakan network untuk komunikasi antar user
- Direct3D
untuk mengintegrasikan kemampuan 3D ke dalam aplikasi
- DirectInput
untuk pengintegrasian support pada perangkat keras berupa inputan, seperti joystick, gamepad ke dalam aplikasi

Senin, 18 Oktober 2010

RENDERING

2209105066( Zulfikkar wahyu hidayah)


Rendering adalah proses menangkap segala sesuatu yang ada di dalam scene termasuk geometri, material, cahaya, lingkungan serta efek-efek yang terdapat didalamnya.

Dalam sebuah gambar output dari scene 3d atau suatu object, Fitur-fitur seperti materials, lighting, oversampling dan shadows memiliki pengaruh dalam efek dan kualitas hasil rendering. Semakin banyak fitur yang ditambahkan , maka semakin realistik hasilnya, akan tetapi akan mempengaruhi lama waktu rendering.

Rendering telah digunakan dalam arsitektur,vidio game, simulator, film dll. Dlam hal grafis 3D, rendering bisa dilakukan perlahan-lahan, seperti pada pra-rendering, atau  secara real-time. Pra-rendering adalah proses komptasi secara intensif yang biasanya digunakan untuk pembuatan film, sedangkan real-time rendeering sering dilakukan untuk 3D video game yang mengandalkan pada penggunaan kartu grafis dengan akselerator 3D hardware.

 

Fitur fitur rendering

  • Shading : bagaimana warna kecerahan permukaan bervariasi dengan pencahayaan
  • Tekstur  mapping : suatu metodepenerapan detai pada permukaan
  • Bump-mapping : suatu metode simulasi skala bumpiness kecil pada permukaan
  • Fogging/participating medium : bagaimana cahaya meredup  
  • Shadows : efek menghalangi cahaya
  • Soft shadows : efek gelap yang disebabkan oleh tertutupnya setengah sumber cahaya
  • Reflection : seperti cermin dan bisa sangat mengkilap
  • Transparency (optics) , transparency (graphic) or opacity: transmisi cahaya yang tajam melalui benda padat
  •  Translucency : transmisi cahaya yang tersebar melalui benda padat
  • Refraction : cahaya yang terkait dengan transparansi
  • Diffraction : penyebaran dan interferensi cahaya yang lewat suatu obyek yang mengganggu sinar
  • Indirect illumination : permukaan diterangi cahaya yang diapantulkan dari permukaan lain
  • Caustics (a form of indirect illumination) : pantulan cahaya dari obyek yang mengkilat
  • Depth of field : obyek yang kelihatan buram atau tidak fokus ketika terlalu jauh di depan atau di belakang obyek dalam fokus
  • Motion blur : obyek yang terlihat kabur karena kecepatan gerak tinggi atau gerakan kamera
  • Non-photorealistic rendering: render dengan gaya artistik atau dimaksudkan untk terlihat seperti sebuah lukisan atau gambar

Minggu, 17 Oktober 2010

2209 105 030 - Membuat Guci 3D dengan openCV


2209 105 030  -  HERU SUSANTO
Membuat Guci 3D dengan openCV

Sebuah guci diperoleh dari pembentukan kembali sebuah tabung tutup atas terbukan.  Pada bagian body dilakukan penandaan titik lekukan yang akan dijadikan sebagai dasar body guci. Sebuah guci yang baik adalah memiliki lekukan face yang halus dan natural.



Contoh penggalan listing program :
void makeCylinderN(object3D_t &silinder,int m,int n,float r[],float h[],int sw){
       float a=6.26/n;
       float b=0;
       int i,j;
       silinder.NumberofVertices=(m+1)*n;
       for(i=0;i<=m;i++){
              if(i>0) b=b+h[i-1];
              for(j=0;j<n;j++){
                     silinder.pnt[i*n+j].x=r[i]*cos(j*a);
                     silinder.pnt[i*n+j].y=b;
                     silinder.pnt[i*n+j].z=r[i]*sin(j*a);
              }
       }
       silinder.NumberofFaces=m*n+2;
       for(i=0;i<m;i++){
              for(j=0;j<n;j++){
                     silinder.fc[i*n+j].NumberofVertices=4;
                     silinder.fc[i*n+j].pnt[0]=i*n+j;
                     silinder.fc[i*n+j].pnt[1]=(i+1)*n+j;
                     silinder.fc[i*n+j].pnt[2]=(i+1)*n+j+1;
                     silinder.fc[i*n+j].pnt[3]=i*n+j+1;
                     if(j==(n-1)){
                           silinder.fc[i*n+j].pnt[2]=i*n+j+1;
                           silinder.fc[i*n+j].pnt[3]=(i-1)*n+j+1;
                     }
              }
       }
       if(sw==0 || sw==1){
              silinder.fc[m*n].NumberofVertices=n;
              for(i=0;i<n;i++) silinder.fc[m*n].pnt[i]=i;
       }
       if(sw==0 || sw==2){
              silinder.fc[m*n+1].NumberofVertices=n;
              for(i=0;i<n;i++) silinder.fc[m*n+1].pnt[i]=(m+1)*n-1-i;
       }
       color_t c={1,1,0};
       for(i=0;i<silinder.NumberofFaces;i++) silinder.fc[i].col=c;
       for(i=0;i<silinder.NumberofVertices;i++)
              silinder.col[i]=c;
}

Rabu, 13 Oktober 2010

2209105001 - Alur Proses Grafik 3D

 Luky Winarto
2209105001

Untuk melakukan pemrosesan grafik komputer 3D, kita memerlukan langkah-langkah sebagai berikut:
- penetapan ruang model
- transformasi model, yakni menempatkan model pada sistem koordinat umum yang disebut sebagai ruang dunia (world space)
- semua objek, sumber cahaya dan sudut pandang pengamat berada pada ruang dunia
- penolakan dilakukan terhadap bagian-bagian yang tidak perlu dalam upaya optimasi
- pengaruh cahaya (illumination) yang menyebabkan suatu objek dapat terlihat, perlu diperhatikan
- warna objek ditentukan dari properti material objek itu sendiri dan sumber cahaya pada tampilan tersebut
- algoritma illuminasi (pencahayaan) tergantung pada model bayangan (shading model) dan model permukaan (surface model)
- transformasi pengamatan, yakni bentuk lain dari koordinat sistem
- memetakan titik-titik yang ada pada ruang dunia ke ruang mata
- posisi pengamat ditransformasikan ke asalnya
- arah pengamatan diorientasikan sepanjang axis
- mendefinisikan pengamatan volume
- selanjutnya dilakukan kliping pada tampilan objek dalam gambaran volume 3D yang disebut viewing frustum
- pada tahap ini, dilakukan eliminasi total pada objek (dan bagian objek) yang tidak visible bagi citra
- objek selanjutnya diproyeksikan ke dalam 2D
- tranformasikan dari ruang mata ke ruang tampilan (screen space)




- transformasi akhir, dari ruang koordinat tampilan (screen-space coordinate) ke viewport coordinate
- tahap rasterisasi melakukan scan objek dan mengkonversinya ke dalam pixel
- melakukan interpolasi parameter
- melakukan beragam operasi 2D

Selasa, 12 Oktober 2010

2209105085 Transformasi : Rotasi, Translasi, Refleksi, Dilatasi

Rotasi dan Translasi
2209105085 (akhmad arif)

Ada beberapa hal mendasar yang perlu di pelajari dan di pahami untuk bisa membuat dan mengkreasikan suatu bentuk atau bidang dalam grafika komputer. Setelah beberapa pertemuan di kuliahnya Pak Akok saya masih mengalami kesulitan untuk membayangkan pola-pola dalam memodelkan suatu bentuk 2D maupun 3D ketika di hubungkan satu sama lain antara 2 - 3 bidang, disamping mungkin score IQ saya yang cukup dibawah standard . hehehe...
Banyak istilah2 dasar yang familiar di telinga tp sudah tidak di temukan lagi apa maksud dan pengertiannya," Matrik rotasi, translasi, dan seterusnya. Maka ingin saya tuliskan kembali makna dan maksud dari istilah tersebut mengambil dari beberapa literatur untuk mengingatkan kembali pengetahuan tersebut dan supaya memudahkan untuk dibayangkan kembali. :)
Untuk memindah atau merubah posisi suatu model/bentuk tidak bisa terlepas dari yang namanya Tranformasi. Ada beberapa jenis tranformasi yaitu: Rotasi, Translasi, Dilatasi, dan refleksi. Yang saya bahas disini adalah rotasi dan translasi.
Rotasi



Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka  perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke atas bawah.
Rotasi berbeda dengan translasi karena perubahan posisi pada translasi tidak mengacu pada suatu titik tertentu. Keistimewaan dari rotasi adalah jarak antara titik pusat dengan masing-masing bagian dari obyek yang diputar akan selalu tetap, seberapa jauh pun obyek itu diputar.


Pada sebuah game yang menggunakan grafik vektor dan grafik bitmap, rotasi dan translasi sangat di butuhkan. Dengan  basic4GL kita bisa menggunakan source code yang tersedia yaitu :

       glTranslatef (x, y, z) digunakan untuk merubah titik posisi awal sumbu koordinat menuju posisi yang ditentukan sesuai koordinat x,y, dan z.
      glRotatef (angle, x, y, z) digunakan untuk memutar suatu bidang pada sudut tertentu (angle).

Masih banyak penjelasan sebenarnya yang perlu dituliskan disini, namun karena penulis masih perlu banyak belajar maka sementara cukup sampai disini dulu.



Senin, 11 Oktober 2010

Fahril Abdillah 2209 105 019

Virtual Reality dan Visualisasi Data

Pada posting kali ini, saya mencoba membahas tentang Virtual Reality dan Visualisasi Data.

1. Virtual Reality 
Virtual Reality adalah lingkungan virtual yang seakan-akan begitu nyata di mana user dapat
berinteraksi dengan objek-objek dalam suasana atau lingkungan 3 dimensi. Perangkat keras
khusus digunakan untuk memberikan efek pemadangan 3 dimensi dan memampukan user
beriteraksi dengan objek-objek yang ada dalam lingkungan. Contoh: aplikasi VR parachute
trainer yang digunakan oleh U.S. Navy untuk latihan terjun payung. Aplikasi ini dapat
memberikan keutungan berupa mengurangi resiko cedera selama latihan, mengurangi biaya
penerbangan, melatih perwira sebelum melakukan terjun payung sesungguhnya.





Gambar 1. Seorang perwira U.S. Navy menggunakan VR parachute trainer

2. Visualisasi Data
Visualisasi Data adalah teknik-teknik membuat image, diagram, atau animasi untuk
mengkomunikasikan pesan. Visualisasi telah menjadi cara yang efektif dalam
mengkomunikasikan baik data atau ide abstrak maupun nyata sejak permulaan manusia.
Contoh: visualisasi dari struktur protein, strutur suatu website, visualisasi hasil data mining.

Gambar 2.1 Struktur suatu website dengan 198 hyperlink;


Gambar 2.2 Visualisasi 3D dari gelombang magnetic pada permukaan hard drive PC


>> Pendidikan dan Latihan
Model-model yang dihasilkan melalui komputer yang tentunya menggunakan grafis biasa
digunakan sebagai alat bantu pendidikan. Model-model seperti proses-proses fisika dan
kimia, fungsi-fungsi psikologi, simulasi, dan sebagainya dapat membantu sesorang
memahami bagaimana operasi atau proses yang terjadi dalam suatu sistem. Contoh: simulasi
rangkaian elektronik untuk pembelajaran, salah satu aplikasinya Electronic workbench.
Gambar 3. Electronic Workbench—simulasi rangkaian elektronik.

Fahril Abdillah 2209 105 019

APLIKASI GRAFIK KOMPUTER DAN PENGOLAHAN CITRA DIBIDANG KEDOKTERAN YAITU PENGGUNAAN ULTRASONOGRAFI (USG)
 
Pengertian USG
Ultrasonografi medis (sonografi) adalah sebuah teknik diagnostik pencitraan menggunakan suara ultra yang digunakan untuk mencitrakan organ internal dan otot, ukuran mereka, struktur, dan luka patologi, membuat teknik ini berguna untuk memeriksa organ. Sonografi obstetrik biasa digunakan ketika masa kehamilan.
Pilihan frekuensi menentukan resolusi gambar dan penembusan ke dalam tubuh pasien. Diagnostik sonografi umumnya beroperasi pada frekuensi dari 2 sampai 13 megahertz.
Sedangkan dalam fisika istilah "suara ultra" termasuk ke seluruh energi akustik dengan sebuah frekuensi di atas pendengaran manusia (20.000 Hertz), penggunaan umumnya dalam penggambaran medis melibatkan sekelompok frekuensi yang ratusan kali lebih tinggi.

Skema Cara Kerja USG
1. Transduser

Transduser adalah komponen USG yang ditempelkan pada bagian tubuh yang akan diperiksa, seperti dinding perut atau dinding poros usus besar pada pemeriksaan prostat. Di dalam transduser terdapat kristal yang digunakan untuk menangkap pantulan gelombang yang disalurkan oleh transduser. Gelombang yang diterima masih dalam bentuk gelombang akusitik (gelombang pantulan) sehingga fungsi kristal disini adalah untuk mengubah gelombang tersebut menjadi gelombang elektronik yang dapat dibaca oleh komputer sehingga dapat diterjemahkan dalam bentuk gambar.

2.Monitor Monitor yang digunakan dalam USG
Monitor digunakan untuk menampilkan hasil pemeriksaan lewat USG.

3. Mesin USG
Mesin USG merupakan bagian dari USG dimana fungsinya untuk mengolah data yang diterima dalam bentuk gelombang. Mesin USG adalah CPUnya USG sehingga di dalamnya terdapat komponen-komponen yang sama seperti pada CPU pada PC CARA USG MERUBAH GELOMBANG MENJADI GAMBAR

Jenis Pemeriksaan USG

1. USG 2 Dimensi
Menampilkan gambar dua bidang (memanjang dan melintang). Kualitas gambar yang baik sebagian besar keadaan janin dapat ditampilkan.



2. USG 3 Dimensi
Dengan alat USG ini maka ada tambahan 1 bidang gambar lagi yang disebut koronal. Gambar yang tampil mirip seperti aslinya. Permukaan suatu benda (dalam hal ini tubuh janin) dapat dilihat dengan jelas. Begitupun keadaan janin dari posisi yang berbeda. Ini dimungkinkan karena gambarnya dapat diputar (bukan janinnya yang diputar). 




3.USG 4 Dimensi
Sebetulnya USG 4 Dimensi ini hanya istilah untuk USG 3 dimensi yang dapat bergerak (live 3D). Kalau gambar yang diambil dari USG 3 Dimensi statis, sementara pada USG 4 Dimensi, gambar janinnya dapat “bergerak”. Jadi pasien dapat melihat lebih jelas dan membayangkan keadaan janin di dalam rahim.

4. USG Doppler
Pemeriksaan USG yang mengutamakan pengukuran aliran darah terutama aliran tali pusat. Alat ini digunakan untuk menilai keadaan/kesejahteraan janin. Penilaian kesejahteraan janin ini meliputi:
- Gerak napas janin (minimal 2x/10 menit).
- Tonus (gerak janin).
- Indeks cairan ketuban (normalnya 10-20 cm).
- Doppler arteri umbilikalis.
- Reaktivitas denyut jantung janin.

Cara Pemeriksaan
Pemeriksaan USG dapat dilakukan dengan dua cara yaitu:

1. Pervaginam
- Memasukkan probe USG transvaginal/seperti melakukan pemeriksaan dalam.
- Dilakukan pada kehamilan di bawah 8 minggu.
- Lebih mudah dan ibu tidak perlu menahan kencing.
- Lebih jelas karena bisa lebih dekat pada rahim.
- Daya tembusnya 8-10 cm dengan resolusi tinggi.
- Tidak menyebabkan keguguran.

2. Perabdominan
- Probe USG di atas perut.
- Biasa dilakukan pada kehamilan lebih dari 12 minggu.
- Karena dari atas perut maka daya tembusnya akan melewati otot perut, lemak baru menembus rahim.


Saat Tepat Pemeriksaan
Pemeriksaan dengan USG wajib semasa kehamilan sebetulnya hanya dua kali, yaitu:
* Saat pertama kali pemeriksaan kehamilan (usia kehamilan berapa pun namun biasanya pada usia kehamilan 10-12 minggu). Pemeriksaan ini dilakukan sebagai skrining awal. Gambaran janin yang masih sekitar 8 cm akan terlihat tampil secara utuh pada layar monitor.
* Usia kehamilan 20-24 minggu sebagai skrining lengkap. Setelah usia kehamilan lebih dari 12 minggu gambaran janin pada layar monitor akan terlihat sebagian-sebagian/tidak secara utuh. Karena alat scan USG punya area yang terbatas, sementara ukuran besar janin sudah bertambah atau lebih dari 8 cm. Jadi, untuk melihat kondisi janin dapat per bagian, misalnya detail muka, detail jantung, detail kaki dan sebagainya.
Selain itu, penggunaan alat USG dapat dilakukan atas dasar indikasi yakni:
* Pemeriksaan USG serial untuk mengukur pertumbuhan berat badan janin.
* Bila perlu pada usia kehamilan 38-42 minggu untuk melihat bagaimana posisi bayi apakah melintang, kepala turun, dan lainnya.

Manfaat USG
Trimester I
- Memastikan hamil atau tidak.
- Mengetahui keadaan janin, lokasi hamil, jumlah janin dan tanda kehidupannya.
- Mengetahui keadaan rahim dan organ sekitarnya.
- Melakukan penapisan awal dengan mengukur ketebalan selaput lendir, denyut janin, dan sebagainya.
Trimester II:
- Melakukan penapisan secara menyeluruh.
- Menentukan lokasi plasenta.
- Mengukur panjang serviks.
Trimester III:
- Menilai kesejahteraan janin.
- Mengukur biometri janin untuk taksiran berat badan.
- Melihat posisi janin dan tali pusat.
- Menilai keadaan plasenta.

Kelebihan USG
·        Tidak Terjadi Efek Samping
Yang harus dipahami, USG tidak menggunakan radiasi, tapi gelombang suara yang relatif aman selama dilakukan oleh seorang yang ahli. Namun harus diingat, USG hanyalah alat bantu yang tidak tertutup kemungkinan memberikan informasi yang kurang tepat. Alat USG maksimal digunakan selama 30 menit dan bayi harus dalam keadaan diam. Bila bergerak, bisa jadi gambarnya hilang dari layar komputer, sehingga harus diulang lagi. Lebih dari itu, dikhawatirkan terjadi pemanasan yangg akan merusak sel janin. Alat ini menggunakan gelombang suara dan menghasilkan energi, besarnya tidak boleh lebih dari 100 miliwattjoule/cm persegi. Kalau melebihi akan timbul efek pemanasan, lama-lama cairan sitoplasma akan menimbulkan gelembung udara yang disebabkan pemanasan. Karena sel ini tertutup, maka gelembung udara akan saling mendesak. Akhirnya sel tersebut bisa pecah, dan mati. Coba bayangkan misalnya yang kena adalah sel di pusat mata, pusat intelektual atau pusat perilaku, tentu risiko yang ditimbulkan sangat besar. Namun hingga kini, belum pernah ada bayi yang terlahir cacat karena efek USG selama masa kehamilan.



·        Bisa Mendeteksi  Kanker Payudara
USG tidak melulu berkaitan dengan dunia kebidanan dan kandungan. USG juga dapat digunakan untuk memeriksa adanya kelainan khususnya di payudara. USG ini hanya bisa digunakan untuk wanita berusia muda dimana jaringan payudaranya masih padat.

Bila timbul kelainan seperti benjolan, dengan USG payudara akan segera terdeteksi apakah ada kelainan termasuk tumor ganas atau sebaliknya. Sedangkan, bagi wanita di atas usia 40 tahun ke atas untuk mendeteksi adanya kelainan atau gangguan di sekitar payudara jauh lebih baik dilakukan mamografi (pemeriksaan payudara dengan menggunakan sinar x) karena payudaranya mempunyai jaringan lemak yang dominan serta jaringan fibroglanduler yang relatif lebih sedikit.

Kekurangan USG

·        Tidak 100% Akurat
Perlu diketahui, akurasi/ketepatan pemeriksaan USG tidak 100%, melainkan 80%. Artinya, kemungkinan ada kelainan bawaan/kecacatan pada janin yang tidak terdeteksi atau interpretasi kelamin janin yang tidak tepat. Hal ini dipengaruhi beberapa faktor antara lain:
* Keahlian/kompetensi dokter yang memeriksanya.
Tak semua dokter ahli kandungan dapat dengan baik mengoperasikan alat USG. Sebenarnya untuk pengoperasian alat ini diperlukan sertifikat tersendiri.
* Posisi bayi
Posisi bayi seperti tengkurap atau meringkuk juga menyulitkan daya jangkau/daya tembus alat USG. Meski dengan menggunakan USG 3 atau 4 Dimensi sekalipun, tetap ada keterbatasan.
* Kehamilan kembar
Kondisi hamil kembar juga menyulitkan alat USG melihat masing-masing keadaan bayi secara detail.
* Ketajaman/resolusi alat USG-nya kurang baik.
* Usia kehamilan di bawah 20 minggu.
* Air ketuban sedikit.
* Lokasi kelainan, seperti tumor di daerah perut janin saat usia kehamilan di bawah 20 minggu agak sulit dideteksi.

2209105047 Grafik Bitmap

Grafik Bitmap
Arga Wahyumianto

Pada artikel pertama, telah saya bahas mengenai grafik tipe vektor.. Nah, ayuk deh, kita bahas mengenai BITMAP sekarang !!! Let’s goooo…
Grafik bitmap juga dikenal dengan raster. Bitmap menggunakan titik-titik warna yang disebut pixel ( picture element ). Pixel itu ditempatkan pada tempat-tempat tertentu dengan nilai warna tertentu pula. Jika pixel tersebut digabung, maka akan terbentuk sebuah gambar. Keunggulan bitmap yaitu pada pewarnaan gradasi yang rumit. Bitmap mampu menampilkan kehalusan warna dari buanyak gabungan pixel berwarna. Naah.. makanya, bitmap paling cocok digunakan untuk gambar seperti foto, dan lukisan digital.
Namun, dibalik keunggulannya, juga terdapat kelemahan dari bitmap. Yaitu, bitmap sangat tergantung dengan resolusi gambar ( resolution dependent ). Bitmap ini mempunyai jumlah pixel yang tetap meskipun diperbesar maupun diperkecil. So, gambar yang diperbesar maupun diperkecil akan kehilangan detailnya serta terlihat jagged (kotak-kotak, bukan katok-katok) hehe..


Gambar 1. Gambar Bitmap
 
Pada saat Anda menyunting bitmap, proses yang terjadi sebenarnya adalah Anda hanya menyunting  lokasi pixel-pixelnya. Semakin tinggi resolusi gambar, maka semakin banyak pixel yang dikandung dari sebuah gambar serta makin halus gambarnya. Disamping itu, format bitmap memerlukan ruang penyimpanan yang besar sebanding dengan ukuran file dan resolusinya.
Oh ya, aplikasi pengolah bitmap yang umum dipakai adalah Adobe Photoshop (favorit kebanyakan orang), Corel PhotoPaint, Paint, dll.