الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية توليد إحداثيات شكل ما

بدأه tell me في 7 مارس 2008 · 12 رد · 1,811 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أولاً أرجو أن يكون هذا المكان الصحيح لسؤالي

ثانياً سؤالي هو كيف يمكنني توليد احداثيات رسم معين من خلال إدخال معلومات اساسية

مثال :

أريد رسم مستقيم بطول 1سم منطبق على المحور X من نقطة الصفر

الإحداثيات المولدة في حال الدقة 1ملم هي:

X0,Y0 
X1,Y0 
X2,Y0 
X3,Y0 
X4,Y0 
X6,Y0 
X7,Y0 
X8,Y0 
X9,Y0 
X10,Y0

الأمر نفسه يتكرر مع الخط المنحني أو الدائرة

هذه كانت الطريقة الأولى

الطريقة الثانية

تنفيذ ذلك عبر أحد برامج CAD ولكني لم أعرف الى الآن ماهو البرنامج الذي يقوم بذلك

الخلاصة هي تحويل أي رسم الى إحداثيات XY وذلك بمساعدة أحد برامج الكاد

أو باستخدام كود C++ لذلك

أرجو أن أكون قد وفقت في شرحي للسؤال

وجزاكم الله كل خير

{وقل ربي زدني علماً}

#2

وعليكم السلام ورحمة الله وبركاته

اخي , هل تريد رسم المستقيم ؟ ام تريد فقط توليد الاحداثيات المذكورة اعلاه ؟

سنعتبر انها نظام

هل ستكون المدخلات ؟ الطول : 1 سم , ونقطة البداية : نقظة الاصل .

وهل ستكون المخرجات هي : الاحداثيات التي كتبتها انت ؟

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#3

المهم عندي هو الحصول على إحداثيات

لإعادة رسمها من جديد والتحكم بمحركات وفقاً للإحداثيات

هذا في حال توليد الإحداثيات بالبرمجة

أما عن طريق برنامج خاص بالرسم فيكون رسم المستقيم وتوليد إحداثياته لأستخدامها كما ذكرت آنفاً

اقتباس
هل ستكون المدخلات ؟ الطول : 1 سم , ونقطة البداية : نقظة الاصل .

وهل ستكون المخرجات هي : الاحداثيات التي كتبتها انت ؟

المدخلات: نقطة البداية XY + نقطة النهاية XY

المخرجات : هي الإحداثيات المذكورة آنفاً

وشكراً على سرعة الرد

{وقل ربي زدني علماً}

#4

مرحبا اخي ,

بالنسبة لسؤالك اخي يوجد عدة فرضيات وهو ممكن تنفيذه بواسطة السي / سي ++ ولكن تحتاج لشي من الرياضيات لتلخص لك هذه الفرضيات . اقصد Sin & Cos

لننظر لمسألتك , انا بمجرد النظر تطرقت إلى ثلاثة قوانين .

بالنسبة لمسألتك سنفترض الدقة 1 سم .

1- تخيل لو اردنا رسم مستقيم مطابق على كلا من المحورين :

عندها سنزيد في كل مرة مقدار الدقة , 1 سم للمحور الذي ينطبق عليه المستقيم .

2- تخيل لو اردنا ان نرسم مستقيم ليس مطابق , عندها نحن امام خيارين :

1- اذا كانت نهاية x اقل من نهاية y مثلا :

مستقيم بدايته : (0,0) ونهايته ( 4,5) عندها سنقول :

ان نقاط اكس ستتقدم بمقدار الدقة , اما y ستتقدم كما يلي :

النقاط بشكل تقريبي :

(4/5) +0 =

(3/5) +1 =

(2/5) +1 =

(1/5) +0 =

وهنالك حالة اخرى ماذا اذا كانت اكس اكبر من y

لذلك ستحتاج فرضا لاستخدام Sin & Cos

هذا والله اعلم

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#5

السلام عليكم:

سويت الفكرة نظري .

وطبعت لك الارقام المتوقع.

مشيت النقاط على محور السينات وجبت المناظر لها على الصادات.

وهذا الكود.

********************* (x2,y2)
*********************
*********************
*********************
*********************
*********************
*********************
*********************
****(x1,y1)************

#include<iostream>
using namespace std;
int main()
{
double x1=10,y1=10,x2=30,y2=50;
double m;
m=(y2-y1)/(x2-x1);
for(double x=x1;x<=x2;x+=0.001)
{
double y=x*m;
cout << y <<endl;
}
return 0;
}

والله أعلم عزوجل

tvquran_6.gif

#6

