رفتن به مطلب

ترسیم صفحه


setarehbaran

ارسال های توصیه شده

سلام. وقتتان بخیر.

من معادله مربوط بهچهار خط رو در فضا دارم و میخوام با این چهار خط یک صفحه در فضا تعریف کنم. کسیمیتونه کمکم کنه که چجوری میتونم این کار رو انجام بدم؟ خطوطم موازی محور x,z هستند در ضمن.

لینک به دیدگاه

سلام. وقتتان بخیر.

من معادله مربوط بهچهار خط رو در فضا دارم و میخوام با این چهار خط یک صفحه در فضا تعریف کنم. کسیمیتونه کمکم کنه که چجوری میتونم این کار رو انجام بدم؟ خطوطم موازی محور x,z هستند در ضمن.

 

 

سلام

 

معادله خطوط رو میذارین؟ صفحه مسطح منظورتون هست دیگه؟ (نمی دونم شاید این سوالم غلط باشه)

لینک به دیدگاه
سلام

 

معادله خطوط رو میذارین؟ صفحه مسطح منظورتون هست دیگه؟ (نمی دونم شاید این سوالم غلط باشه)

سلام. بله معادله خطوط رو میذارم و صفحه هم مسطح هستش.
لینک به دیدگاه
سلام. بله معادله خطوط رو میذارم و صفحه هم مسطح هستش.

 

معادله ها رو نذاشتین؟

 

یه چیزی، از دو تا خط مگه یه صفحه نمیگذره؟ ولی اینجا خطوطتون موازی هستن، درسته؟

لینک به دیدگاه

آره خطوطم دو به دوموازی هستند. دو تا از خط ها موازی محور x و دو تاشون موازی محور z هستن. مثلا فرض کنید این معادله خطوط هستش :

X=2

X=-2

Z=3

Z=-3

لینک به دیدگاه

آره خطوطم دو به دوموازی هستند. دو تا از خط ها موازی محور x و دو تاشون موازی محور z هستن. مثلا فرض کنید این معادله خطوط هستش :

X=2

X=-2

Z=3

Z=-3

 

این معادله هایی که نوشتین معادله صفحه هستن، نه خط. اینجوری هم میتونیم رسمشون کنیم:

 

clear;
[y,z] = meshgrid(-4:0.1:4);
x = 2 * ones(size(y));
surf(x,y,z,'EdgeColor','none');
hold on
x = -2 * ones(size(y));
surf(x,y,z,'EdgeColor','none');
[x,y] = meshgrid(-4:0.1:4);
z = 3 * ones(size(y));
surf(x,y,z,'EdgeColor','none');
z = -3 * ones(size(y));
surf(x,y,z,'EdgeColor','none');

لینک به دیدگاه
[font=Courier New][size=2][font=Courier New][size=2]clear [/size][/font][/size][/font][font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0]all[/color][/size][/font][/color][/size][/font][/color][/size][/font]
[font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0][/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%first line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]z1=linspace(-4,4,100);
x1=2*ones(size(z1));
y1=3*ones(size(z1));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%second line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]z2=linspace(-4,4,100);
x2=-2*ones(size(z2));
y2=3*ones(size(z2));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%third line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x3=linspace(-2,2,100);
y3=3*ones(size(x3));
z3=-4*ones(size(x3));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%fourth line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x4=linspace(-2,2,100);
y4=3*ones(size(x4));
z4=4*ones(size(x4));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%plot surf
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x=[x1' x2' x3' x4']
y=[y1' y2' y3' y4']
z=[z1' z2' z3' z4']
surf(x,y,z)
[/size][/font][/size][/font]

