Hollosi Information eXchange /HIX/
HIX CODER 980
Copyright (C) HIX
2000-10-21
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: Alternativ RND (mind)  87 sor     (cikkei)
2 VB computername kerdes (mind)  6 sor     (cikkei)
3 Re: Gravis (mind)  28 sor     (cikkei)
4 Re: boot4eva (mind)  71 sor     (cikkei)
5 karaktertabla valtas (mind)  11 sor     (cikkei)
6 Re:Bezier spline normal ? (mind)  55 sor     (cikkei)
7 Re: Bezier spline normal ? (mind)  30 sor     (cikkei)
8 DirectX (mind)  10 sor     (cikkei)
9 re: random generator (mind)  33 sor     (cikkei)
10 Memfoglalas (n darab m elemu) (mind)  17 sor     (cikkei)

+ - Re: Alternativ RND (mind) VÁLASZ  Feladó: (cikkei)

Hi!

> Szuksegem lenne egy olyan veletlenszam-generator fuggvenyre, ami
>  valahogy igy nez ki:
> 
>  long rnd(long x)
> 
> nekem az kene, hogy legyen egy olyan fuggveny, ami egy vegtelen 
> random sorozatbol az x -edik elemet adja ki. Magyarul "bele lehet 
> pozicionalni" a sorozatba es egy tetszoleges elemet kivalasztani belole.

Csak 1 ötlet: mi lenne, ha a szabványos Minimal Random Number Generator-t
használnád, de az x valójában beállítaná a Seed-et? Vagyis ugyanannál a 
generátornál maradnál, de az X utáni következő számot kérnéd - ami viszont
ugyanazon x-re ugyanaz, x-nek nem egyszerű (pl monoton) függvénye, gyors 
kiszámolni és egyszerű megvalósítani?

azaz (Borland C++):

class MinimalRandGen //minimal standard random number generator
{
 /*
    Minimal standard random number generator
    Linear Congruential Method, the "minimal standard generator"
    Park & Miller, 1988, Comm of the ACM, 31(10), pp. 1192-1201
 */
 private:
   long int Quotient, Remainder, SeedVal;

 public:
   long __fastcall SetSeed(long int NewSeed);
   long __fastcall GetSeed(void) {return SeedVal;}
   void __fastcall Reset(void);
   void __fastcall Randomize(void);           //set seed to random value
   unsigned long int __fastcall Rand(void); // returns a random unsigned intege
r

   unsigned long int __fastcall Dani_Rand(unsigned long int x) //;)
   { SetSeed(x); return Rand();}

   MinimalRandGen() {Reset();}
};

void __fastcall MinimalRandGen::Reset(void)
{
   Quotient  = LONG_MAX / 16807L;
   Remainder = LONG_MAX % 16807L;
   SeedVal   = 1L;
}

long __fastcall MinimalRandGen::SetSeed(long int NewSeed)
{
   long int PrevSeed = SeedVal;
   SeedVal = NewSeed;

   return PrevSeed;
}

void __fastcall MinimalRandGen::Randomize(void)
{
   SetSeed((unsigned)time(NULL));
}

unsigned long int __fastcall MinimalRandGen::Rand(void) 
{
   if( SeedVal <= Quotient )
      SeedVal = (SeedVal * 16807L) % LONG_MAX;
   else
   {
      long int high_part = SeedVal / Quotient;
      long int low_part  = SeedVal % Quotient;

      long int test = 16807L * low_part - Remainder * high_part;

      if( test > 0 )
         SeedVal = test;
      else
         SeedVal = test + LONG_MAX;
   }

   return SeedVal;
}

Kérem, ha valami gáz van vele, szóljatok. Köszi.

Józsi

