MAXScript 인스턴스: 선 세그먼트 그리기
1728 단어 function
function drawLineBetweenTwoPnts pointA pointB radius = ( ss = SplineShape pos:pointA ss.render_renderable = true ss.render_rectangular = false ss.render_useViewportSettings = true ss.render_thickness = radius addNewSpline ss addKnot ss 1 #corner #line PointA addKnot ss 1 #corner #line PointB updateShape ss ss ) -- usage: drawLineBetTwoPnts [0,0,0] [0,0,10] 1
참고:
(1). SplineShape 빈 스플라인 모양 생성하기
ss = SplineShape pos:[0, 0, 0] --$Editable_Spline:Shape06 @ [0.000000,0.000000,0.000000]
numKnots ss 1 -- Runtime error: shape spline index out of range: 1
(2). addNewSpline은 스플라인 모양에 새 스플라인을 추가하여 shape에 있는 곡선 색인 번호를 되돌려줍니다.
ss = SplineShape pos:[0, 0, 0] -- $Editable_Spline:Shape07 @ [0.000000,0.000000,0.000000]
addNewSpline ss-1, 스플라인 모양에서 첫 번째 스플라인 커브임을 나타냅니다.
numKnots ss 1 --0, 첫 번째 스플라인의 노드 수가 0임을 나타냅니다.
(3). numSplines 스플라인 모양에서 스플라인 곡선의 갯수
ss = SplineShape pos:[0, 0, 0] -- $Editable_Spline:Shape11 @ [0.000000,0.000000,0.000000]
addNewSpline ss -- 1
addNewSpline ss -- 2
addNewSpline ss -- 3
numKnots ss 3 -- 0
numSplines ss -- 3
(4). 두 개의 mesh 사이의 가장 짧은 직선을 그리기;또는 그 중 하나의mesh의 한 점을 정하고 이 점을 다른 mesh의 가장 짧은 직선으로 찾아낸다
mindis=10000000;
vertex_count1 = $Sphere001.numverts
vertex_count2 = $Sphere002.numverts
id1 = 0
id2 = 0
for i = 1 to vertex_count1 do
(
--i = 1884
for j = 1 to vertex_count2 do
(
--j = 588
v1 = getVert $Sphere001 i
v2 = getVert $Sphere002 j
dis = Length(v1-v2)
if (dis < mindis) do
(
mindis = dis
id1 = i
id2 = j
)
)
)
id1
id2
pos1 = getVert $Sphere001 id1
pos2 = getVert $Sphere002 id2
drawLineBetweenTwoPnts pos1 pos2 500
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콜백 함수를 Angular 하위 구성 요소에 전달이 예제는 구성 요소에 함수를 전달하는 것과 관련하여 최근에 직면한 문제를 다룰 것입니다. 국가 목록을 제공하는 콤보 상자 또는 테이블 구성 요소. 지금까지 모든 것이 구성 요소 자체에 캡슐화되었으며 백엔드에 대한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.