Satimage 戻る| 次へ
ConvexPoly osax
SmileLab >のための ホームページ > 情報センター > Onlineドキュメンテーション > Data想像 >Extensionsは ConvexPoly osax ツですか?/長さ> ツ?/長さ> ダウンロード
ConvexPoly osaxはミシェルDuneauさん、CPHT、Ecole Polytechnique、パレゾーフランスの儀礼上利用可能です。
クリックして、 ConvexPoly osaxのDictionaryを見てください。
ConvexPoly osaxは3-dの凸状多面体を計算して、操って、表示するためのコマンドを提供します。
  • 任意の多面体
  • 5つのPlatonic固体
  • 13のアルキメデスの固体
  • 13のカタロニアの固体
  • 多面体の2-d映像の実現
  • 企みの3-dの凸状多面体のためのライブラリを含んでいます。
ConvexPoly.osaxを使用します。
スクリプトエディタでConvexPoly.osax辞書を開くことができます。 辞書は飛行機(半分空間)や多面体などの様々な物のすべての利用可能なコマンドと定義を表示します。 以下を実行することによって、内蔵の多面体を得ます。
セット、ポリー、 5へのプラトニックな多面体2 -- 1。 5つのPlatonic固体。
セット、ポリー、 13へのarchimedean多面体2 -- 1。 13のアルキメデスの固体。
セット、ポリー、 13へのカタロニアの多面体2 -- 1。 アルキメデスの固体のduals。
これらのコマンドは多面体について説明する記録を返します(以下を見てください)。

プラトニックな固体は番号付です:
1つの立方体、2八面体、3 4面体、4 20面体、5 12面体。

アルキメデスの固体は番号付です:
1 CubeOctahedron、2のすばらしいRhombicosidodecahedron、3のすばらしいRhombicuboctahedron、4Icosidodecahedron、5の小さいRhombicosidodecahedron、6の小さいRhombicuboctahedron、7は立方体の鼻をへし折ります、8肘鉄砲の12面体、9の端が欠けている立方体、10の端が欠けている12面体、11の端が欠けている20面体、12の端が欠けている八面体、13の端が欠けている4面体。

カタロニアの固体は番号付です:
1つのひし形の12面体、2Disdyakis Triacontahedron、3Disdyakis12面体、4のひし形のTriacontahedron、5Deltoidal Hexecontahedron、6Deltoidal Icositetrahedron、7の五角形のIcositetrahedron、8の五角形のHexecontahedron、9Triakis八面体、10Triakis20面体、11Pentakis12面体、12Tetrakis六面体(13Triakis4面体)。

プラトニックでアルキメデスの多面体は起源で中心に置かれた半径 スケールの球で記されます。 カタロニアの固体は同じ球に接しています。 任意のパラメタ スケールは、 100をデフォルトとして、座標が窓の図面かいかなる他の目的にも適するようになるのに使用されるかもしれません。 例えば:
セット、ポリー、プラトニックな多面体2 --、Octahedron
ツ??i>--ツ?飛行機リスト:、標準: -0.57735026919、-0.57735026919、-0.57735026919が57.735026918963に以下をcstして、標準: -0.57735026919、-0.57735026919、0.57735026919が57.735026918963に以下をcstして、標準: -0.57735026919、0.57735026919、-0.57735026919が57.735026918963に以下をcstして、標準: -0.57735026919、0.57735026919、0.57735026919が57.735026918963に以下をcstして、標準: 0.57735026919、-0.57735026919、-0.57735026919が57.735026918963に以下をcstする、標準:、0.57735026919、-0.57735026919、0;
物の 多面体は飛行機のリスト、頭頂のリスト、および一面のリストを含んでいます。 飛行機は 標準cstを含んでいます。 それはそのようなポイントxのcst、および半空間がnormal.x竕で定義した拡大によるそのnormal.x=cstのセットを定義します。 例えば:
セット、ポリー、プラトニックな多面体2は1をスケーリングします。
飛行機の項目1へのセットpが記載する、ポリー
ツ??i>--ツ?標準: -0.57735026919、-0.57735026919、cst: 0.57735026919の-0.57735026919
pの標準
ツ??i>--ツ?-0.57735026919, -0.57735026919, -0.57735026919}
pのcst
ツ??i>--ツ?.57735026919
以下の通り頭頂を得ます:
セット、ポリー、プラトニックな多面体2
頂点の項目1が記載する、ポリー
ツ??i>--ツ?0.0, 0.0, 100.0}
以下の通り一面を得ます:
セット、ポリー、プラトニックな多面体2
一面の項目1が記載する、ポリー
ツ??i>--ツ?5, 4, 6}
この一面が 頂点リストの項目5、4、および6によって作られた三角形である、ポリー すなわち、 一面の項目5が、一面による命令されているのが、飛行機と同じ道であるということであると記載する、ポリー、一面が 飛行機の飛行機の品目5が記載するコネを含んだ、ポリー