+ - VB computername kerdes (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

A gepen futo exebol szeretnem lekerdezni a gep nevet, vagy tcp szamat.
Nem tudja valaki, van-e erre valami?

Koszonettel: Sz.Zs.
+ - Re: Gravis (mind) VÁLASZ  Feladó: (cikkei)

Hali!

> Hello!
>
> A GUS kepes az SB-hez hasonlo DMA-s hanglejatszasra? Ha nem, akkor
> miert kell neki megis DMA csatorna, ha ugyis a sajat memoriajabol
> jatsza le a dolgokat? Vagy esetleg a sajat memoriajabol olvas DMA-val?
> (aminek en semmi ertelmet nem latom)

Azert van kulon DMA-ja mert anelkul nem kartya a kartya ;)
Na komolyra forditva:
A gus memoriajat fel lehet tolteni hagyomanyos port -on keresztuli modszerrel,
DE KIB****TTUL lassu!
Meg ugyanezt ra lehet bizni a DMA-ra, ami jocskan gyorsabb.

> A helyzet az, hogy nemsokata GUS-t kene programoznom, es nem vagyok
> tisztaban 1-2 dologgal. Az nagyon jo lenne, ha valaki osszehasonlitana
> az SB-vel (mivel azt mar sikeresen programoztam es ertem, hogyan
> mukodik), programozasi szempontbol.
>
> Udv
> --
>  Tamas Selmeci / TOR][UM
> mailto:
>     F0 0F C7 C8 rulez!

--
 .,--/'{[< Tcc of Inquisition >]}'\--,.
+ - Re: boot4eva (mind) VÁLASZ  Feladó: (cikkei)

hi HIX CODER!

HC> Mc valasza:
>vegulis kettot kerdeztel, tehat kettot valaszolok.....
>1) hogy tudnam ujra formazhatova tenni?
>   foxx egy jo lemezt /ha meg van ijened;))))/ es
>   leolvasod a bootsectorat, es azt beirod a formazando
>   lemezre, es lass csodat, maris tudod formazni....;))))
HC> Erre en is gondoltam, csak az a gas, hogy az a 2 db Disk Editor(egyik
HC> DOS,masik Windows)amit hasznaltam, kiirja, hogy: Altalanos hiba
HC> olvasas meghajtó A ; Megszakitas, Ismet, Megse?
HC> Szoval, talan kicsit lama a kerdes: milyen programmal vagy paranccsal
HC> tudom atmasolni a "rossz" lemezre a boot sectort, ami hajlando a DOS
HC> bejegyzesek nelkul is kezelni a lemezt?
a f******t....;)))))))))))))))) ezt nezd:

------------------------[bootseccopy.mas]----------------------
j1:
mov ax,0201h
mov bx,offset lastbyte
mov cx,1
sub dx,dx
int 13h
jc j1
sub ax,ax
int 16h
j2:
mov ax,0301h
mov bx,offset lastbyte
mov cx,1
sub dx,dx
int 13h
jc j2
ret
lastbyte:
------------------------[bootseccopy.mas]----------------------

forgasd le .com filenak, es inditsd el... /azert ellenorizd le a
kodot, mert en nem neztem, most irtam es nem teszteltem...;))))))/
addig kerreg, amig be nem raksz egy lemezt.... leolvassa a boot
sectorat.... aztan elalszik a floppy lampa... kiveszed, beteszed
a 'rossz' floppyt, es megnyomsz egy gombot... o pedig felirja...
nos??? :)))))))))))))
ui: ha nem lenne assemblered, akkor:
1) mentsd ki ezt a kodot egy dos txt fileba...
2) nevezd at .com filenak...
3) inditsd el...
4) ugyanaz, mint feljebb....;)))

