![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176972/image.png)
please help me to program of this equation of triangular patch bezier
조회 수: 9 (최근 30일)
이전 댓글 표시
<</matlabcentral/answers/uploaded_files/22004/Capture
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/146299/image.jpeg)
.JPG>> please help me to program of this equation of triangular patch bezier
댓글 수: 0
채택된 답변
Mike Garrity
2014년 12월 2일
편집: Mike Garrity
2014년 12월 2일
It's 2D because you'll find that you probably want to rewrite it in terms of two independent variables and derive the third from those. For example, you could have something like this:
[u,v] = meshgrid(linspace(0,1,50));
w = 1-(u+v)
out = w<0;
u(out) = nan;
v(out) = nan;
w(out) = nan;
If you do surf(u,v,w) at this point, you'll see something like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176972/image.png)
Now you can use the same kron technique I described in that blog post to multiply these three arrays by your input points.
In the teapotdemo I was doing square patches instead of triangular patches, but you might find something you can mine from there.
I hope that's enough to get you rolling. Have fun, this is an interesting problem! There's a lot of interesting math hiding in these simple objects.
댓글 수: 5
Mike Garrity
2015년 5월 26일
I don't remember the rules for triangular patches, but I know that for a rectangular cubic you get C1 continuity when the lines through the shared edge vertices to the control points in the next row are collinear. I would assume it's pretty similar for triangular.
This paper has an interesting derivation in terms of barycentric coordinates.
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!