ブログ記事127件
【障害者クリエイターズバンク求人紹介】正社員の募集です!株式会社彩ユニオン事業内容:マネキン・ディスプレイ什器・演出造型物・環境商材・照明・サイン等の製造・販売・レンタル店舗企画・設計・施工監理その他空間の総合プロデュースサービス業務内容:デザイン職「商業デザインのプロフェッショナル」として、百貨店・商業施設の店舗設計、ウィンドウディスプレイ、ポップアップ、販売促進、展示会・イベントブース、アパレル服装品店舗等の幅広い商空間について、VMD提案・ディスプレイデザインを行って
こんなデータ作ってたら右手が疲れました。右肩もか苦笑クロックスクラシックCROCSサンダルメンズレディースブラック黒ホワイト白CLASSIC10001シューズ靴クロッグサンダルブランドアウトドアレジャー大きいサイズ定番人気くろっくす売れ筋履きやすい楽天市場\楽天最安値に挑戦中!/クロックスクロックバンドCROCSサンダルメンズレディースブラック黒ホワイト白ネイビー紺パープルCROCBAND11016シ
ガイドブックの出版や企業への導入教育、パーツやパースの案件対応など数限りなくお世話になっている株式会社アイプラフさん。https://www.aiprah.co.jp/わたしよりも3Dソフトに詳しい社長の藁谷さんにお聞きしている第三回は、他のCADとメガソフト3Dデザイナーシリーズの違いや、躯体入力の「考え方」について聞きました。メガソフト3Dデザイナーシリーズと他のCADとの違いや、躯体入力の大切さをアイプラフ藁谷社長に聞いてみた!ガイドブックの出版や企業への導入教育、パーツやパー
【障害者クリエイターズバンク求人紹介】正社員の募集です!株式会社シミズオクト事業内容:プロ野球・Jリーグ・スポーツ・コンサート他イべン卜会場の運営管理・警備企画・実施、コンサート舞台美術やイべント・コンべンション等の会場設営の企画・設計・製作・施工、ビル総合管理業務内容:イベント会場のデザイン・設計イベントブースや会場全体の空間デザインや設計全般●デザイン例・大手メーカーの新商品発表会・各種企業のPRイベント、周年式典・スポーツイベントのスポンサーブース・ゲームメ
3秒あたりで「隙あらば円弧」の性質があらわになります。でもこれで正しい挙動なのです、たぶん。
多角形から曲線(円弧補間(6点))を生成するスクリプトはほぼ完成しました。今のところおかしな挙動はありません。
今は多角形から曲線(円弧補間(6点))を生成するスクリプトをデバッグ中ですが、条件が良ければ使えます。上から順にキュービック・スプライン、自然スプライン、円弧補間(4点)、円弧補間(6点)で、頂点数は200〜300です。右側は曲率のグラフです。円弧補間は曲率のピークが低いことが分かります。曲線を車の軌跡と考えたら、グラフの横軸は走行距離で縦軸はハンドルの回転角を表します。この曲線は半時計回りなので左ハンドルを切っていることになります。キュービック・スプラインは曲率の変化が激しい。右
多角形から曲線(円弧補間(4点))を生成するスクリプトですが、まだバグがありました。辺の中心と円弧の中心が極めて近いとき、円弧の半径が極端に大きいとき、曲率が逆転する点と頂点が極めて近いときに問題が起きる可能性がありました。また、2つの角度の中間のを求めるときに工夫しないと180°違ったりします。前回の投稿の件は円弧になるほうが正解です。分かりやすいように始点と終点を少しずらしてみました。曲率の変化が少なくなる性質があるので油断すれば円弧に近い曲線になるのです。
多角形から曲線(円弧補間(4点))を生成するスクリプトはまだバグが取れません。上段の真ん中のケースが、場合によって1→4→2→3→1→4を通る円弧(円弧角450°)になります。
多角形から曲線(円弧補間(4点))を生成するスクリプトの修正版です。設定した誤差以下になるか、頂点数が16000を超えるまで最大20回2分割を繰り返します。10回程度なら一瞬ですが、1回ごとに頂点数が倍々で増えて行くので20回繰り返すと最大十数秒かかります(VW2015デモ版にて)。注意:このスクリプトにはバグがあります。procedurePolyToCurve;{選択した多角形から曲線を作る(放物線補間(4点、2等分法))}{$DEBUG}label999,100
多角形から曲線(円弧補間(4点))を生成するスクリプトです。閉じた多角形を選択すれば閉じた曲線になります。円弧補間(4点)の曲線がどのようなものかは、前の投稿をご覧下さい。注意:以下のスクリプトにはバグが多数あります。procedurePolyToCurve;{選択した多角形から曲線を作る(放物線補間(4点、2等分法))}{$DEBUG}label999,1000;constPolygonObj=5;nL=5;typePointImfo=str
各種曲線の曲率半径を比べてみます。3点を通る円弧の中心と真ん中の点を結んだものなので本当の曲率半径ではありませんが、それに近いものです。自然スプライン補間自然スプライン補間(2分割法)普通の方法と2分割法のどちらが良いとは言えません。どちらにしろ自然スプライン補間は元の多角形の頂点付近で曲率が大きく(曲率半径が小さく)なることが分かります。円弧補間(4点、2分割法)円弧補間(4点、2分割法)では逆に頂点付近の曲率が小さくなります。曲率の変化は自然スプライン補間より少ないです
放物線補間(6点)ではスムーズな曲線グラフにならないのはわかりました。そこで放物線補間(4点)でやったように、区間の中間の値だけ採用して頂点の数を倍々と増やしてみます。proceduretest;{放物線(2分割法,6点)}{$DEBUG}constnL=6;varh,hp:handle;i,j,n:integer;x,y,x1,y1,x2,y2:real;{$INCLUDE:vs_subroutins:If.vss}{$INCLUD
放物線補間(6点)で折れ線グラフを曲線グラフにしてみました。proceduretest;{放物線(6点)}{$DEBUG}varh,hs:handle;i,n:integer;x,y,x1,y1,x2,y2:real;{$INCLUDE:vs_subroutins:If.vss}{$INCLUDE:vs_subroutins:Large.vss}{$INCLUDE:vs_subroutins:SwapByOrder.vss}{$INCLUD
皆さんこんにちは東京支店より、お送りします。以前のブログ(9/6)の続きになります。今回で、Fusion360ネタは、ひとまず終了となります(笑)前回の最後に予告したとおり、今回はポリゴンデータの活用について紹介します。弊社では、LEICA社のBLK360で測量した点群データを工事提案・設計に使用する試みを行っています。Fusion360には、点群データ(.e57など)を直接取り込むことができないため、通常は編集用ソフトで編集したデータを3DCAD「VECTORWOR
グラフを補間する関数InterpolationByGraphを改造しました。直線補間、放物線補間(4点)、放物線補間(6点)の3種類から選べます。放物線補間(4点)は前回の投稿で使いました。放物線補間(6点)は下のように対象区間の外の放物線の接線から生成した放物線で補正します。補正なので重みを1/4にしています。functionInterpolationByGraph(h:handle;x:real;opt:integer):real;{2022/10/29
前回の続きです。区間の境界でグラフが折れてしまうのは、区間ごとに異なる方程式で曲線を描いているからです。一方、自然スプライン補間では隣り合う区間の曲線がなだらかに接続する方程式を導き出します。しかしそっち方面はブログ主の能力を超えてしまって手を出せないので、別のアプローチを試みるしかありません。そこで考え出したのは、区間の真ん中の値だけを採用して多角形の頂点を倍にするのを繰り返す方法です。元の多角形の頂点の数をN、繰り返し回数をTとすれば、生成される多角形の頂点数は1+(N-
前回の補間関数で折れ線グラフを補間してみました。proceduretest;{$DEBUG}varh,hs:handle;i,n:integer;x,x1,x2,y:real;{$INCLUDE:vs_subroutins:If.vss}{$INCLUDE:vs_subroutins:Large.vss}{$INCLUDE:vs_subroutins:SwapByOrder.vss}{$INCLUDE:vs_subroutins:compound
曲線グラフから値を読み取る関数です。曲線グラフは多角形のハンドルとして受け取ります。optが1の場合はxを挟む2点間で直線補間を行います。optが2の場合はxを挟む4点間で2パターンの放物線補間を行なって平均値を返します。functionInterpolationByGraph(h:handle;targetX:real;opt:integer):real;{グラフ(多角形)のXにおけるYを返すopt:補間法=1:直線補間/2:放物線補間}const
折れ線グラフ(多角形)のハンドルを受取って曲線グラフを描く関数です。点間の値を自然スプライン補間で計算して点数を増やした多角形を生成します。functionLineGraph2SplineGraph(hp:handle;dialog:boolean):handle;{自然スプライン補間}{折れ線グラフ(多角形)を補間して曲線グラフを作るdialogがfalseで設定値が保存されているときは補間間隔設定ダイアログを表示しない}ConstMaxVertNum
複数のデータを曲線で繋いでグラフにするとき、キュービック・スプラインだと曲線が激しく振動する場合があります。そういう場合も自然スプライン補間だとスムーズな曲線が得られます。というわけで今回は自然スプライン補間です。複数のXYデータとXの値をパラメータとしてYの値を返す関数です。データの数は決まっていないので多角形のハンドルで関数に渡します。functionSpline(hp:handle;x:real):real;{自然スプライン補間}{折れ線グラフ(多角形)
マニュアル等には載っていませんが、レイヤの根っこであるVectorWorksのファイルにもハンドルがあり、GetParent(レイヤハンドル)で得られます。ですから他のオブジェクトと同様にSetRecordでレコードを付加することが出来ます。Ver.11.5以前のバージョンではファイルを保存して開き直してもそのレコードは保持されます。それより後のバージョンでは確認していません。このレコードはどのスクリプトからもアクセス出来るので、グローバル変数のように使うことが出来ます。オブジェク
設定値をワークシートから参照する関数です。ワークシートが無い場合はダイアログで設定値を入力します。その際デフォルト値となるのはパラメータdefの値です。入力された値を元にワークシートを作成します。パラメータdialogの値がtrueのときは、必ず設定値変更用ダイアログが開きます。functionGetDefaultWS(name,fldName:string;def:real;dialog:boolean):real;{デフォルト値をワークシートから読み込む
前回は1つのファイルに1つの値を保存しましたが、今回は1つのファイルに複数の項目を保存する関数です。ファイルのフォーマットは1行に1項目で最大255行。項目名と値をタブで区切ります。書き換えた項目は先頭行になるようにします。255行を超える場合は最終行の項目が消されます。VectorScriptではファイルの一部を書き換えることは出来ないので、全行を配列に読み込んで処理した後で全てを書き出すことになります。functionGetDefaultTF2(name,fldName:s
前回の投稿の検証用スクリプトに、n:=IntDialog('分割数=','20');という行があります。スクリプトの実行中にここでダイアログが出てユーザーに値の入力を求めます。このとき毎回デフォルト値が20になるのですが、出来るなら前回の値を使用したいところです。スクリプトが終了すると変数も消えてしまうので、別のところに値を保存しておく必要があります。考えられるのはテキストファイル、ワークシート、レコードの3つです。テキストファイルの場合はVectorWorksのデー
3点を指定して放物線を描く関数です。functionQuadCurveBySME_V(pt1,pt2,pt3:vector):handle;{3点を指定して放物線を描き、ハンドルを返す(vector型)}varh,h2,k,t,xm,w,wd:real;p1,p2,p3,pm:vector;result:handle;beginp1:=pt1;p2:=pt2;p3:=pt3;SwapByOrderVx(p1,p2);Swap
3点間を通る放物線はベジェ曲線で描けます。下の図はx2がx1とx3のちょうど中間にある場合です。上の図の(x1,y1)から斜め下に降りているのが放物線の始点での接線です。その中間点がベジェ曲線の制御点になります。その点と(x3,y3)を結んだ線が終点での接線になります。つまり、h:=(y1+y3)/2-y2;OpenPoly;BeginPoly;AddPoint(x1,y1);CurveTo(x2,y2-h);AddPoint(x3,y3);
いくつかのデータがあるときに間の値を補間する関数です。データ間を結んでグラフにするときに使います。最初は一次補間です。2点間に直線を引いてYの値を求めます。functionInterpolationR(x1,y1,x2,y2,targetX:real):real;{2点を結んだ1次関数のXにおけるYを返す(1次補完)}beginInterpolationR:=y1+(y2-y1)*(targetX-x1)/(x2-x1);end;
VectorWorksで点を通る曲線と言えばキュービック・スプラインですが、振動が激しくて使えないことも多いんですよね。ですからスプライン曲線のスクリプトを書いて使ったりしてました。でも、どっちもブログ主の求める物とはちょっと違うと、ずっと思っておりました。ブログ主の求めるのは、簡単に言うと3点を通る曲線が円弧になるような補間法です。キュービック・スプライン自然スプライン理想の曲線これは独自のルールに従って、半日かけて作図しました。数学的な説明は出来ませんが、曲率の
円弧を描いてハンドルを返す手続きです。最初は、中心と(半径と)開始角と円弧角から円弧を描く関数です。標準手続きをそのまま呼び出しています。(*さまざまな条件で円弧を書きます。*)functionArcByCSA_R(xc,yc,rad,st,ang:real):handle;{開始角度と円弧角度を指定して円弧を描く(real型)}varresult:handle;beginif(rad>0)&(ang<>0)thenbegin