رفتن به مطلب

شبکه نقاط سه بعدی


bahar nouri69

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

سلام دوستان

 

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

در واقع نقاطی میخواهم دارای مختصات x,y,z باشند. و اولین نقاط نیز از x=-r,y=-r,z=0 شروع شود و تا نقطه x=r,y=r,z=L ادامه پیدا کنند. و سلول های این شبکه حل نیز به صورت مکعب باشند. در ضمن r شعاع استوانه و L طول استوانه میباشد.

یک کد هم تونستم پیدا کنم یکم تغییرش دادم اما ج نمیدهد.

ممنون میشم اگر کسی از دوستان مرا کمک کند.

ممنون

New folder.zip

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

 

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

در واقع نقاطی میخواهم دارای مختصات x,y,z باشند. و اولین نقاط نیز از x=-r,y=-r,z=0 شروع شود و تا نقطه x=r,y=r,z=l ادامه پیدا کنند. و سلول های این شبکه حل نیز به صورت مکعب باشند. در ضمن r شعاع استوانه و l طول استوانه میباشد.

یک کد هم تونستم پیدا کنم یکم تغییرش دادم اما ج نمیدهد.

ممنون میشم اگر کسی از دوستان مرا کمک کند.

ممنون

 

سلام

می خوای این نقاط روی محیط استوانه باشن یا نه داخل استوانه هم شامل میشن؟

 

در هر صورت باید مرز یعنی محیط استوانه رو به عنوان محدوده توی محاسباتت استفاده کنی. در صفحه xy یه دایره داری که برای تبدیلش به استوانه باید در جهت z همون نقاط رو در ارتفاع های مختلف هم در نظر بگیری. پس برای شروع می تونی نقاط روی دایره رو پیدا کنی و بعد بعد سوم یا ارتفاع رو بهش اضافه کنی.

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

متشکرم

ممنون از راهنماییتون. درستش کردم با راهنماییتون.

فقط یه مشکل هست من میخواهم نقاط خروجی داخل یک ماتریس جمع شوند. که الان اینجوری نیست تو یه پست جدید کد را اپلود میکنم.

اگر امکان داره راهنمایی کنید من زیاد متلب بلد نیستم.

ممنون

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

سلام

می خواهم خروجی کد بارگذاری شده در یک ماتریس جمع اوری شوند. کسی میتونه راهنماییم کنه من خیلی متلب بلد نیستم.

ممنون

در کد قبلی کد اشتباه بارگذاری شده بود.

Domain1.zip

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

می خواهم خروجی کد بارگذاری شده در یک ماتریس جمع اوری شوند. کسی میتونه راهنماییم کنه من خیلی متلب بلد نیستم.

ممنون

در کد قبلی کد اشتباه بارگذاری شده بود.

 

سلام

خب شرطي براي اينكه فقط نقاط داخل يا روي استوانه رو بهت بده، نذاشتي؟

 

ببين رابطه بين x و y كه معادله دايره هست ديگه: x^2 + Y^2 = R^2، بايد يه شرطي با if تعريف كني كه فقط نقاطي كه مي خواي رو ذخيره كنه.

 

داخل حلقه هم q رو بايد مثل كد قبلي يكي يكي براي هر مختصاتي كه بدست مياري افزايش بدي.

 

تعريف دايره توي مختصات قطبي ساده تر هست:

 

x = r * cos(Theta)
y = r * sin(Theta)

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

سلام

ممنون از جوابتون

حقیقتش الان زیاد استوانش مهم نیست، به همون صورت که نوشتم مساله ای نداره.

فقط مشکل اینه که باید کل جواب در یک ماتریس ذخیره بشه.

مثلا یه ماتریس n*3. فک کنم باید از دستور zeros() استفاده شود.

ولی من متلب درست بلد نیسم سعی کردم اما نشد. امکانش هست کدو برام درست کنید که تنها در یک ماتریس ذخیره شود؟

 

 

ممنون

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

ممنون از جوابتون

حقیقتش الان زیاد استوانش مهم نیست، به همون صورت که نوشتم مساله ای نداره.

فقط مشکل اینه که باید کل جواب در یک ماتریس ذخیره بشه.

مثلا یه ماتریس n*3. فک کنم باید از دستور zeros() استفاده شود.

ولی من متلب درست بلد نیسم سعی کردم اما نشد. امکانش هست کدو برام درست کنید که تنها در یک ماتریس ذخیره شود؟

 

 

ممنون

 

سلام

اول اينكه براي نوشتن يه كد با فانكشن شروع نكن، چون به متغيرهاي داخليش نميشه به سادگي دسترسي داشت، دنبال كردن كد و پيدا كردن مشكلاتش خيلي سخت تر ميشه. وقتي كد جواب داد مي توني به فانكشن تبديلش كني.

 

براي سيو شدن توي يه ماتريس هم، گفتم بايد q توي حلقه ها يكي يكي افزايش بدي. فكر كنم با اين درست بشه.

 

function[p,q]=Domain(dx,dy,dz,Lc,Dp)
% z3=[];
dx=1;
dy=1;
dz=1;
Lc=7;
Dp=8;

s=Lc/dz;
r=Dp/dx;
xx(1)=-Dp/2;
yy(1)=-Dp/2;
zz(1)=0;
k=1;
i=1;
j=1;
q=1;
%mohasebe tamam noghat Domain
for k=1:s+1
   zz(k+1)=zz(k)+dz;
   for j=1:r+1
       yy(j+1)=yy(j)+dy;
       for i=1:r+1
           xx(i+1)=xx(i)+dx;
           p=[xx(i),yy(j),zz(k)];
       q = q + 1;
           p(q,:)=p
         
       end
   end
end
end

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

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

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

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

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

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

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

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

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

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