NurbsSurface.EvaluatePosition2 operator

導入

v4.0

詳細

NurbsSurface.EvaluatePosition と同じ順序で、指定された UV 値における位置、U タンジェント、Vタンジェント、および法線を戻します。

注:このメソッドは、JScriptやPerlScriptなどの引数の参照渡しをサポートしないスクリプト言語で使用する必要があります。出力引数の取得の詳細については、About Output Argument Arrays を参照してください。

C#構文

Object NurbsSurface.EvaluatePosition2( Double in_dUValue, Double in_dVValue );

スクリプト構文

oArray = NurbsSurface.EvaluatePosition2( UValue, VValue );

戻り値

指定されたUVにおける位置、Uタンジェント、Vタンジェント、および法線を表すSIVector3オブジェクトを含むArray

パラメータ

パラメータ タイプ 説明
UValue Double サーフェイスを評価する場所の UValue
VValue Double サーフェイスを評価する場所の VValue

JScript の例

/*

	This example illustrates how to retreive the spatial position of a knot.

*/

var oSphere = ActiveSceneRoot.AddGeometry( "Sphere", "NurbsSurface" );

var oSurfaces = oSphere.ActivePrimitive.Geometry.Surfaces;

var oSurface  = oSurfaces(0);

var aUKnotValues = new VBArray(oSurface.UKnots.Array);

var aVKnotValues = new VBArray(oSurface.VKnots.Array);

var aValues = new VBArray(oSurface.EvaluatePosition2( aUKnotValues.getItem(3), aVKnotValues.getItem(4)));

var oPosition = aValues.getItem(0);

var oUTangent = aValues.getItem(1);

var oVTangent = aValues.getItem(2);

var oNormal = aValues.getItem(3);

LogMessage( "Position: " + oPosition.x + ", " + oPosition.y + ", " + oPosition.z );

LogMessage( "Tan U: " + oUTangent.x + ", " + oUTangent.y + ", " + oUTangent.z );

LogMessage( "Tan V: " + oVTangent .x + ", " + oVTangent .y + ", " + oVTangent .z );

LogMessage( "Normal: " + oNormal.x + ", " + oNormal.y + ", " + oNormal.z );

//--------------------------------------------------

// Output of above script:

//INFO : "Position: -4.718447854656915e-16, -2.828427124746189, 2.8284271247461916"

//INFO : "Tan U: 1, 0, 1.8784326741201244e-16"

//INFO : "Tan V: -5.3007381947367376e-17, 0.706986783671791, 0.7072267583409271"

//INFO : "Normal: -1.3280270746201882e-16, -0.7072267583409272, 0.7069867836717909"