古いアプリの1つをvb6からc#に更新していますが、その過程で、元のプログラマーが設計したカスタムコントロールを再作成する必要があります。コントロールは、長方形または円錐形のオブジェクトの寸法を取得し、オブジェクトのアウトラインスケッチを3D(技術的には2.5Dだと思います)に配置しました。もちろん、コントロールまたはアルゴリズムのコードはどこにもありません。
これについて前もって何も知らなかったので、視点を除いてほとんどすべてが複製されました。私はここで別の答えで見つけたこのコードを使用しています。
}
double w = 400;
double h = 250;
double t = 0.6; // tilt angle
double X = w / 2 - x;
double Y = h / 2 - y;
double a = h / (h + Y * Math.Sin(t));
double u = a * X + w / 2;
double v = a * Y * Math.Cos(t) + h / 2;
}
最後に助けが必要なのは、視点を左から右に約30度回転させることなので、真っ直ぐ見ているわけではありません。
助けてくれてありがとう。