Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi mem aus TurboPascal (https://www.delphipraxis.net/58413-mem-aus-turbopascal.html)

Flocke 8. Dez 2005 20:09

Re: mem aus TurboPascal
 
An Adresse F000:FA6E liegt seit Urzeiten in den PCs der 8x8 Standard-Rasterfont. Also z.B. für A die Bits:
Code:
.XXXXX..
XX...XX.
XX...XX.
XXXXXXX.
XX...XX.
XX...XX.
XX...XX.
........
Wenn ich das richtig verstehe, dann wandelt die Routine einfach den String "wort" in Einzelpunkte (Pixel), deren Koordinaten in dem Array "p" gespeichert werden.

Wenn du das unter Windows nachbildest, dann kannst du es ggf. durch eine einfache Textausgabe in den Canvas ersetzen.

JamesTKirk 8. Dez 2005 20:29

Re: mem aus TurboPascal
 
Wieder was gelernt... Danke für die Hilfe :thumb:
Des wird bei nächstbester Gelegenheit ausgetestet, aber heut nemme *gähn*

Ciao,
Sven

tomsel 8. Dez 2005 20:33

Re: mem aus TurboPascal
 
Gegenfrage:
wird hier das Interferenzmuster aus den Pixeln von Schriftzeichen gewonnen? Das sichtbar gemachte Hologramm zeigt dann räumliche Buchstaben? Wie macht man es sichtbar, wie bekommt man das Muster vom PC auf Holo-Filmmaterial?

Die Version mit dem Canvas ist zwar schon mal nicht schlecht, aber man müsste dan jedes einzelne Zeichen genau lokalisieren. Am Besten gibt man jedes Zeichen eines Strings einzeln aus, dessen Position ist dann bekannt und man muss nur noch die Größe ermitteln.

Kommt man irgendwie ohne solchen Umweg an die Font-Daten ran?

Flocke 8. Dez 2005 21:27

Re: mem aus TurboPascal
 
Liste der Anhänge anzeigen (Anzahl: 1)
@tomsel: Entweder nimmst du überhaupt keinen Font sondern direkt eine Bitmap (siehe Anlage), oder du zeichnest den String in einen Schwarz/Weiß-Canvas und holst dir dann mit MSDN-Library durchsuchenGetTextExtentExPoint die Breite aller Zeichen im String.

turboPASCAL 8. Dez 2005 22:17

Re: mem aus TurboPascal
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich denke mal es geht um das hier: http://pluslucis.univie.ac.at/FBA/FB...n/computer.pdf

Delphi-Quellcode:
segcg: word=$F000; ofscg: word=$FA6E;
und
Delphi-Quellcode:
ofscg:=mem[0:4*$1F]+256*mem[0:4*$1F+1]+8*(asc-128)+r;
    segcg:=mem[0:4*$1F+2]+256*mem[0:4*$1F+3];
    zbyte:=mem[segcg:ofscg];
Ist das umwandeln eines 8x8-Zeichens, wie Flocke schon sagte.

Delphi-Quellcode:
for sp := 0 to 7 do
      begin {Jedes Bit durchlaufen}
        if (zbyte and zpot) = zpot then
        begin {Falls Bit gesetzt dann Punkt speichern}
          inc(punkte); {Punktanzahl um eins erhöhen}
          p[punkte, 1] := wortx + abstand * bnr + sp * breite / 8;
            {=Objektbeginn+ Zeichenabstand*
          Zeichen + Punktnummer*Zeichenbreite/8
          (8 Punkte pro Zeichenzeile)}
          p[punkte, 2] := worty + r * hoehe / 8;
            {Objektbeginn + Pixelreihe* Höhe/8}
          p[punkte, 3] := entf + staffelung * bnr;
            {Abstand in z-Richtung + Staffelung
          end;
          zpot:=zpot div 2; {Einser in Binärzahl rückt um 1 Stelle nach rechts}
        end;
Das ist wohl der wichtigste Teil der Procedur. Ich würde es auch so machen wie Flocke das vorgeschlagen hat. Zur Not kann man sich ja auch mit einem 8x8-Font wie zB. Terminal behelfen den man sich mit OutText auf den Canvas zeichnet und dan die Pixel einliest.

JamesTKirk 9. Dez 2005 15:01

Re: mem aus TurboPascal
 
Genau die Facharbeit meinte ich :shock:

@tomsel:
Falls du noch nicht nachgeschaut hast: Aus den Pixeln und einer Entfernung wird das Interferenzmuster berechnet... dieses muss dann abfotografiert und der Film (vorzugsweise schwarz/weiß) dann zu einem Dia entwickelt werden. Dieses kann man dann mit einem Laser (Laserpointer genügt angeblich auch) bestrahlen und man erhält ein (primitives) Hologramm... zumindest laut Autor und einigen anderen Internetquellen. :?

tomsel 9. Dez 2005 19:13

Re: mem aus TurboPascal
 
ob das klappt? ein normales dia durfte kaum ausreichende auflösung bieten. dazu braucht man spezielles, holographie-material. außerdem brauchst du einen optischen tisch, der absolut stabil und erschütterungsfrei laser, eine streulinse und das hologramm aufnimmt. na ja, vielleicht geht es dir auch nur um die programmierung.

gruß
tomsel

JamesTKirk 10. Dez 2005 14:11

Re: mem aus TurboPascal
 
Naja, sowohl dieser Autor, als auch andere hatten auf diese Weise schon Erfolg. Die so entstehenden Holgramme sind zwar nicht so gut, wie Hologramme auf Spezialfilmen/-platten, aber sie funktionieren laut diesen Leuten...

Mir ging es eigentlich weniger ums programmieren, sondern um den Geschwindigkeitstest :-D

Hansa 10. Dez 2005 15:30

Re: mem aus TurboPascal
 
Geschwindigkeitstest ? Wozu das ? :shock: Habe auch größte Bedenken ein Hologramm mit einem Dia zu machen. Das geht nämlich nicht. Weil das hier angesprochene "Hologramm" überhaupt keins ist ! :lol:

Bei der angesprochenen Geschichte handelt es sich lediglich um eine räumliche Darstellung, siehe 3D Brille. Um ein Hologramm kann man aber auch herumgehen und es von der Seite betrachten (ohne Brille). mit einem auf Dia abfotografierten S/W Bild ist das nun mal nicht hinzukriegen. Wie so etwas aber aussehen könnte, das ist bisher nur auf dem Holodeck der Enterprise zu sehen. :mrgreen:

tomsel 10. Dez 2005 17:50

Re: mem aus TurboPascal
 
Zitat:

Um ein Hologramm kann man aber auch herumgehen und es von der Seite betrachten (ohne Brille). mit einem auf Dia abfotografierten S/W Bild ist das nun mal nicht hinzukriegen. Wie so etwas aber aussehen könnte, das ist bisher nur auf dem Holodeck der Enterprise zu sehen.
da wir nun eh schon das Thema gewechselt haben, noch ein kleiner Exkurs:
Das geht schon. Ein solches Hologramm ist nichts Anderes als das auf Film aufgezeichnete Interferenzmuster des vom Objekt reflektierten Lichtes. Es gibt jedoch auch computergenerierte Hologramme, die nach dem gleichen Prinzip funktionieren, aber eben kein reales Objekt zur Grundlage haben. Sichtbar macht man es z. Bsp. durch Be- oder Durchleuchtung mit einem aufgeweiteten Laserstrahl, wobei durch Beugung des Lasers im Interferenzmuster die Original-Wellenfront des Objektes wieder hergestellt wird. Die Qualität hängt dabei von vielen Faktoren ab. Herumgehen kann man übrigens um kein Hologramm, auch nicht um die hochwertigsten Laser-Transmissionshologramme. Das erreicht man nur durch die Kombination hunderter Einzelhologramme, aber auch nur einigermaßen gut.

Gruß
tomsel


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz