Baza wyszukanych haseł
aaaaTrzeba żyć, a nie tylko istnieć.aaaa

Witam! Mam problem - na głównej formie, w PageControl zadokowana jest druga
forma (BorderStyle = bsNone, FormStyle = fsStayOnTop). Gdy kliknę ją i użyję
rolki myszy, wszystko działa zgodnie z oczekiwaniami. Jednak gdy kliknę
później główną formę i użyję rolki, działa ona w obu okienkach mimo, że
powinna działać tylko w oknie głównym. Jak to rozwiązać?

Pozdrawiam -- Spook.




RRus wrote:
Cześć

Przenoszę post który był rozwijany poniżej - Mysz z dwoma rolkami -
jak rozróżniać która rolka jest kręcona????

Kto wie jak rozróżnić która rolka jest kręcona w myszach z dwoma
rolkami - jakie komunikaty są wysyłane przez sterowniki myszy
dwurolkowych - w sytuacji kiedy WM_MouseWheel przenosi takie same
parapetry bez znaczenia którą rolką się kręci.

Pozdrawiam Roland


A po co Pan przenosi? Nie wystarczy jeden post?

Pozdrawiam -- Spook.



Witam !

        pilnie poszukuje tapety winylowej o takim wzorze jak ta:
http://www.spooki.pl/tapeta.jpg, w zasadzie potrzebuje tego z 1,5
metra wyciete z rolki, jesli ktos ma bylbym niesamowicie zobowiazany,
ew moge odkupic cala rolke.

niestety tapeta nie jest juz dostepna w zadnym sklepie (koniec serii byl jakis
rok temu)

        z gory dzieki.

        sPoOkI



Witam! Gdy użyję rolki na TListBox (OwnerDrawVariable), zawartość przewija
się w dół, ale jest wykonywana animacja przewijania "w górę", co nieco
nieestetycznie wygląda - jak się tego efektu pozbyć?

Pozdrawiam -- Spook.



Wojciech "Spook" Sura napisał(a) w poście z dnia 2005-06-21 11:42:


| Od tego to mam guzik w myszce... :D
Piętno dla diabelskich myszy z tysiącami rolek i przycisków minimalizujących
albo - co gorzej - zamykających okienka. Mam dwie - jedna kulkowa Logitecha,
druga optyczna, notebookowa - obie z dwoma przyciskami i rolką (która jest
też trzecim przyciskiem).


Logitech MX700... Zamienię chyba tylko na MX1000 - w życiu nie miałem
wygodniejszej myszy w łapie. A jak się to ślicznie ślizga na podkładce
Icemat 2nd Edition... Normalnie cód mniód i orzeszki (1). Funkcje
przycisków mogę sobie definiować jak chcę. :D


| Shift+F10
Badziewie.


Bredzisz. :)


Sprawdź, jaki jest ruch ręki przy wciśnięciu win-menu, a jaki
przy wciśnięciu shift+F10. Nie wiem, jak Ty, ale pisząc bezwzrokowo jeszcze
nie umiem trafić w tego "efa" w którego chcę, więc muszę patrzyć na
klawiaturę podczas pisania a to piekielnie opóźnia pracę.


Bez najmniejszych problemów trafiam w kombinację Shift-F10. :)


| Przy dużych ilościach tekstu, to ja układu maszynistki używam. ;D
Tzn? ąęśćń itp. zamiast [];' itp?


Exactly... ;D Wiem - to podobno nie jest normalne, ale ja nigdy nie
twierdziłem, że jestem normalny... ;D


| W UT nie gram. ;D
Ueh, to po co ci ta klawiatura? ;)


Mam Ci klawiszologię do Falcona 4 podesłać? ;D (2)


i tu się zgodzę, prawy winklawisz jest raczej przeze mnie nieużywany (nawet
łatwo sprawdzić po poziomie wypolerowania ;)), mógłbym się bez niego obyć.
Na notebooku też - choćby dlatego, że już kilka razy wcisnęło mi się win+l
zamiast alt+l - a pod winxp wiadomo, co to robi.


Win-L to ja często w pracy wykorzystuję. :) Jakoś takoś ze mnie wredne
bydle, że wychodząc na papierosa blokuję swoją stację... :D




Witam!

Crosspost na pl.comp.grafika.grafika3d; pl.sci.matematyka i
pl.comp.lang.delphi.
Followup-to na pl.comp.lang.delphi

Piszę program wykonujący pewne wizualizacje 3D. Wyświetla on na scenie
widgety umożliwiające przekształcanie jej zawartości, a są one w postaci
(mniej więcej) scrollbara (paska przewijania).

Ogólny problem polega na tym, że użytkownik przeciąga suwak scrollbara na
płaskim, dwuwymiarowym ekranie, ale przesunięcie następuje w przestrzeni
trójwymiarowej, a ja nie umiem znaleźć sprytnego sposobu na wykonanie
jakiejś transformacji 2D-3D by powiązać kliknięte przez usera miejsce z
pewnym miejscem na trójwymiarowej scenie.

