1
多角形を別の多角形の内側にパックする方法は?
エッジを縫い合わせてジャグリングボールを作りたい革シートをいくつか注文しました。ボールの形状にプラトンの立体を使用しています。 革のシートをスキャンして、革のシートの形状に近いポリゴンを生成できます(ご存知のように、動物の皮であり、長方形ではありません)。 それで、ジャグリングボールのサイズを最大化したいと思います。 私の例では、ポリゴンは通常のものですが、単純なポリゴンを使用したソリューションを探しています。 すべてがシート内に収まるようにポリゴンに適用できる最大のスケールファクターは何ですか? できるだけ多くの材料を使用して、無駄を最小限に抑えようとしています。 明らかに、多面体ネットを個々の多角形にカットすると、可能な組み合わせのスペースが増加しますが、最終的なジオメトリの品質も低下します。これは、縫製が多く、エラーが蓄積されるためです。しかし、この質問は、多面体を展開するさまざまな方法を列挙することではありません。それらは独立して考えることができます。したがって、ポリゴンは単純なポリゴンです。 正式に: 入力: PPP:単純なポリゴン(ターゲット) SSS:配置したいポリゴンのセット GGG:単純なポリゴンのグラフ-各ノードは単純なポリゴンを表し、共通のエッジを共有するポリゴンの各ペア間に1つのエッジエッジがあります SnnnSSS α>=0,β>=0α>=0,β>=0\alpha >= 0, \beta >= 0(素材と接続性の使用) 出力: スケール係数fff HHH、部分グラフGGG LocLocLoc:各ポリゴンの位置と角度V(G)V(G)V(G) 解の品質尺度:M = α 。F + β 。| E (H )|mmmm=α.f+β.|E(H)||E(G)|m=α.f+β.|E(H)||E(G)| m = \alpha.f + \beta. {|E(H)|\over|E(G)|} 次の条件に従って最大化します。mmm |V(H)|=|V(G)||V(H)|=|V(G)| | V(H) | = |V(G)| (1) |E(H)|<=|E(G)||E(H)|<=|E(G)| | E(H) …