あなたは、頭頂のリストか飛行機のリストを提供することによって、あなた自身の多面体を構成することができます。 例えば、あなたはこれらの頭頂の凸包を得るために頭頂のリストを提供します:
vlistを設定する、0、0、0、1、0、0、0、1、0、0、0、1、 --、シンプレクス
セット、ポリー、頭頂vlistがある凸多面体
ツ??i>--ツ?飛行機リスト: 標準: 0.57735026919、0.57735026919、0.57735026919は0.57735026919に以下をcstして、標準: -1.0、0.0、0.0は0.0に以下をcstして、標準: 0.0、-1.0、0.0は0.0に以下をcstして、標準: 0.0、0.0、-1.0は0.0に以下をcstします、頂点リスト:、0.0、0.0、0.0、1.0、0.0、0.0、0.0、1.0、0.0、0.0、0.0、1.0、一面が以下を記載する、3、2、4、1、3、4、2、1、4、1、2、3
または、あなたはこれらの半分空間についてもしあるならば交差点を得るために飛行機(半分空間)のリストを提供します:
plistを設定します。標準: 0.0、0.0、-1.0は0.0に以下をcstして、標準: 0.0、-1.0、0.0は0.0に以下をcstして、標準: -1.0、0.0、0.0は0.0に以下をcstして、標準: 0.57735026919、0.57735026919、0.57735026919は0.57735026919に以下をcstします。
セット、ポリー、飛行機plistがある凸多面体
ツ??i>--ツ?飛行機リスト: 標準: 0.0、0.0、-1.0は0.0に以下をcstして、標準: 0.0、-1.0、0.0は0.0に以下をcstして、標準: -1.0、0.0、0.0は0.0に以下をcstして、標準: 0.57735026919、0.57735026919、0.57735026919は0.57735026919に以下をcstします、頂点リスト:、0.0、0.0、1.0、0.0、1.0、0.0、1.0、0.0、0.0、0.0、0.0、0.0、一面が以下を記載する、3、2、4、1、3、4、2、1、4、1、2、3
または、その 頂点が記載するのに気付く、ポリーリストを平らにする、ポリー、提供されたデータが矛盾しているなら、空であるかもしれなくなってください。

多面体は、回転して、翻訳されて、スケーリングされるかもしれません。 例えば:
セット、ポリー、プラトニックな多面体1
セット、ポリー、0、0、1が傾ける多面体ポリー軸のパイ/2を回転させてください。
セット、ポリー、多面体ポリーベクトルを翻訳してください。{0, 0, 100}
セット、ポリー、多面体ポリースケール1/100をスケーリングしてください。
凸状多面体の交差点は凸多面体です。 以下の通りそれを得るかもしれません:
プラトニックな多面体1にpoly1を設定してください。
プラトニックな多面体2にpoly2を設定してください。
プラトニックな多面体3にpoly3を設定してください。
poly123に交差するように設定してください、多面体poly1、poly2、poly3
あなたは、 project2Dを使用することで多面体の2D映像を得ることができます。 project2Dの直接目的語は、多面体か頭頂のリストです。 そして、必要なパラメタが 目の位置、例えば、 0、1、0である、 のベクトル、例えば、 0、0、1。 例えば:
セット、ポリー、プラトニックな多面体1は100をスケーリングします。
project2Dポリー目へのpoly2Dが3、2、1を置くセット{0, 0, 1}
ツ??i>--ツ?一面リスト:、1、2、3、4、5、6、2、1、1、4、7、5、縁が以下を記載する、1、2、2、3、3、4、4、1、5、6、6、2、1、5、4、7、7、5、頂点が以下を記載する、16.012815380509、34.236839400873、80.064076902544、59.914468951528、-16.012815380509、77.032888651964、-80.064076902544、51.35525910131、16.012815380509、-77.032888651964、80.064076902544、-51.35525910131、-80.064076902544、-59.914468951528
poly2D頂点リストは2Dベクトルです、そして、 一面リストは目に見える一面のリストを含んでいます。 あなたは、2論理演算子が任意の project2Dがパラメタ 飛行機であって されると言うことができます。 また、 飛行機で、 poly2Dは目に見える飛行機のリストを含んでいます; されることで、 poly2Dは隠された一面の追加リスト 隠された一面リストと隠された飛行機の( 飛行機であって されるのがある)リストの 隠された飛行機リストを含んでいます。
凸状多面体を見ます。
スクリプトエディタ Smileはあなたがグラフィック窓を容易に作成することができるGraphic KernelやPDFの幾何学上データがフォーマットする表示などの拡大を含んでいます。 以下のスクリプトはプラトニックな多面体を表示します。
セット、ポリー、プラトニックな多面体4スケール150ツ?i>--20面体
project2Dポリー目へのpoly2Dが2、2、1を置くセット{0, 0, 1}
BeginFigureにwを設定してください。(0)
SetTransformation(1、0、0、1、200、200) --窓の図面を中心に置いてください。
poly2Dの一面リストの中にfがある状態で、繰り返してください。
ツ????lをetします。{}
ツ????iがfにあるepeat
ツ????????poly2Dの頂点リストの項目iへのlのetエンド
ツ????第反復
ツ????oveTo(lの項目1)
ツ????ineTo(l)
ツ????losePath()
終わりの反復
SetFillColor({0.7, 0.7, 0.7})
DrawPath(3)
EndFigure()
名前へのwの名前を設定する、ポリー
より多くの例のためのサンプルを見てください。
Samplesフォルダーは凸polyhedonを描くのを助ける対話 Display多面体を含んでいます。
参照を使用します。
上のセクションでは、あなたはタイプ 多面体に関する記録として多面体を得ます。 あなたが同じ多面体でさらなる計算を求めるなら、記録を内部の使用のために多面体について再計算する ConvexPoly.osaxに送ります。 交互に、あなたは 多面体参照としてコマンドで多面体を求めることができます。
セット、ポリー、多面体参照としてのプラトニックな多面体1
その場合、内部の表現、 ポリー、メモリにそれが計算を促進するそうを保つ、 ポリー、計算を必要としてくださいというだろう。 これはあなたのスクリプトを早くするかもしれません。 あなたは記録的な表現を得ることができます。
polyrecordを設定する、ポリー、多面体
あなたが ポリーそれ以上あなたを使用しないなら使用されていた状態でメモリを解放するために以下のコマンドを走らせるべきである、 ポリー、:
多面体を削除してください、ポリー
Prテゥcテゥへこみ| Suivant
Copyrightツゥ2005パリ、Satimage
tr> Copyrightツゥ2005パリ、Satimage