Teraz bardziej formalnie. Na scenie dany jest pewien odcinek, wyznaczony -
powiedzmy - punktem zaczepienia P3D i pewnym wektorem V3D. Jest on
wizualizowany na odcinek na płaskim ekranie, który możemy opisać punktem
zaczepienia P2D i pewnym wektorem V2D.

Przekształcenie [punktu] w tą stronę realizowane jest pewnym iloczynem
macierzy:

I * P * R * R * T (x), gdzie:

I - macierz jednostkowa (4x4 !)
P - macierz perspektywy, która jest opisana na stronie:
http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/...

[1]
R - pewne macierze rotacji
T - pewna macierz translacji.

Poszczególne macierze nie grają chyba specjalnej roli - dosyć, że mogę
dobrać się bez problemów do każdej z osobna, mam kąty rotacji, mam wektor
translacji, mam współrzędne perspektywy i tak dalej. Mam też wynikową
macierz.

Wynik (x1, y1) nałożenia na macierz wektora (x, y, z, 1) (pozostałe
współrzędne są porzucane) jest liniowo skalowany na współrzędne ekranowe
(wynikowe współrzędne są w zakresie od -1 do 1) i tak wyświetlany.

Problem polega na tym, że mam dany pewien punkt (x1, y1) ekranowy (dla
uproszczenia przyjmijmy, że zawsze należy on do "ekranowego" odcinka) i
chciałbym przekształcić go teraz na punkt trójwymiarowy (x, y, z) leżący na
trójwymiarowym odcinku w odpowiednim miejscu. Teoretycznie mógłbym próbować
walczyć z macierzą odwrotną, ale nie mam niestety wartości z1 (będącej, de
facto, odległością punktu na scenie od obserwatora), więc nie jestem w
stanie wykonać przekształcenia odwrotnego.

Myślałem o liniowym przenoszeniu pozycji myszy na odcinku z 2D do 3D, ale
niestety nie jest to rozwiązanie najlepsze. Wyobraźmy sobie bowiem odcinek,
którego lewa strona jest gdzieś daleko, prawa zaś blisko. Jeśli będę
przesuwał liniowo mysz z lewej na prawą stronę, mysz będzie przesuwała się
tak:

a    b    c    d    e    f
--------------------------

Ale "marker" na trójwymiarowym odcinku zwizualizowany w dwóch wymiarach,
a z
uwagi na perspektywę, mniej więcej tak:

ab c   d       e         f
--------------------------

Jak widać, funkcja f(x), gdzie x jest pozycją myszy na ekranowym odcinku,
zaś jej wynikiem jest taka pozycja na trójwymiarowym odcinku, która po
wizualizacji pokrywa się z pozycją myszy, nie jest liniowa. Niestety jednak
nie mam pojęcia, jaka jest to funkcja - nawet nie mam żadnych pomysłów,
intuicji. Fragment kwadratowej? Wykładniczej? Ale skąd się wzięła i jak
obliczyć jej współczynniki?

Pomysł niestety upadł. Pojawił się inny - aby próbować obliczyć oś widoku
odpowiadającą pozycji myszy (przeciwobraz miejsca w którym znajduje się
mysz - jak wiadomo, będzie to prosta) i stamtąd próbować powiązać ją z
odcinkiem, ale właściwie nie mam pomysłu co dalej. Kombinowałem z próbą
obliczenia jakiejś płaszczyzny w którą wbije się owa prosta, a następnie
rzutowanie miejsca trafienia na docelowy odcinek, ale i tu było sporo
problemów.

Właściwie pomysły już mi się skończyły. Czy ktoś wie może jak rozwiązać ten
problem?

Pozdrawiam -- Spook.

[1] Obszar widoku opisywany jest następująco:
* Obserwator jest w punkcie (0,0,0)
* Obszar, który jest renderowany ma postać ściętego ostrosłupa o podstawie
prostokąta;
* Jego mniejsza podstawa (ta ścięta) jest opisana wartościami top, left,
bottom i right, a znajduje się w odległości [z]near od obserwatora
* Większa podstawa jest odległa o [z]far od obserwatora (wraz z
wierzchołkiem w (0,0,0) wystarczy to do jednoznacznego wyznaczenia
ostrosłupa widoku)
* Ekranem jest mniejsza podstawa.


Uff... Obliczenia trójwymiarowe nie są krótkie, ale być może można to
załatwić inną metodą.

Może wystarczy po naciśnięciu klawisza myszki "zakotwiczyć" ją na suwaku
i reagować na ruchy myszy przesuwając suwak wraz z myszą po jego
trójwymiarowym odcinku (dodatkowo można wykorzystać rolkę myszy). Wtedy
fizyczny ruch myszy w poziomie lub pionie powodowałby jej ruch
dokładnie po osi suwaka. Oczywiście położenie myszy na ekranie
trzeba wtedy skorygować samemu. Plusem takiego podejścia jest również
to, że eliminuje się efekt nieliniowego ustawienia suwaka w różnych jego
miejscach, zawsze odległości o jakie przesuwasz wskaźnik suwaka będą
takie same (oczywiście na jego osi).

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • brytfanna.keep.pl
  • Trzeba żyć, a nie tylko istnieć.