WPF: Medidas reales en un ViewPort 3D - DotNetClubs
en

DotNetClubs

Comunidades de estudiantes entusiastas de la tecnología

WPF: Medidas reales en un ViewPort 3D

Último artículo 04-27-2008 18:22 escrito por Onir. 0 respuestas.
Página 1 de 1 (1 elementos)
Ordenar mensajes: Anterior Siguiente
  • 04-27-2008 18:22

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    WPF: Medidas reales en un ViewPort 3D

    Hola,

     En una aplicación que estoy realizando necesito que lo que aparece en el ViewPort3D tenga unas medidas reales que me pidan. Por ejemplo, quiero representar un cuadrado de lado 10x10cm y que en la pantalla aparezca un cuadrado de 10x10cm cuando utilizamos una cámara ortográfica (no en perspectiva).

     Hasta ahora he conseguido que controles 2D en un panel tengan las medidas que yo quiero sabiendo que por cada 96px se corresponde con 1inch si ajusto antes la dimensión de la pantalla en pulgadas según comenta Olivier Dewit en este artículo http://www.odewit.net/ArticleContent.aspx?id=WpfDpiScaling&format=html&lang=en. Me gustaría obtener algo similar a esto en un ViewPort3D. Lo único que he conseguido mediante la vía experimental es que en un monitor de 19 pulgdas, un cm de algo que se vé en el Viewport3D son unas 0.049 unidades de WPF a la hora de definirlo de la siguiente forma:


    <ModelVisual3D>
            <ModelVisual3D.Content>
              <Model3DGroup>
                <GeometryModel3D>
                  <GeometryModel3D.Material>
                    <DiffuseMaterial>
                      <DiffuseMaterial.Brush>
                        <SolidColorBrush Color="Black"/>
                      </DiffuseMaterial.Brush>
                    </DiffuseMaterial>
                  </GeometryModel3D.Material>
                  <GeometryModel3D.Geometry>
                    <MeshGeometry3D Positions="0,0.049,0 0,0,0 0.049,0,0 0.049,0.049,0"
                                    TriangleIndices="0 1 2, 0 2 3"
                                    TextureCoordinates="0,0 0,1 1,1 1,0"
                                    />
                  </GeometryModel3D.Geometry>
                </GeometryModel3D>
              </Model3DGroup>
            </ModelVisual3D.Content>
          </ModelVisual3D>

     El problema es que sólo es válido para monitores de 17 pulgadas. Si ejecutamos en otros tamaños no sale lo mismo...

     ¿Alguna idea de cómo afrontar esto?

     Saludos

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 5
Página 1 de 1 (1 elementos)
(c) DotNetClubs 2008
Ofrecido por Community Server (Commercial Edition)