Strona głównaArtykułyRenderowanie

Lampa lava: konwekcja, napięcie powierzchniowe i renderowanie metaballów w czasie rzeczywistym

Barwne krople w tle podnoszą się, łączą i opadają, prowadzone przez ciepło i zasięg - a jak GLSL metaball faktyzuje ten samego gładkiego łączenia na ekranie.

mysimulator teamZaktualizowano — czerwiec 2026≈ 7 min czytania▶ Otwórz symulację

Dwa cieczy, jedna sztuczka z gęstością

Przegłosowa lampa zawiera dwie cieczy, które się nie mieszają, najczęściej substancję opartą na wapiu i jasną mieszaninę wody i rozpuszczalnika. W normalnych warunkach pokojowych twarda substancja wapiowa jest lekko gęstsza niż otaczające ją ciecz i znajduje się na dole jako twardy kawałek. Sztuczką, która sprawia, że całość działa, jest to, że gęstość wapiowej substancji zmienia się szybciej z temperatury niż gęstość otaczającej cieczy, co oznacza, że mała ilość ogrzewania wystarczy, aby odwrócić, która z nich jest gęstsza.

demo na żywo · powiązana symulacja● LIVE

Cykl konwekcji: grawitacyjność spotyka się z rozszerzeniem termalnym

Bulb lub element ogrzewajacy w podstawie ciepłuje olejek najbliżej siebie. Jako że prawie wszystkie materiały, olejek rozszerza się przy podwyższonym temperature, co spowodowuje jego zmniejszenie masy objętościowej. Gdy staje się mniej masoobjętościowe niż płyn wokół niego, grawitacyjność przynosi go na górę jako blok ruchomego. Dystans od źródła ciepła blisko szczycia lampy olejek stopnia się i zacina, ponownie staje się masoobjętościowe, a opada do podstawy, aby ponownie być ogrzana - to samo podstawowe mechanizm, który steruje wzorami pogodowymi w atmosferze i konwekcją mantelu pod warstwą krzeseł Ziemi, tylko na znacznie mniejskim i łagodniejszym skalę.

Dlaczego obluki pozostają w kształcie kulistej zamiast rozpuszczać się

Wax i otaczający go płyn są chemicznie niezmiernicowe - prosto mówiąc, nie roztwierdzają się nawzajem, podobnie jak oleju do wody. Na granicy dwóch płynów napięcie powierzchniowe działa jak naciągnięta elastyczna skóra, próbując minimalizować pole kontaktowe, co jest przyczyną tego, że pływaca kula waxa samodzielnie przybiera na kształt gładkiego, kulistej formy zamiast rozszerzać się na cienką warstwę. Gdy dwa obluki się natkną, to samo napięcie powierzchniowe pozwala im łączyć się w jedną większą kule, zamiast oddawać się odległości, tworząc tymczasowy cienki łącznik, który rozszerza się podczas ukończenia łączenia.

Metaboly: renderowanie wąsień, które łączą się płynnie

Symulacja pełnych dynamiczności płynów dwóch niezmienniczych cieczy w czasie rzeczywistym oraz śledzenie dokładnej granicy każdego kropli jest kosztowna. Dreszczyk mniej kosztujący i przekonujący z wykorzystaniem grafiki komputerowej to metabola: zamiast gęstego siatki, każda wąsina jest reprezentowana jako gładka pole skalarny, które osiąga maksimum w centrum i maleje o odległość, a widoczna powierzchnia jest rysowana tam, gdzie suma pola każdego bliskiego metabola przekracza ustalony próg.

pole(p) = sumowanie po wszystkich metabolach i: radius_i^2 / dot(p - center_i, p - center_i) powierzchnia = { p : pole(p) >= próg } // rysowane na piksel w shaderze fragmentu Ponieważ pola łączą się addytywnie, dwie metaboly zbliżające się do siebie powodują, że ich kombinowana wartość pola wzrasta między nimi przed dotknięciem ich widocznych powierzchni, co oznacza, że renderowany kształt rozciąga się w mostek łączący je i łączy się płynnie - wizualnie identyczne do rzeczywistej łączenia się powierzchni napinania się, osiągniętego poprzez ocenę pola na piksel w shaderze GLSL zamiast rzeczywistego solvera płynów.

field(p) = sum over all blobs i of  radius_i^2 / dot(p - center_i, p - center_i)
surface  = { p : field(p) >= threshold }     // drawn per-pixel in the fragment shader

Często zadawane pytania

Dlaczego wosk w lampce lava podnosi się i opada zamiast tylko leżeć na dole?

Nagrzewany przez bulbę w osłonie wosk rozgrzewa się, rozbudza się i staje się mniej gęsty niż otaczający go chłodniejszy płyn, co prowadzi do podniesienia go siłą ciężkości. Dalej od bulbki wosk znowu ochłodzi się, zacina się, staje się ponownie gęstszy i opada na dno, aby być ponownie nagrzanym. To wolne cykliczne zmiany termiczne, a nie żadna pompka ani poruszalne części, są odpowiedzialne za ciągłe podnoszenie się i opadanie wosku, gdy lampka jest zapalone.

Dlaczego wosk nie miesza się z otaczającym płynem?

Wosk i płyn są wybrani tak, aby były chemicznie niewolne, co oznacza, że nawet jeśli się dotykają, nie rozpuszczają się jeden w drugim. Siła powierzchniowa na granicy ich kontaktu przyciąga kałużę do skupionego kształtu minimalizującego jej pole powierzchniowe, co jest powodem dla tego, że wosk tworzy zarysowane kuli, a nie rozchodzi się wokół niego.

Czym są metaballs i dlaczego są używane do renderowania tego efektu?

Metaballs to technika renderowania, w której każda kałuża jest reprezentowana nie jako stały siatkowy model, ale jako matematyczne pole, które zaniknie o odległości od punktu centrum; gdziekolwiek suma pola ze wszystkich bliskich kałuż tworzy granicę przekroczenia wartości prógowej, tam rysuje się powierzchnię. Ponieważ pola łączą się gładko, dwie metaballs, które zbliżają się do siebie, naturalnie rozciągną się i połączą w jedno ciągłe kształty zamiast kolizji jako oddzielne twardy obiekty, co jest dokładnie lookiem organicznym, gęstym, jaki mają prawdziwe kałuży wosku, gdy się dotykają.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Colorful Wax Blob Convection Simulation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Colorful Wax Blob Convection Simulation

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)