How to rotate a curve in the xz-plane around z axis?

I have a curve difined in a vector M with values in x and z position. I use "plot3" to plot this but now I want to rotate this curve around some axis, preferable z-axis so that it creates a body. In my case it will have a shape of a mountain.
Is this possible?

回答 (1 件)

Jan
Jan 2013 年 1 月 30 日
編集済み: Jan 2013 年 1 月 30 日

0 投票

Rotation around the Z-axis by the angle a:
R = [ cos(a), sin(a), 0; ...
-sin(a), cos(a), 0; ...
0, 0, 1];
Points = rand(3, 100);
RotatedPoints = R * Points;

3 件のコメント

Per
Per 2013 年 1 月 30 日
編集済み: Per 2013 年 1 月 30 日
Thank you! How do I define the start point of the rotation? In this case it rotates around z-axis with [0;0;0] fixed. What if I want the curve to rotate around z-axis but with start in say [11;0,0]?
What I want to achive is a rotation of the black curve around the red axis is this picture:
Jan
Jan 2013 年 1 月 30 日
Subtract the translation before rotating and add the translation afterwards again.
Per
Per 2013 年 2 月 4 日
I dont see it. How do I subtract the translation? say it's 3 in x-dir and 5 in y-dir, will it look like:
R = [ cos(a), sin(a), 0; ...
-sin(a), cos(a), 0; ...
-3, -5, 1];
and then after the Curve*R I then add +3 and +5 ?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeInterpolation についてさらに検索

タグ

質問済み:

Per
2013 年 1 月 30 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by