![]() |
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:
Wenn ich das richtig verstehe, dann wandelt die Routine einfach den String "wort" in Einzelpunkte (Pixel), deren Koordinaten in dem Array "p" gespeichert werden.
.XXXXX..
XX...XX. XX...XX. XXXXXXX. XX...XX. XX...XX. XX...XX. ........ Wenn du das unter Windows nachbildest, dann kannst du es ggf. durch eine einfache Textausgabe in den Canvas ersetzen. |
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 |
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? |
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
![]() |
Re: mem aus TurboPascal
Liste der Anhänge anzeigen (Anzahl: 1)
ich denke mal es geht um das hier:
![]()
Delphi-Quellcode:
und
segcg: word=$F000; ofscg: word=$FA6E;
Delphi-Quellcode:
Ist das umwandeln eines 8x8-Zeichens, wie Flocke schon sagte.
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];
Delphi-Quellcode:
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.
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; |
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. :? |
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 |
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 |
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: |
Re: mem aus TurboPascal
Zitat:
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. |
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