Ik werk momenteel aan een eenvoudige 3d-engine in Actionscript. Een afbeelding ter inleiding:

Ik wil op basis van een figuur (blauw) een 3d effect creëren door - met behulp van één verdwijnpunt (c) - het figuur nogmaals te tekenen (groen).
De coördinaten van blauw (t1-t4) zijn me bekend. Ook punt c is me bekend. Het tekenen van de oranje lijnen is geen probleem. Echter moet ik nu berekenen wat de waarden van de coördinaten van de punten b1-b4 zijn.
Ik ben al uren bezig met puzzelen, dus zeg niet dat ik geen moeite heb gedaan
Ik heb al een resultaat wat aardig correct is, maar er gaat nog iets mis.
Wat ik momenteel doe (per hoekpunt van blauw, dus viermaal):
- hoek berekenen tussen hoekpunt (bijv. t1) en c
- cos en sin uitrekenen van de hoek
- x en y waarden van t1 verhogen met cos*depth/sin*depth
Het probleem zit hem in de waarde van depth (denk ik). Ik snap niet goed hoe ik die waarde moet berekenen. Het is geen statisch getal, lijkt me. Als het blauwe vierkant dichter bij c komt, wordt de diepte minder. Kan iemand hier iets nuttigs over melden? Ik loop aardig vast. Dank alvast.

Ik wil op basis van een figuur (blauw) een 3d effect creëren door - met behulp van één verdwijnpunt (c) - het figuur nogmaals te tekenen (groen).
De coördinaten van blauw (t1-t4) zijn me bekend. Ook punt c is me bekend. Het tekenen van de oranje lijnen is geen probleem. Echter moet ik nu berekenen wat de waarden van de coördinaten van de punten b1-b4 zijn.
Ik ben al uren bezig met puzzelen, dus zeg niet dat ik geen moeite heb gedaan
Wat ik momenteel doe (per hoekpunt van blauw, dus viermaal):
- hoek berekenen tussen hoekpunt (bijv. t1) en c
- cos en sin uitrekenen van de hoek
- x en y waarden van t1 verhogen met cos*depth/sin*depth
Het probleem zit hem in de waarde van depth (denk ik). Ik snap niet goed hoe ik die waarde moet berekenen. Het is geen statisch getal, lijkt me. Als het blauwe vierkant dichter bij c komt, wordt de diepte minder. Kan iemand hier iets nuttigs over melden? Ik loop aardig vast. Dank alvast.