Да, общая интерференционная картина после пролёта многих электронов соответствует посчитанной по волновой функции вероятности
Вот именно. Не будь волновой функции, не было бы картины. Картина свидетельствует о волновой функции. Волновая функция физически реальна.
но при этом мы видим и куда прилетел каждый конкретный электрон
В момент контакта с мишенью. Да, начиная с этого момента уже невозможно выделить отдельную волновую функцию электрона (или даже электронно-позитронной пары) из общей волновой функции наблюдаемой Вселенной.
В двухщелевом эксперименте, если не пытаться определить конкретные пути, и получить интерференционную картину, электроны будут в суперпозиции (для времени с момента излучения и до попадания в мишень). Мы именно физически, независимо от знания, в нашей наблюдаемой Вселенной, имеем волновую функцию, не конкретную траекторию.
Наблюдаемый мир (по ММИ, как бы один из многих) всё же не классический, а почти классический.
Все наблюдения в квантовой механике возможны только через этот случайный механизм - без него как раз таки пси функция и описывающее её уравнение Шрёдингера нефизичны.
Это как посмотреть. Если рассматривать наблюдаемую Вселенную с полным набором "скрытых параметров", то получаем вполне физичное детерминированное уравнение Шрёдингера.
Да, физик-наблюдатель не знает этот самый полный набор, не знает полное уравнение. А частичное знание ему не сильно поможет, так как нет локальности. Но не практично не значит не физично.
Думаю, как применить наработки 2.5D движка BoxEngine (тоже в своём роде самого-самого, см. также недавний комментарий) для текстурирования стен на Dendy, с учётом ограничений.
BoxEngine разрабатывался изначально так, чтобы выдать наилучшую картинку в 128x128 (2006-й год), так что сверхнизкое разрешение 32x30 само по себе не проблема.
Но вот палитра, 4 цвета на 4 тайла… Можно ли выбрать цвета так, чтобы не было вырвиглазно? Первый цвет это фон (серый), второй цвет это А, третий цвет это Б, четвёртый цвет это ближайший к (А+Б)/2.
Можно пока сделать одномерные текстуры. Это позволит не заморачиваться с вычислением текстурной координаты для каждого столбца, и памяти под текстуры тогда вволю (даже добавив в будущем поддержку двухмерных, есть смысл использовать и одномерные, где возможно).
Теперь, остаётся только научиться рисовать…
Текстурированный столбец
Код из BoxEngine (вариант на C, для редактора на компьютере):
__declspec (dllexport) int WINAPI DrawTexLineW(PIXEL *GenericPixels, int *WallTilesAddresses, int x0, int YStart, int tgl, int TileStart, int TileFinish, int adr, int xmin, int xmax, int TexPeriod, int TexFloater, int lig, int addi) {
int xs,xc,t,b,addr,xcx,t2,x,k,t3,i,x2,tt1,tt2,xmx1,xmx2,xmn1,xmn2,LC;
PIXEL c,c1,c2;
//addr=adr+(TileStart%TexPeriod);
t=tgl>>(2+TexFloater);
t2=(tgl>>(3+TexFloater))<<3;
t3=t>>1; //t3a=t3+1;
xs=YStart; x=(xs>>TexFloater)*ScreenWidth+x0;
//tgl+=ScreenWidth<<TexFloater;
LC=AO[0]<<24;
switch (t) {
case 1:
for (k=TileStart;k<=TileFinish;k++) {
if (x>xmax) break;
//if (k%TexPeriod==0) addr=adr;
addr=adr+WallTilesAddresses[k];
LC=(AO[k]*lig+addi)&0xFF000000;
xs+=tgl;
xc=xs>>TexFloater;
b=TexelPriorities8[xc-(x/ScreenWidth)];
if ((b&3)==3) {
GenericPixels[x+=ScreenWidth]=Textures0[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures1[addr]|LC;
} else GenericPixels[x+=ScreenWidth]=Textures01[addr]|LC;
if ((b&12)==12) {
GenericPixels[x+=ScreenWidth]=Textures2[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures3[addr]|LC;
} else GenericPixels[x+=ScreenWidth]=Textures23[addr]|LC;
if ((b&48)==48) {
GenericPixels[x+=ScreenWidth]=Textures4[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures5[addr]|LC;
} else GenericPixels[x+=ScreenWidth]=Textures45[addr]|LC;
if ((b&192)==192) {
GenericPixels[x+=ScreenWidth]=Textures6[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures7[addr]|LC;
} else GenericPixels[x+=ScreenWidth]=Textures67[addr]|LC;
addr++;
}
break;
case 2:
for (k=TileStart;k<=TileFinish;k++) {
if (x>xmax) break;
//if (k%TexPeriod==0) addr=adr;
addr=adr+WallTilesAddresses[k];
LC=(AO[k]*lig+addi)&0xFF000000;
xs+=tgl;
xc=xs>>TexFloater;
xcx=(xc-(x/ScreenWidth))&7;
if (xcx==0&&xc-(x/ScreenWidth)>t2)
b=TexelPriorities8[8];
else
b=TexelPriorities8[xcx];
GenericPixels[x+=ScreenWidth]=Textures0[addr]|LC;
if ((b&3)!=0) GenericPixels[x+=ScreenWidth]=Textures01[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures1[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures2[addr]|LC;
if ((b&12)!=0) GenericPixels[x+=ScreenWidth]=Textures23[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures3[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures4[addr]|LC;
if ((b&48)!=0) GenericPixels[x+=ScreenWidth]=Textures45[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures5[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures6[addr]|LC;
if ((b&192)!=0) GenericPixels[x+=ScreenWidth]=Textures67[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures7[addr]|LC;
addr++;
}
break;
case 3:
for (k=TileStart;k<=TileFinish;k++) {
if (x>xmax) break;
//if (k%TexPeriod==0) addr=adr;
addr=adr+WallTilesAddresses[k];
LC=(AO[k]*lig+addi)&0xFF000000;
xs+=tgl;
xc=xs>>TexFloater;
xcx=(xc-(x/ScreenWidth))&7;
if (xcx==0&&xc-(x/ScreenWidth)>t2)
b=TexelPriorities8[8];
else
b=TexelPriorities8[xcx];
if ((b&3)==3) {
//GenericPixels[x+=ScreenWidth]=GenericPixels[x+=ScreenWidth]=Textures0[addr]|LC;
//GenericPixels[x+=ScreenWidth]=GenericPixels[x+=ScreenWidth]=Textures1[addr]|LC;
GenericPixels[x+=ScreenWidth]=c=Textures0[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
GenericPixels[x+=ScreenWidth]=c=Textures1[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
} else {
GenericPixels[x+=ScreenWidth]=Textures0[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures01[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures1[addr]|LC;
}
if ((b&12)==12) {
GenericPixels[x+=ScreenWidth]=c=Textures2[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
GenericPixels[x+=ScreenWidth]=c=Textures3[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
} else {
GenericPixels[x+=ScreenWidth]=Textures2[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures23[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures3[addr]|LC;
}
if ((b&48)==48) {
GenericPixels[x+=ScreenWidth]=c=Textures4[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
GenericPixels[x+=ScreenWidth]=c=Textures5[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
} else {
GenericPixels[x+=ScreenWidth]=Textures4[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures45[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures5[addr]|LC;
}
if ((b&192)==192) {
GenericPixels[x+=ScreenWidth]=c=Textures6[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
GenericPixels[x+=ScreenWidth]=c=Textures7[addr]|LC;
GenericPixels[x+=ScreenWidth]=c;
} else {
GenericPixels[x+=ScreenWidth]=Textures6[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures67[addr]|LC;
GenericPixels[x+=ScreenWidth]=Textures7[addr]|LC;
}
addr++;
}
break;
default:
int tt1s,tt2s;
tt1=t3+(t&1); tt1s=tt1*ScreenWidth;
tt2=t3+1; tt2s=tt2*ScreenWidth;
xmx1=xmax-(tt1+tt1)*ScreenWidth;
xmx2=xmax-(tt2+t3)*ScreenWidth;
xmn1=xmin+(tt1+tt1)*ScreenWidth;
xmn2=xmin+(tt2+t3)*ScreenWidth;
xs=YStart+tgl/*-(1<<TexFloater)*/; x=(xs>>TexFloater)*ScreenWidth+x0;
//xs=YStart+tgl-TexFloater; x=xs>>TexFloater;
k=TileStart;
if (YStart<=((xmin/ScreenWidth)<<TexFloater)) {
LC=(AO[k]*lig+addi)&0xFF000000;
addr=adr+WallTilesAddresses[k++];
xs-=tgl;
xc=xs>>TexFloater;
xcx=((x/ScreenWidth)-xc)&7;
if (xcx==0&&(x/ScreenWidth)-xc>t2)
b=TexelPriorities8k[8];
else
b=TexelPriorities8k[xcx];
//1
c1=Textures7[addr]|LC; c2=Textures6[addr]|LC;
if ((b&1)!=0) {
if (x<xmn2) {c=Textures67[addr]|LC; goto fin_l2;}
x2=x-tt2s;
for (i=0;i<t3;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
GenericPixels[x-=ScreenWidth]=Textures67[addr]|LC;
} else {
if (x<xmn1) goto fin_l1;
x2=x-tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
}
x=x2;
//2
c1=Textures5[addr]|LC; c2=Textures4[addr]|LC;
if ((b&2)!=0) {
if (x<xmn2) {c=Textures45[addr]|LC; goto fin_l2;}
x2=x-tt2s;
for (i=0;i<t3;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
GenericPixels[x-=ScreenWidth]=Textures45[addr]|LC;
} else {
if (x<xmn1) goto fin_l1;
x2=x-tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
}
x=x2;
//3
c1=Textures3[addr]|LC; c2=Textures2[addr]|LC;
if ((b&4)!=0) {
if (x<xmn2) {c=Textures23[addr]|LC; goto fin_l2;}
x2=x-tt2s;
for (i=0;i<t3;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
GenericPixels[x-=ScreenWidth]=Textures23[addr]|LC;
} else {
if (x<xmn1) goto fin_l1;
x2=x-tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
}
x=x2;
//4
c1=Textures1[addr]|LC; c2=Textures0[addr]|LC;
if ((b&8)!=0) {
if (x<xmn2) {c=Textures01[addr]|LC; goto fin_l2;}
x2=x-tt2s;
for (i=0;i<t3;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
GenericPixels[x-=ScreenWidth]=Textures01[addr]|LC;
} else {
if (x<xmn1) goto fin_l1;
x2=x-tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x-=ScreenWidth]=c1; GenericPixels[x2-=ScreenWidth]=c2;}
}
x=x2;
//.
addr++;
};
goto fin_l;
fin_l2: for (i=0;i<t3;i++) {
if (x<xmin) goto fin_l;
GenericPixels[x-=ScreenWidth]=c1;
}
GenericPixels[x-=ScreenWidth]=c;
for (i=0;i<t3;i++) {
if (x<xmin) goto fin_l;
GenericPixels[x-=ScreenWidth]=c2;
}
goto fin_l;
fin_l1: for (i=0;i<tt1;i++) {
if (x<xmin) goto fin_l;
GenericPixels[x-=ScreenWidth]=c1;
}
for (i=0;i<tt1;i++) {
if (x<xmin) goto fin_l;
GenericPixels[x-=ScreenWidth]=c2;
}
fin_l:;
xs=YStart+tgl*(k-TileStart)-(1<<TexFloater); x=(xs>>TexFloater)*ScreenWidth+x0;
for (;k<TileFinish;k++) {
addr=adr+WallTilesAddresses[k];
LC=(AO[k]*lig+addi)&0xFF000000;
xs+=tgl;
xc=xs>>TexFloater;
xcx=(xc-(x/ScreenWidth))&7;
if (xcx==0&&xc-(x/ScreenWidth)>t2)
b=TexelPriorities8k[8];
else
b=TexelPriorities8k[xcx];
//1
c1=Textures0[addr]|LC; c2=Textures1[addr]|LC;
if ((b&1)!=0) {
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures01[addr]|LC;
} else {
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//2
c1=Textures2[addr]|LC; c2=Textures3[addr]|LC;
if ((b&2)!=0) {
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures23[addr]|LC;
} else {
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//3
c1=Textures4[addr]|LC; c2=Textures5[addr]|LC;
if ((b&4)!=0) {
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures45[addr]|LC;
} else {
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//4
c1=Textures6[addr]|LC; c2=Textures7[addr]|LC;
if ((b&8)!=0) {
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures67[addr]|LC;
} else {
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//.
addr++;
};
if (k==TileFinish) {
addr=adr+WallTilesAddresses[k];
LC=(AO[k]*lig+addi)&0xFF000000;
xs+=tgl;
xc=xs>>TexFloater;
xcx=(xc-(x/ScreenWidth))&7;
if (xcx==0&&xc-(x/ScreenWidth)>t2)
b=TexelPriorities8k[8];
else
b=TexelPriorities8k[xcx];
//1
c1=Textures0[addr]|LC; c2=Textures1[addr]|LC;
if ((b&1)!=0) {
if (x>xmx2) {c=Textures01[addr]|LC; goto fin_r2;}
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures01[addr]|LC;
} else {
if (x>xmx1) goto fin_r1;
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//2
c1=Textures2[addr]|LC; c2=Textures3[addr]|LC;
if ((b&2)!=0) {
if (x>xmx2) {c=Textures23[addr]|LC; goto fin_r2;}
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures23[addr]|LC;
} else {
if (x>xmx1) goto fin_r1;
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//3
c1=Textures4[addr]|LC; c2=Textures5[addr]|LC;
if ((b&4)!=0) {
if (x>xmx2) {c=Textures45[addr]|LC; goto fin_r2;}
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures45[addr]|LC;
} else {
if (x>xmx1) goto fin_r1;
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//4
c1=Textures6[addr]|LC; c2=Textures7[addr]|LC;
if ((b&8)!=0) {
if (x>xmx2) {c=Textures67[addr]|LC; goto fin_r2;}
x2=x+tt2s;
for (i=0;i<t3;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
GenericPixels[x+=ScreenWidth]=Textures67[addr]|LC;
} else {
if (x>xmx1) goto fin_r1;
x2=x+tt1s;
for (i=0;i<tt1;i++) {GenericPixels[x+=ScreenWidth]=c1; GenericPixels[x2+=ScreenWidth]=c2;}
}
x=x2;
//.
addr++;
};
goto fin_r;
fin_r2: for (i=0;i<t3;i++) {
if (x>xmax) goto fin_r;
GenericPixels[x+=ScreenWidth]=c1;
}
GenericPixels[x+=ScreenWidth]=c;
for (i=0;i<t3;i++) {
if (x>xmax) goto fin_r;
GenericPixels[x+=ScreenWidth]=c2;
}
goto fin_r;
fin_r1: for (i=0;i<tt1;i++) {
if (x>xmax) goto fin_r;
GenericPixels[x+=ScreenWidth]=c1;
}
for (i=0;i<tt1;i++) {
if (x>xmax) goto fin_r;
GenericPixels[x+=ScreenWidth]=c2;
}
fin_r:;
}
return 0;
}
Текстура разбита на группы, каждая из 8-ми подряд идущих текселей Texture0, Texture1, … Texture7. Также, в Texture01 предрасчитан цвет, средний от Texture0 и Texture1... Это позволяет создать эффект, которому трудно найти точный термин в компьютерной графике, но, например, шахматная доска на большом расстоянии может выглядеть однотонной, а не сверкать пиксельным калейдоскопом.
Указанный суперкомпьютер способен просчитать всё прошлое нашей Вселенной и полностью смоделировать её в настоящий момент. Но для того, чтобы вычислить ещё и будущее, его мощности будет недостаточно.
А ведь это совсем не то, о чём можно подумать.
Дело не в том, прошлое или будущее. В первом случае классические вычисления (с битами), во втором случае квантовые вычисления (с кубитами), в этом разница, так?
Математическая модель + вычисления. Даёт возможность двустороннего взаимодействия мира перестановок с родительским миром.
Математическая модель. Мир перестановок существует для родительского мира, как бы включён в наблюдаемую Вселенную, но без взаимодействия.
Без модели (того самого интерпретатора). Мир перестановок не существует для родительского мира. Но наблюдатель в мире перестановок всё так же может жить внутри своего мира.
(сложно подбирать термины для описания подобных идей)
Вот именно. Не будь волновой функции, не было бы картины. Картина свидетельствует о волновой функции. Волновая функция физически реальна.
В момент контакта с мишенью. Да, начиная с этого момента уже невозможно выделить отдельную волновую функцию электрона (или даже электронно-позитронной пары) из общей волновой функции наблюдаемой Вселенной.
В двухщелевом эксперименте, если не пытаться определить конкретные пути, и получить интерференционную картину, электроны будут в суперпозиции (для времени с момента излучения и до попадания в мишень). Мы именно физически, независимо от знания, в нашей наблюдаемой Вселенной, имеем волновую функцию, не конкретную траекторию.
Наблюдаемый мир (по ММИ, как бы один из многих) всё же не классический, а почти классический.
Это как посмотреть. Если рассматривать наблюдаемую Вселенную с полным набором "скрытых параметров", то получаем вполне физичное детерминированное уравнение Шрёдингера.
Да, физик-наблюдатель не знает этот самый полный набор, не знает полное уравнение. А частичное знание ему не сильно поможет, так как нет локальности. Но не практично не значит не физично.
Как это поделит на себя?
Откуда цитата? Лукьяненко?
Конкретно, интересует радиус наблюдаемой Вселенной через 10^100 лет, в одном и в другом случае.
При этом у гравитона есть координаты? :-)
А асфальтированные?
Тогда технику границ стен не получится совместить с текстурированием. Соответственно, речь не про Wolf 3D, а про Hovertank 3D. :-)
Где тогда будет космологический горизонт событий?
Нулевое значение
или нет, как это повлияет на наше видение будущего наблюдаемой Вселенной?
В теории струн, насколько понимаю, пространство-время как раз задано как фон.
Конструируется оно в других теориях, например, в ПКГ.
Не знаю контекста. Это для Dendy?
Думаю, как применить наработки 2.5D движка BoxEngine (тоже в своём роде самого-самого, см. также недавний комментарий) для текстурирования стен на Dendy, с учётом ограничений.
BoxEngine разрабатывался изначально так, чтобы выдать наилучшую картинку в 128x128 (2006-й год), так что сверхнизкое разрешение 32x30 само по себе не проблема.
Но вот палитра, 4 цвета на 4 тайла… Можно ли выбрать цвета так, чтобы не было вырвиглазно? Первый цвет это фон (серый), второй цвет это А, третий цвет это Б, четвёртый цвет это ближайший к (А+Б)/2.
Можно пока сделать одномерные текстуры. Это позволит не заморачиваться с вычислением текстурной координаты для каждого столбца, и памяти под текстуры тогда вволю (даже добавив в будущем поддержку двухмерных, есть смысл использовать и одномерные, где возможно).
Теперь, остаётся только научиться рисовать…
Текстурированный столбец
Код из BoxEngine (вариант на C, для редактора на компьютере):
Текстура разбита на группы, каждая из 8-ми подряд идущих текселей Texture0, Texture1, … Texture7. Также, в Texture01 предрасчитан цвет, средний от Texture0 и Texture1... Это позволяет создать эффект, которому трудно найти точный термин в компьютерной графике, но, например, шахматная доска на большом расстоянии может выглядеть однотонной, а не сверкать пиксельным калейдоскопом.
Сколько разных тайлов может быть в видеопамяти Dendy?
Нашлось давнее обсуждение на LOR про это.
А ведь это совсем не то, о чём можно подумать.
Дело не в том, прошлое или будущее. В первом случае классические вычисления (с битами), во втором случае квантовые вычисления (с кубитами), в этом разница, так?
Есть свои + и -.
На клаве предсказуемее управление, можно действовать чуть ли не вслепую, ♥.
На мышке читерски) быстрый поворот.
Три вида
мироввзаимодействия миров:Математическая модель + вычисления. Даёт возможность двустороннего взаимодействия мира перестановок с родительским миром.
Математическая модель. Мир перестановок существует для родительского мира, как бы включён в наблюдаемую Вселенную, но без взаимодействия.
Без модели (того самого интерпретатора). Мир перестановок не существует для родительского мира. Но наблюдатель в мире перестановок всё так же может жить внутри своего мира.
(сложно подбирать термины для описания подобных идей)
Вычислительная мощность Вселенной и её пределы. Может ли Вселенная симулировать саму себя? на эту тему.