タグ

ブックマーク / qiita.com/Go-zen-chu (6)

  • Perspectiveで簡単WPF3Dモデリング!2 - Qiita

    3Dモデリングの基は三角形ということで、今回は三角形を描画しようと思います。 その前に注意点ですが、前回描画した軸を見ますと、左下方向にx軸、上方向に y軸、右下方向に z軸 が伸びているのが分かります。数学で習う軸の向きとはやや異なるため、注意が必要です。 まずは三角形ですが、以下のコードで描画を行います(MainWindow.xamlは前回と同じ)。 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); axis3DViewport.Children.Add(new XyzAxis3D() { Length = 4, Radius = 0.03 }); var triangle = CreateTriangleModel(new Point3D(0, 1, 0),

    Perspectiveで簡単WPF3Dモデリング!2 - Qiita
    kasumani
    kasumani 2014/08/28
    Perspectiveで簡単WPF3Dモデリング!2 3Dモデリングの基本は三角形ということで、今回は三角形を描画しようと思います。 その前に注意点ですが、前回描画した軸を見ますと、左下方向にx軸、上方向に y軸、右下方向に z軸 が伸
  • Perspectiveで簡単WPF3Dモデリング!3 - Qiita

    前回、三角形を描画したので、これを組み合わせて、平面と直方体を描画します。 MainWindow.csに以下のコードを追加してください。 // p0 -> p1 -> p2 -> p3 に対し、右ねじの方向に四角形を表示する public static Model3DGroup CreatePlaneModel(Point3D p0, Point3D p1, Point3D p2, Point3D p3, SolidColorBrush brush = null) { var plane = new Model3DGroup(); plane.Children.Add(CreateTriangleModel(p0, p1, p3, brush)); plane.Children.Add(CreateTriangleModel(p2, p3, p1, brush)); return plan

    Perspectiveで簡単WPF3Dモデリング!3 - Qiita
    kasumani
    kasumani 2014/08/28
    Perspectiveで簡単WPF3Dモデリング!3 前回、三角形を描画したので、これを組み合わせて、平面と直方体を描画します。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket August 28, 2014 at 04:48PM via IFTTT
  • Perspectiveで簡単WPF3Dモデリング!4 - Qiita

    public static Spherical3D CreateSphereModel(Point3D centerPoint, SolidColorBrush brush = null, double radius = 1) { var sphere = new Spherical3D() { Material = new DiffuseMaterial(brush != null ? brush : Brushes.Red) }; sphere = TranslateSphere(sphere, centerPoint, radius); return sphere; } // Translate sphere to specified position and size public static Spherical3D TranslateSphere(Spherical3D sph

    Perspectiveで簡単WPF3Dモデリング!4 - Qiita
    kasumani
    kasumani 2014/08/28
    Perspectiveで簡単WPF3Dモデリング!4 ではいよいよ、球体を描画しましょう。MainWindow.csに以下のコードを追加してください。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket August 28, 2014 at 04:48PM via IFTTT
  • [C#4.0以降] unboxingとcastが同時にできない問題を回避する方法 - Qiita

    object obj = (object)10; // intからobjectにup-cast int intValue = (int)obj; // unboxing, down-cast, 例外は発生しない byte byteValue = (byte)(object)10; // InValidCast例外, int -> object -> byte double doubleValue = (double)(object)10; // InValidCast例外, int -> object -> double T returnZero<T>(){ return (T)(object)0; // InValidCast例外 int -> object -> T } var byteValue = returnZero<byte>(); var doubleValue = retu

    [C#4.0以降] unboxingとcastが同時にできない問題を回避する方法 - Qiita
    kasumani
    kasumani 2014/05/04
    unboxingとcastが同時にできない問題を回避する方法 静的型付け言語のC#では、unboxing(up-castした型から元の型にdown-castする) あまり良い方法ではないのですが、C#4.0から導入されたdynamicを用いると、この問題を回避できます
  • [Visual Studio] ProjectFolderへのパスを簡単に取得する方法 - Qiita

    プロジェクトの中に静的ファイルとしてjsonなどのデータを含めた場合、実行ファイルがそれらのファイルにアクセスする際の相対パスがややこしくなります。 よくある例が、ビルドの構成でデフォルトでは ProjectFolderPath/bin/Debug/MyApp.exe に実行ファイルが生成されるのに対し、プラットフォームをx64などにすると、 ProjectFolderPath/bin/ x64 /Debug/MyApp.exe に実行ファイルが生成されます。この場合、 と定義しても、ビルドの構成を変えたときに正しく静的ファイルにアクセスすることができません。 しかし、Enivironmentクラスを見てもProjectFolderへのパスを取得できなさそうです。 そこで、ビルド前にコマンドを実行し、ProjectFolderのパスをファイルとして出力するようにします。 1.まずはプロジェ

    [Visual Studio] ProjectFolderへのパスを簡単に取得する方法 - Qiita
    kasumani
    kasumani 2014/05/04
    ProjectFolderへのパスを簡単に取得する方法 プロジェクトの中に静的ファイルとしてjsonなどのデータを含めた場合、実行ファイルがそれらのファイルにアクセスする際の相対パスがややこしくなります。 よくある例が、ビル
  • pythonのargparseテンプレート - Qiita

    python v2.7にはargparseという引数設定を簡単にするモジュールがあります。 これを使うと、pythonスクリプトが簡単にできるので、テンプレートを載せておきます。 # coding:utf-8 import argparse if __name__ == '__main__': parser = argparse.ArgumentParser(description='description') parser.add_argument('arg1', type=int, help='integer argument') parser.add_argument('arg2', type=str, help='string argument') # -aや--allが指定されれば True, なければ False が args.all に格納される parser.add_arg

    pythonのargparseテンプレート - Qiita
    kasumani
    kasumani 2014/04/10
    pythonのargparseテンプレート python v2.7にはargparseという引数設定を簡単にするモジュールがあります。 これを使うと、pythonスクリプトが簡単にできるので、テンプレートを載せておきます。 Tags: ifttt, kasumaniのストックした投稿
  • 1