----------------------[ez a sor meg nem kell]-------------------------
XP5p_5O^P_W^,u,s,KP[,V,6(G&(G'(G+(G0(G1(G2,@(G/4sPC,<!r{<|tC*ktXP5dd5$
e,wP^V_XP5Dd5De,tP[$4$H,@,P,0(G#,p,P(G"(G$(G%(G&(G'(G+(G,(G.(G/(G1(G2(
G7(G:(G;,@(G%(G-(G0(G3(G4(G8(G9(G<kN,J`,-A0@`DAhDCh/?PYh*?*b:6M;A2C>I0
A0A5P8L=P8B>L0F0A;J0A1A?C:O5H5O5H;B0A2L=C:M8A?I7M7E1M8A>I3L;E0A=D>A0L=
A8A<B0G8A?J0I7C>J8K<C:K8A>J0I<B>K0I>L=O5O8L<P2L<O8B>J0J0A5B5G;J6M0A;O5
L0A2L<O0D?D8L=P?D:E5O5J;P0A0B5H?P>D?D:E2L?P2L?G2L=L2L=C;I0A0C9O;E0A<D"
;vYM;tA;;fCXnNw[[jzzkNw[[|
------------------------[ez a sor mar nem kell]-----------------------

HC> Szaszi:
>Amugy mit jelent nalad az, hogy megirni a boot sectort ?
HC> Talan egy kicsit lama megoldas.Irjatok, please, ha tudtok jobbat.
HC> Szoval diskeditort hasznaltam es egy hexeditort.A hexeditorba
HC> betoltottem a com fajlt, a hexa kodot copyztam, majd a diskeditorba
HC> bepasteztem.
hehhh... a fenti .asm filet egy kicsit atalakitva seperc
alatt csinalhatsz egy proggyt, ami valami com filet beir
a boot sectorba, es akkor maris 452253x gyorsabban tudsz
fejleszteni... hehhh???;))))))))))))))))))))))

na tovabbi jo kodolast mindenkinek.... Mc
+ - karaktertabla valtas (mind) VÁLASZ  Feladó: (cikkei)

Hello!

Hogyan lehetne VB-ben programkodbol karaktertablat valtani?
Tehat adott ket textbox az egyikbe angol betukkel akarok irni, a masikba
pedig magyarul, ekezetekkel. Azt szeretnem, hogy utomatikusan valtson 
karaktertablat. Melyik API-val tehetem ezt meg?

Koszonom a valaszt!

Bye!
_________________________________________________________Zoli
+ - Re:Bezier spline normal ? (mind) VÁLASZ  Feladó: (cikkei)

> Temakor: Bezier spline normal ? ( 18 sor )

>  Adott egy harmadfoku Bezier spline:
Ez most bezier vagy Spline !!!!!!!!

>  A spline vonal pontjainak a a koordinatait ezzel a keplettel tudjuk
>  kiszamolni, az u valtozo 0 -tol 1 -ig valo futtatasaval:
>  r(u) = (1-u)^3 * p0 + 3 * u * (1-u)^2 * p1 + 3 * u^2 * (1-u) * p2 + u^3 *
>  p3
> 
>  p0, p1, p2, p3 a spline kontrollpontjai, amelyek kozul p0 a spline darab
>  elso pontja, p3 az utolso.
>  r(u) a megkapott interpolalt pont.
Nos nem akarok belekotni de ez most bezier gorbe nem pedig spline. :)))
Azt szeretnem megkerdeznmi tudsz-e derivalni mert akkor maga is konnyen
ki tudod szmolni a megfelelo kepletet.

Az r(u) kell derivalni u szerint, majd az adott u pontban venni az 
egysegvektort.(normalizalni kell)

Megprobalom ide irni a megoldast, de javaslom hogy elenorizd le mert nem
biztos hogy jo.

d(r(u),u)= 3 * (1 - u)^2 * (-1) * p0 +
3 * (1-u)^2 * p1 - 6 * u *(1-u) * p1 +
6 * u *(1-u) * p2 - 3 * u^2 * p2 +
3 * u^2 * p3


Mar csak normalizalni kell.

     d(r(u),u)
n=----------------
   ABS(d(r(u),u))

A d(r(u),u) jelzi a derivalas utan kapott kepletbe helyettesitett pont
koordinatait.
az ABS az abszolut erteket jelzi.

>  Nem tudja valaki, hogy lehet kiszamolni a spline ivenek
>  normalvektorat egy adott u ertekre? Kozelito megoldasok nem kellenek.
>  Csak pontos.
> 
>  Udv: Dani

Remelem nem irtam el semmit, plane nem derivaltam el semmit (mivel 
meg egy lo is tud derivalni). :))))

Szoval szerintem igy kell. Regebben csinaltam ra progit. De azt 
talan csak holnap tudom elerni. (Mindezt 3D-ben csinaltam.)

Ha megis tevednek valamiben javitsatok ki.