الحل البرمجى حيبقى صعب أوى! البرنامج مفترض إنه حياخد الرسم فى فايل, أولا ما هو format فايل الرسم اللى حتتعامل معاه؟ و المفروض بعد ما تعرف الformat تعرف إزاى تحولها لإحداثيات كارتيزية! و قبل كل ده تعمل ال tool اللى بتخليك "ترسم" و تخزن الرسم بتاعك بالفورمات اللى إنت عرفته! يعنى من الأخر تعمل miniCAD tool :D

أنا أفضل يا أخى أن تستخدم أدوات CAD و أكيد فى منها كتير تخرج الإحداثيات أنا معرفش أوى بس "أكيد" حاجة زى الأوتوكاد فيها الإمكانية دى.

#7

عذراً على تأخري في الرد عليكم لأسباب خارجة عن إرادتي

النقطة التي أريد معرفتها هي طريقة تحليل الصور لإحداثيات XY والتي تطبق في برامج التحكم بألات التطريز

حيث يتم اختيار نسبة التقسيم 0.5 ملم مثلاُ فيتم توليد إحداثية XY كل 0.5 ملم أتوقع تكتب هذه البرامج بـC++ الأمر ينطبق على برامج CNC

هناك فكرة توليد الإحداثيات عن طريق Pixel مارأيكم بها

وجزاكم الله خيراً

{وقل ربي زدني علماً}

#8

السلام عليكم و رحمة الله و بركاته

المدخل هو صورة و المخرجات هي الاحداثيات؟؟

لا ادري ان كان هذا ما تريد ام لا

ان كان كذلك فيمكن قراءة السورة و خزنها في مصفوفة و:S

كيف هي الصورة المدخلة؟؟

#9
اقتباس
المدخل هو صورة و المخرجات هي الاحداثيات؟؟

بالضبط ودقة الإحداثيات على طلب المستخدم

اقتباس
ان كان كذلك فيمكن قراءة السورة و خزنها في مصفوفة وconfused_smile.gif

كيف هي الصورة المدخلة؟؟

الصورة هي bmp

ممكن توضح طريقتك هل تقصد قراءة pixel

{وقل ربي زدني علماً}

#10

السلام عليكم و رحمة الله و بركاته

اقتباس
الصورة هي bmp

ممكن توضح طريقتك هل تقصد قراءة pixel

 //open filename in read binary mode
	filePtr = fopen(filename,"rb");
	if (filePtr == NULL)
	return NULL;

	//read the bitmap file header
	fread(&bitmapFileHeader, sizeof(BITMAPFILEHEADER),1,filePtr);

	//verify that this is a bmp file by check bitmap id
	if (bitmapFileHeader.bfType !=0x4D42)
	  {
		fclose(filePtr);
		return NULL;
	  }

	 //read the bitmap info header
	 fread(bitmapInfoHeader, sizeof(BITMAPINFOHEADER),1,filePtr);

	 //move file point to the begging of bitmap data
	 fseek(filePtr, bitmapFileHeader.bfOffBits, SEEK_SET);

	 //allocate enough memory for the bitmap image data
	 bitmapImage = (unsigned char*)malloc(bitmapInfoHeader->biSizeImage);

	 //verify memory allocation
	   if (!bitmapImage)
		{
		  free(bitmapImage);
		  fclose(filePtr);
		  return NULL;
		}

//....
		 //make sure bitmap image data was read
		 if (bitmapImage == NULL)
			 { fclose(filePtr);
			   return NULL;
			 }

	 //swap the r and b values to get RGB (bitmap is BGR)
	 for (imageIdx = 0;imageIdx < bitmapInfoHeader->biSizeImage;imageIdx+=3)
	 { tempRGB = bitmapImage[imageIdx];
	   bitmapImage[imageIdx] = bitmapImage[imageIdx + 2];
	   bitmapImage[imageIdx + 2] = tempRGB;
	 }

post-91400-1205338038_thumb.jpg

اعتمدت هذا المرجع

BitmapMgr.zip

#11

أفضل شئ في مثل هذه الحالات هو استخدام الماتلاب لا أدري هل عندك فكرة عنه أم لا ؟

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#12

ممكن توضح فكرة عمل الكود لأني سوف أحاول تطبيقه بواسطة LabVIEW

{وقل ربي زدني علماً}

#13
اقتباس
أفضل شئ في مثل هذه الحالات هو استخدام الماتلاب لا أدري هل عندك فكرة عنه أم لا ؟

للأسف لا استخدمه ولكن ممكن توضح الطريقة لذلك وأنا أحاول صياغتها بواسطة LabVIEW

{وقل ربي زدني علماً}

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…