キャンバスに長方形を描画し、一点透視図法に基づいて側面を描画する単純な JavaScript を作成しようとしています。問題は、長方形の量とその配置が任意であるため、真の 3D 遠近法では発生しない方法で面が重なり合う傾向があることです。これが起こらないように、正しい描画順序を決定するにはどうすればよいですか?
ここに私が何を意味するかを説明するためのいくつかのスクリーンショットがあります:
スクリーンショット 1 - 間違った方法。この例では、赤、緑、青のブロックのグループが、描画方法とは逆の順序で描画されています。
スクリーンショット 2 - 正しい方法。これは、それが描かれるべき方法です。