Tag: teaching

Entries for tag "teaching", ordered from most recent. Entry count: 42.

Uwaga! Informacje na tej stronie mają ponad 6 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

Pages: > 1 2 3 4 5 6 >

# Visual C++ - jak zacząć

Thu
14
Aug 2008

Właśnie zagadał do mnie na Gadu-Gadu jeden z kolegów z Warsztatu z pytaniami, lękami i wątpliwościami na temat przesiadki z Code::Blocks na Visual C++. Odpowiadając uświadomiłem sobie, że Visual, jakkolwiek jest moim zdaniem najlepszym IDE, jest wygodny, potężny, szybki itd., ma pewien problem - nie można w nim od tak zacząć programowania, napisać "Hello World" czy wkleić kod z jakiegoś tutoriala. Na drodze stoją opcje projektu, które w wersjach 2005 i 2008 domyślnie są tak ustawione, że kod się nie kompiluje albo też nie działa na komputerach innych niż programisty. Początkującym można więc polecić proste kroki do wykonania po utworzeniu nowego projektu:

  1. Wejść do opcji projektu - Project > Properties.
  2. Przestawić General > Character Set na Not Set - pomaga na błędy z Unicode, wchar_t itp. dziwnymi hasłami :)
  3. Przestawić C/C++ > Precompiled Headers > Create/Use Precompiled Header na Not Using Precompiled Headers - pomaga na błędy z Stdafx.h.
  4. Przestawić C/C++ > Code Generation > Runtime Library na Multi-threaded Debug (w konfiguracji Debug) i Multi-threaded (w konfiguracji Release) - pomaga na błędy z brakiem plików DLL po przeniesieniu programu na inny komputer.
  5. Dalej warto zgłębić ten temat czytając Warsztat FAQ, bo tam opisałem to dokładniej.

Comments | #teaching #visual studio #c++ Share

# Elementarne algorytmy

Tue
25
Mar 2008

float t;
for (uint i = 0; i < Count; i++) {
  t = (float)i / (float)(Count - 1);
  Foo(t);
}

Czy da się ten kod napisać lepiej? Ano da się. Zamiast wyliczać zmienną t za każdym razem na podstawie i, można ją zwiększać niezależnie:

float t = 0.0f, t_step = 1.0f / (float)(Count - 1);
for (uint i = 0; i < Count; i++, t += t_step)
  Foo(t);

Dla niektórych to oczywiste, ale każdy musiał się tego skądś nauczyć albo samemu wymyślić. Ja mam na to nazwę "elementarne algorytmy" i uważam, że takich rzeczy nie powinno się poznawać gdzieś przy okazji, ale porządnie spisać i nauczać początkujących programistów.

Mam nawet spisane pomysły na ponad pół setki takich drobiazgów, które możnaby opisać i zacząłem to robić w czasie wakacji 2007 jako nowa wersja mojego artykułu "Struktury danych i formaty plików" (nowy tytuł to "Brakujące ogniwo"), ale dokładne opisanie i zilustrowanie tego wszystkiego przerosło moje możliwości :)

Comments | #c++ #algorithms #teaching Share

# Blender do grafiki dydaktycznej

Thu
06
Mar 2008

Jeśli znasz Blender albo inny program graficzny 3D, to warto zwrócić uwagę, że za jego pomocą można też łatwo robić ładnie wyglądające schematy dydaktyczne dotyczące grafiki 3D - np. do artykułu, tutoriala czy... pracy magisterskiej :D

Comments | #tools #graphics #teaching Share

# Sonda - najlepszy format artykułów

Sun
06
Jan 2008

Dawno nic nie pisałem. Co u mnie słychać? Od kilku dni intensywnie uczę się Direct3D 10. Więcej o tym napiszę wkrótce.

Tymczasem przyszła mi do głowy następująca sprawa. Otóż gdybym kiedyś jeszcze miał ochotę napisać jakiś artykuł (czego nie wykluczam, ale też niczego nie obiecuję), to w jakim formacie preferowalibyście go przeczytać? Zapraszam czytelników mojego bloga do głosowania i komentowania.

Comments | #teaching #web Share

# Prezentacja o J2ME

Sun
30
Dec 2007

Właśnie skończyłem pisanie mojej pracy egzaminacyjnej na jeden z przedmiotów na studiach. Jest to prezentacja do wykładu na temat J2ME, czyli programowania w języku Java midletów na komórki. Omawia bardziej lub mniej dokładnie wszystkie moduły wchodzące w skład standardu MIDP 2.0. Ma 98 slajdów. Nie wiem, czy z samej prezentacji - nie słysząc wykładu - można się dużo nauczyć, ale zapraszam do przeglądania:

Comments | #productions #studies #mobile #java #teaching Share

# Ściąga ze Specular

Wed
31
Oct 2007

Spodobało mi się to robienie graficznych mini-lekcji z podstawami programowania grafiki :) Napiszcie co o tym sądzicie - może zrobię jeszcze inne.

Tymczasem przygotowałem ściągę ze wzorami na odblask (ang. Specular). Wykorzystuje on, podobnie jak prawo Lamberta, iloczyn skalarny (ang. Dot Product), a dodatkowo używa potęgowania. Są dwie metody liczenia odblasku:

Comments | #math #teaching #rendering Share

# Co to jest Half-Lambert

Tue
23
Oct 2007

Dziś chciałem wam przybliżyć efekt Half-Lambert. Prawo Lamberta mówi, że jasność powierzchni w danym miejscu jest wprost proporcjonalna do cosinusa kąta między wektorem kierunku DO źródła światła, a wektorem normalnym prostopadłym do powierzchni w tym miejscu. Ten z kolei jest równy iloczynowi skalarnemu (Dot Product) między tymi wektorami, o ile są znormalizowane. W ten sposób działa podstawowy wzór na oświetlenie "rozproszone" (Diffuse). Wygląda dobrze, ale ma tą wadę, że cała połowa powierzchni obiektu - ta zwrócona tyłem do źródła światła - jest kompletnie czarna.

Rozwiązaniem jest Half-Lambert, czyli takie przeskalowanie wyniku iloczynu skalarnego, by każdy fragment powierzchni otrzymał jakieś oświetlenie, z wyjątkiem miejsca zwróconego dokładnie przeciwnie do źródła światła. Wygląda to brzydko i nienaturalnie, ale w pewnych specyficznych sytuacjach może się przydać. Ja na przykład użyłem tego przy renderowaniu liści drzew.

Comments | #rendering #teaching #math Share

# Ratujmy cenne artykuły

Fri
24
Aug 2007

Nic w Sieci nie jest wieczne - przyznają to nawet ci, dla których cały komputer sprowadza się do okna przeglądarki WWW i najchętniej wszystko robiliby online. Tym bardziej, kiedy z Sieci znika cenny artykuł. Pośród internetowego śmietnika niektóre materiały są bardzo wartościowe. Dwa z nich zachowałem na swoim dysku i zrobiłem ich mirror.

Comments | #literature #teaching #web Share

Pages: > 1 2 3 4 5 6 >

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2025