Tag: teaching

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

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

Pages: > 1 2 3 4 5 >

# Elementarne algorytmy

11:11
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

20:21
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

13:02
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

16:20
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

15:01
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

18:04
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

10:39
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

# Mam błąd, ale to nie moja wina!

14:03
Thu
02
Aug 2007

Błędy nękają wszystkich programujących. Mówi się, że "nie robi błędów tylko ten, kto nic nie kodzi". Pytaniem zadawanym wciąz przez wszystkich programistów jest "dlaczego to nie działa", a w wersji dla programistów gier często także "dlaczego nic nie widać". Błąd można znaleźć szybciej albo po długich poszukiwaniach i każdemu chyba zdarza się od czasu do czasu oskarżać o złe działanie nawet Bogu ducha winny kompilator.

Ale spotkałem w swoim życiu pewną nieliczną, niezwykłą grupę ludzi, którzy kiedy mają błąd, wcale nie starają się go znaleźć - co najwyżej tylko im się wydaje, że go szukają. W zamian cały swój wysiłek i czas wkładają w udowadnianie sobie i wszystkim naokoło, że jednak swój kod napisali dobrze, wszystko zrobili tak jak trzeba itd. Winę za błąd ponosi zwykle kompilator/środowisko/biblioteka albo w ogóle bliżej niezdefiniowana siła wyższa. Za to oni poszukując go wciąż od nowa analizują właśnie ten fragment kodu, w którym błędu na pewno nie ma, jeszcze bardziej utwierdzając się tym samym w swoim przekonaniu o niewinności. Tylko czy to im coś daje?

Jeśli zwykłe nieradzenie sobie z prostymi błędami i przychodzenie z nimi na forum celem pokazania kodu - aby inni go przeanalizowali - nazywa się lamerstwem, to jak nazwać to osobliwe zjawisko? :)

Comments | #teaching #humor Share

Pages: > 1 2 3 4 5 >

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror]
Copyright © 2004-2017