TensorFlow Graphics : Intermediate Tutorials : 非剛体サーフェス (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 05/30/2019
* 本ページは、TensorFlow Graphics の github レポジトリの次のページを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
TensorFlow Graphics : Intermediate Tutorials : 非剛体サーフェス
非剛体サーフェス変形はとりわけ、メッシュを対話的に操作したりポイントクラウドに fit させるためにテンプレートメッシュを変形するために使用できるテクニックです。メッシュを操作するとき、これは例えばユーザにキャラクターの手を動かして腕の残りを現実的な方法で変形させることを可能にします。変形はまたパーツのスケールやメッシュ全体に渡り遂行できることに注意することは興味深いでしょう。
このノートブックは上の画像に含まれる一つに類似した変形を遂行するためにどのように TensorFlow Graphics を使用するかを示します。
セットアップ & Imports
このノートブックに含まれるデモを実行するために必要な総てを import しましょう。
from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import tensorflow as tf from tensorflow_graphics.geometry.deformation_energy import as_conformal_as_possible from tensorflow_graphics.geometry.representation.mesh import utils as mesh_utils from tensorflow_graphics.geometry.transformation import quaternion from tensorflow_graphics.math.optimizer import levenberg_marquardt from tensorflow_graphics.notebooks import threejs_visualization from tensorflow_graphics.notebooks.resources import triangulated_stripe tf.enable_eager_execution()
この例では、flat と矩形サーフェスに対応するメッシュを構築します。スライダーを使用して、そのサーフェスに適用される変形コンストレイントの位置を制御できます。これらはそれぞれメッシュの左境界、中心、そして右境界に沿った総てのポイントに対応します。
mesh_rest_pose = triangulated_stripe.mesh connectivity = mesh_utils.extract_unique_edges_from_triangular_mesh(triangulated_stripe.mesh['faces']) camera = threejs_visualization.build_perspective_camera( field_of_view=40.0, position=(0.0, -5.0, 5.0)) width = 500 height = 500 _ = threejs_visualization.triangular_mesh_renderer([mesh_rest_pose], width=width, height=height, camera=camera)
以上