-- 
Alex.
+ - Re: Bezier spline normal ? (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

>
>  Adott egy harmadfoku Bezier spline:
>
>  A spline vonal pontjainak a a koordinatait ezzel a keplettel tudjuk
>  kiszamolni, az u valtozo 0 -tol 1 -ig valo futtatasaval:
>
>  r(u) = (1-u)^3 * p0 + 3 * u * (1-u)^2 * p1 + 3 * u^2 * (1-u) * p2 + u^3 *
>  p3
>
>  p0, p1, p2, p3 a spline kontrollpontjai, amelyek kozul p0 a spline darab
>  elso pontja, p3 az utolso.
>  r(u) a megkapott interpolalt pont.
>
>  Nem tudja valaki, hogy lehet kiszamolni a spline ivenek
>  normalvektorat egy adott u ertekre? Kozelito megoldasok nem kellenek.
>  Csak pontos.

A normal vektor meroleges az erintore, ami annyit tesz, hogy
mn = -1/me,
ahol mn a normal vektor meredeksege, me pedig az erinto meredeksege, azaz
a derivalt. Az adott fv pedig eleg egyszeruen derivalhato.

Bocs, ha suletlenseget irtam.

--
Udv.:
Joco

+ - DirectX (mind) VÁLASZ  Feladó: (cikkei)

Hi Coderek!

DirectX programozása érdekelne Delphi alatt.
Ismerem a Japán figura (hori vagy mi) DelphiX komponens készletét, de a help ho
zzá nem sokat mond. Valami dögös doksi kellene ha lehet magyarul, németül vagy 
angolul, persze az alapoktól.

Köszi!

Arpy
+ - re: random generator (mind) VÁLASZ  Feladó: (cikkei)

Hi!

	Dani kerdesere: egy velemeny, ami nem bizt, hogy 100%-os.
Szoval a veletlenszamgeneratorok tobbsege kov. algoritmus szerint mukodik.

		rnd = ( A * rnd_seed + B ) mod 2^n
		rnd_seed = rnd;

 	Szerintem nincs mas jarhato ut a 100000000000000000 elem
kikeresesere, mint a vegigprobalgatas. Csak mindig ugyanazzal az ertekkel
kell a rnd generatort inicializalni. A fenti keplettel kozel egyenletes
eloszlasu veletlenszamokat kapsz. 

	A problemadra egy mas megoldas. Olyan fuggvenyt hasznalsz mint
veletlenszam generator, aminek a parametere a fuggveny valtozoja, igy
ugyanahhoz a parameterhez ugyanaz a kimeno ertek tartozik.

	Lehet pl egy ilyen : 

		rnd[i] = ( A * i + B ) mod 2^n

	, ahol A,B tetszoleges ,lehetoleg jo nagy szamok, az igy 
	kapott alveletlen szam (n-1) bites lesz. Az hogy ez a szam
mennyire "veletlen" az A es B tol fugg. Ha rosszul valasztod meg oket,
lehet, hogy periodikus lesz a dolog, ami megint nem elonyos.... De
kitalalhatsz mas fuggbenyeket (polynomokat is). pl A*i^2+B*i+C stb.

	Remelem tudtam segiteni.. Ja a fenti fuggvenynek az elonye:
	- nagyon gyors (assemblybe nehany sor)...

						Udv : Deme

 ... , aki majdnem legyozte a sarkanyt!
+ - Memfoglalas (n darab m elemu) (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

Indexeket (20 byte) tarolnek a membe, jo sokat,
lacolt listaban, es a memfoglalasnal akadnak "gondok".

Memoriafogalalsok teren a szakirodalom az ajanlotta,
(a memallloc az egy lassu dolog) hogy egy nagyobb
tombot foglaljunk le a rendszertol (n darab m elemut)
es abba oldjuk meg kisded foglalasainkat (+atobbit).

Vki csinalt vmi olyat, hogy n darab m meretu memoriat
foglalt le es amikor betelt keri a kovetkezot a
rendszertol??? 

p.s.: bitos lamma vagyok :))) ebbe :)

udv.: XiX/PsychoMix

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS