Ayuda con cálculo de resoluciones verticales..., para visualizar sobre un monitor en horizontal...
[MaD]
view post Escrito el 24/6/2006, 21:54

Desconectado de la realidad

Grupo: Member
Mensajes: 1680


Status: Utente anonimo


Hola.

Necesitaría ayuda para conseguir la formula para calcular las resoluciones de juegos verticales para que se muestren a la perfección en un monitor en horizontal mostrándose en un area de pantalla equivalente a 3:4 si no tenemos en cuenta los márgenes negros.

La cosa puede parecer sencilla ya que que si cogemos la resolución vertical, la dividimos por tres y la multiplicamos por cuatro nos da en teoría la resolución horizontal exacta que debemos usar, pero esto solo se cumple cuando la resolución original es 3:4 (192x256, 240x340, ...) y no se cumple cuando la resolución no es exactamente 3:4 (224x256, 240x256, 240x240, ...

Cuando nos encontramos una resolución vertical que no es 3:4 y sabiendo que debe mostrarse justo imagen 3:4 tal y como lo haría en un tubo de arcada 4:3 rotado 90º, para que se muestre la imagen del juego justo a 3:4 sin contar los márgenes sobre el tubo horizontal.

Voy a poner un ejemplo por si no se entiende lo que quiero hacer... un juego vertical con resolución original de 224x256 (“1942” de Capcom por ejemplo), para mostrarse perfectamente en un monitor en horizontal y teniendo una relación de 3:4 sin contar los márgenes hace falta una resolución de aproximadamente 400 píxeles de ancho (401x256 por ejemplo). Bien, pues lo que quiero saber es como calcular ese 400 a partir de la resolución original (224x256) y de la relación de aspecto que quiero conseguir (4:3) que he conseguido saber únicamente a partir de pruebas con diferentes resoluciones.

Imagen del juego a resolución original 224x256 donde no se ve con una relación de aspecto de 3:4 como deberia...
image

Imagen a su resolución original 224x256 con márgenes negros hasta rellenar 401x256 para mostrar en un monitor horizontal.
image

Simulación de cómo se vería la imagen con tamaño 401x256 en un monitor en horizontal...
image

Espero que se entienda lo que quiero hacer y a ver si me podéis echar un cable porque no he sido demasiado espabilado con las matemáticas.

Un saludo.

Modificado por [MaD] - 25/6/2006, 06:03
pakoman
view post Escrito el 24/6/2006, 23:45
Avatar

Desconectado de la realidad

Grupo: Member
Mensajes: 1034
Location: Jerez


Status: Offline: ultima azione eseguita il 13/1/2007, 15:17


Pues se me ocurre una forma... a ver si funciona:
X= ancho
Y=alto
P=proporción (4/3 o lo que sea)
Xr=ancho rotado
Yr=alto rotado

Tenemos:
X=P*Y
Xr=P*Yr (para que respete la misma proporción)

Al rotar la pantalla el ancho se convierte en el alto:
X=Yr

y falta por averiguar la Xr que mantenga esa proporción P:

sustituimos en Xr=P*Yr y tenemos que:
Xr=P*X


Lo malo es que si entra el juego el overscan y cosas de esas igual escoña las matemáticas y esto no sirve, me refiero: la tv no se comporta igual para mostrar 224 lineas que para mostrar 256, ejemplo: NTSC suele llenar la pantalla y PAL dejar bandas negras aunque ambas tienen proporción 4/3.

Lo que te he dicho creo que está bien, pero no se si es aplicable a lo que quieres (sería más en un TFT o un monitor de PC creo que en una TV, porque hay que suponer que las resoluciones que ponemos llenan la imagen al 100%, pero no sabemos que nº de pixels o lineas se van a quedar fuera de la pantalla).
[MaD]
view post Escrito el 25/6/2006, 05:03

Desconectado de la realidad

Grupo: Member
Mensajes: 1680


Status: Utente anonimo


Muchas gracias pakoman... aunque tu formula no era la que buscaba (o si lo era y no lo entendí bien) con las explicaciones que diste y pensarlo despacio conseguí lo que buscaba. Voy a intentar explicarlo aunque no creo que lo haga bien porque soy un negado con esto y además que no se servirá de algo ya que ahora viéndolo en frió parece que era una cosa muy sencilla. (malditas matemáticas XD)

Hay que calcular por un lado la resolución 3:4 a partir de Y (lo que seria en un monitor en vertical) con la formula Y Res / 4 * 3. Por ejemplo si Y fuese 256 la resolución 3:4 sería 256x192 (256/4*3=192)).

Por otro lado hay que calcular la resolución 4:3 a partir de Y (lo que sería un monitor en horizontal) con la formula Y Res * 4 / 3. (Por ejemplo si Y fuese 256 la resolución 4:3 seria 341x256 (256*4/3=341,3333)).

Con el par de cálculos anteriores ahora ya podemos calcular la resolución de X que necesitamos para que se muestre la imagen correctamente sin modificar la relación de aspecto al mostrar imagen 3:4 sobre un monitor 4:3. Simplemente es partiendo de X, dividirlo por el primer valor que conseguimos y multiplicarlo por el segundo valor que conseguimos. (Si seguimos con el ejemplo serian 224 / 192 * 341,3333 dando el resultado 398,2222 y siendo la resolución final 398x256).

Como se puede ver la resolución de X es la que varía dando igual el tamaño de Y, mientras que la Y no varía siendo siempre igual de la partíamos. Así que en lo que a X se refiere da lo mismo 224x240, 224x256, 224x320, 224x384 ya que la X real será siempre será 398 cambiando solamente la resolución de Y.

image

Se que esto es una rallada y que contando con los ajustes de los CRT su utilidad puede ser nula... pero estoy liado con conseguir la máxima calidad de video posible respetando al máximo el video dentro de las limitaciones de un CRT en horizontal y quiero ver que tal los resultados.

Después de esto ya solo me faltara que me presten un monitor de 25kHz o que alguien con uno de estos monitores me ayude a probar el tema para ver si podemos hacer mostrar a Windows 512 x 400p 60Hz 24,96kHz o 640 x 400p 60Hz 24,96kHz sobre dicho monitor y luego ya ponernos a hacer resoluciones de entre 200 y 400 líneas no entrelazadas para mostrar perfectamente, sin entrelazar, sin estrechamiento y sin perder la relación de aspecto 3:4 todos los juegos verticales sobre un monitor en horizontal 4:3.

Un saludo.
2 respuesta(s) desde el 24/6/2006, 21:54