لینک به دیدگاه
[font=Courier New][size=2][font=Courier New][size=2]clear [/size][/font][/size][/font][font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0][font=Courier New][size=2][color=#a020f0]all[/color][/size][/font][/color][/size][/font][/color][/size][/font]
[font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%first line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]z1=linspace(-4,4,100);
x1=2*ones(size(z1));
y1=3*ones(size(z1));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%second line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]z2=linspace(-4,4,100);
x2=-2*ones(size(z2));
y2=3*ones(size(z2));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%third line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x3=linspace(-2,2,100);
y3=3*ones(size(x3));
z3=-4*ones(size(x3));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%fourth line
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x4=linspace(-2,2,100);
y4=3*ones(size(x4));
z4=4*ones(size(x4));
[/size][/font][/size][/font][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22][font=Courier New][size=2][color=#228b22]%plot surf
[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Courier New][size=2][font=Courier New][size=2]x=[x1' x2' x3' x4']
y=[y1' y2' y3' y4']
z=[z1' z2' z3' z4']
surf(x,y,z)
[/size][/font][/size][/font]

 

دو تا خط موازی برای رسم صفحه کافی هست:

 

clear all
%first line
z1=linspace(-4,4,100);
x1=2*ones(size(z1));
y1=3*ones(size(z1));
%second line
z2=linspace(-4,4,100);
x2=-2*ones(size(z2));
y2=3*ones(size(z2));
%third line
x3=linspace(-2,2,100);
y3=3*ones(size(x3));
z3=-4*ones(size(x3));
%fourth line
x4=linspace(-2,2,100);
y4=3*ones(size(x4));
z4=4*ones(size(x4));
%plot surf
x=[x1' x2']
y=[y1' y2']
z=[z1' z2']
surf(x,y,z,'EdgeColor','none')

 

معادله صفحه رو هم می خواین حساب کنین؟

لینک به دیدگاه

من یک ماتریس 4*4برای چرخش و انتقال صفحه دارم و میخوام در چند حالت مختلف این صفحه رو به کمکماتریس بچرخونم. به نظرتون با معادله صفحه میشه این کار رو انجام داد یا اینکه درهر لحظه باید با ضرب ماتریس در نقاط مختصات جدید نقاط رو به دست بیارم و بعد بامختصات های جدید معادله صفحات رو به دست بیارم؟

لینک به دیدگاه

من یک ماتریس 4*4برای چرخش و انتقال صفحه دارم و میخوام در چند حالت مختلف این صفحه رو به کمکماتریس بچرخونم. به نظرتون با معادله صفحه میشه این کار رو انجام داد یا اینکه درهر لحظه باید با ضرب ماتریس در نقاط مختصات جدید نقاط رو به دست بیارم و بعد بامختصات های جدید معادله صفحات رو به دست بیارم؟

معادله صفحه رو که با دو تا خط باید بشه حساب کرد. چرا 4 در 4؟ یه مثال عددی میزنین؟

لینک به دیدگاه

0.9972 0.0677 -0.0318 -18.7828

-0.0678 0.9977 -0.0029 -81.5809

0.0316 0.0051 0.9995 -2.2635

0 0 0 1.0000

سلام. یه ماتریس 3*3 واسه چرخش و یه ماتریس 1*3 واسه انتقال، که با همدیگه یه ماتریس 4*4 رو تشکیل میدن. مثلا یکی از ماتریس هامون اگه این باشه و بخوایم یه نقطه به مختصات (a,b,c) رو انتقال بدیم باید این ماتریس 4*4 رو در (a b c 1)’ ضرب کنیم تا مختصات نقطه جدید به دست بیاد.

لینک به دیدگاه
0.9972 0.0677 -0.0318 -18.7828

-0.0678 0.9977 -0.0029 -81.5809

0.0316 0.0051 0.9995 -2.2635

0 0 0 1.0000

سلام. یه ماتریس 3*3 واسه چرخش و یه ماتریس 1*3 واسه انتقال، که با همدیگه یه ماتریس 4*4 رو تشکیل میدن. مثلا یکی از ماتریس هامون اگه این باشه و بخوایم یه نقطه به مختصات (a,b,c) رو انتقال بدیم باید این ماتریس 4*4 رو در (a b c 1)’ ضرب کنیم تا مختصات نقطه جدید به دست بیاد.

 

معادله صفحه همون y=3 میشه، برای x و z هم محدوده دارین. یعنی x بین 2- و 2، z هم بین 4- و 4.

برای رسمش اینجوری میتونین بنویسین، تبدیل نقاط دو خط اول رو حساب کنین:

 

clear
T = [   0.9972  0.0677  -0.0318 -18.7828
       -0.0678 0.9977  -0.0029 -81.5809
       0.0316  0.0051  0.9995  -2.2635
       0       0       0       1       ];
%first line
z1 = linspace(-4,4,100);
x1 = 2*ones(size(z1));
y1 = 3*ones(size(z1));
temp1 = T * [x1; y1; z1; ones(size(z1))];

%second line
z2 = linspace(-4,4,100);
x2 = -2*ones(size(z2));
y2 = 3*ones(size(z2));
temp2 = T * [x2; y2; z2; ones(size(z1))];

%plot surf
x=[temp1(1,:)' temp2(1,:)'];
y=[temp1(2,:)' temp2(2,:)'];
z=[temp1(3,:)' temp2(3,:)'];
surf(x,y,z,'EdgeColor','none')

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...