uZion
Even the smartest computer on earth would make a dog seems brilliant by comparison!
Hoi Co's
Ja precies, draaiende 3D kubus op grafische display. Ik denk dat sommigen hier het al heeft gedaan. Mijn vraag is welke tools heb je nodig om dat te doen op een AVR of een 8051.
stecj366
Sonar is meer dan Ping...
Een C-compiler en een krachtige AVR/8051 met een grafisch LCD aan gekoppeld?
De rest is puur software... Je hebt de acht hoekpunten van de kubus in wereld coördinaten gegeven. Deze ga je dan rond een gekozen punt roteren, hiervoor kan je een rotatiematrix opstellen (dat gaan er drie zijn, rond X, Y en Z in het meest complexe geval).
Je voert de rotatie uit door een matrix vermenigvuldiging, je berekent de projectie van de acht punten op een bepaald vlak in de ruimte (dit is je scherm, het LCD dus), herrekent de schermcoordinaten naar pixels, tekent de acht punten en verbind de juiste punten met een lijn, bijvoorbeeld met het Bresenham algoritme.
Als je de kubus er "solide" uit wil laten zien (ipv een wireframe), kun je nog backface culling toepassen:
Na de transformatie, bereken je van elk zijvlak van de normaalvector. Als de Z-waarde positief is (natuurlijk afhankelijk van hoe je coordinaten stelsel is gedefinieerd), wijst het vlak van je af en hoef je 'm niet te tekenen.
[Bericht gewijzigd door KaRaMBa op (12%)]
uZion
Even the smartest computer on earth would make a dog seems brilliant by comparison!
Die Bresenham algoritme, ik weet wel wat het is, maar dat moet ik misschien gaan bestuderen om het in de uC te krijgen.
Als ik de programma in Ass schrijft wordt het complexer of zal het hetzelfde zijn vs C.
[Bericht gewijzigd door uZion op (27%)]
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
stecj366
Sonar is meer dan Ping...
En het zal ook een pak overzichtelijker zijn dan in assembler
[Bericht gewijzigd door stecj366 op (21%)]
Squant
A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."
Hangt van een paar dingen af:
display, mono of kleur?
Solid of draadmodel?
Wat voor intelligentie heeft het display aan boord?
Ik heb zelf iets gemaakt met een ATmega32 en een grafisch display (64 bij 128 pixels) met on board geheugen:
Hier heb je hem in het groot.
De code was betrekkelijk simpel.
Punten van de kubus definiëren in 3d ruimte. Ribben definieeren. Roteren van de punten. Punten transformeren van 3d naar 2d. Lijnstukken tekenen tussen de getransformeerde punten.
Als je met polygonen aan de slag wil, moet je polygoon teken routine maken. Polygonen sorteren op diepte. Tekenen van achter naar voor.
edit: het was een andere controller
Mag ik die code eens zien Squant? Geen zorgen, ik ga hem niet gebruiken. 
Ik heb de theorie achter deze stof op school bij een wiskude vak gehad, echter nooit toegepast.
Ik ben benieuwd hoe wat we geleerd hebben er in de praktijk uit ziet.
Squant
A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."
Hier heb je het, het is behoorlijk lelijk, amper comments. Dus vragen komen geheid, het is totaal niet optimaal, met floating point etc, het was meer als een testje bedoeld.
http://bart.lambonet.com/hostables/atmega32gfx.c
Je mag het gerust gebruiken, heb dit al lang geleden gemaakt een keer voor de PC omstreeks 1995 ofzo (daarna naar AVR geport), om mezelf demo programmeren aan te leren.
edit: typo plus gebruik.
[Bericht gewijzigd door Squant op (30%)]