سوال در مورد دستگاه مختصات

farhadamin

New Member
سلام باید یک برنامه بنوبسم که زاویه برداری رو که بین دو نقطه رسم می شه را با محور ایکسها نشون بده ..... رابطه به صورت زیر است... که ما مختصات دو نقطه را داریم .... و باید از فرمول
atan (y2-y1) / (x2-x1))) =زاویه بردار با محور ایکس ها.

اما این فقط وقتی درست است که ایکس ها و ایکرگ ها همه مثبت باشند . در حالت هایی که یکی از آن ها یا هر دو منفی باشند باید 90 درجه به زواریه اضافه یا کم کرد.... می خواست ببینم از چه دستوری باید برای نوستن ین رابطه استفاده کنم...که البته رابطه فکر کنم چهار حالت داره.

sweach یا از یه دستور دیگه ای البته این رابطه رو هر کاری کردم نشد..... ..

ممنونم از کمکتون....و منتظرم
 

MnavidM

Active Member
سلام باید یک برنامه بنوبسم که زاویه برداری رو که بین دو نقطه رسم می شه را با محور ایکسها نشون بده ..... رابطه به صورت زیر است... که ما مختصات دو نقطه را داریم .... و باید از فرمول
atan (y2-y1) / (x2-x1))) =زاویه بردار با محور ایکس ها.

اما این فقط وقتی درست است که ایکس ها و ایکرگ ها همه مثبت باشند . در حالت هایی که یکی از آن ها یا هر دو منفی باشند باید 90 درجه به زواریه اضافه یا کم کرد.... می خواست ببینم از چه دستوری باید برای نوستن ین رابطه استفاده کنم...که البته رابطه فکر کنم چهار حالت داره.

sweach یا از یه دستور دیگه ای البته این رابطه رو هر کاری کردم نشد..... ..

ممنونم از کمکتون....و منتظرم
منظورتون از رابطه در برنامه نویسی چیه ؟

در چه زبانی می خواهید ؟
 

farhadamin

New Member
منظورتون از رابطه در برنامه نویسی چیه ؟

در چه زبانی می خواهید ؟

سلام من برنامه زیر را نوشتن می خواستم برنامه atan زاویه یک خط که از دو نقطه تشکیل شده را حساب می کنه و اندازه دو تا نقطه را داریم.... البته درست کار نمی کنه... نمی دونم استفاده از از دستور switch درست بوده یا نه یا اصلا باید از اون استفاده کنم یا نه....ممنون
کد:
#include <stdio.h>
#include <math.h>
#define PI 3.14159265

 int main(void)
{
     
	FILE * fP1; int a,b,c,d; double W;
   
	fP1 = fopen("inddata.txt","r");
	fscanf(fP1,"%d%d%d%d",&a,&b,&c,&d);
	 W = (atan((d-b)/(c-a)));
	switch(W){
              case `(0<(c-a)&& 0<(d-b))´:
	    W = (atan((d-b)/(c-a)));
    	FILE * fP2;
     	fP2 = fopen("uddata.txt", "w");
fprintf(fP2,"retningsvector of punkt A og B er  %f",W);
break;

 case`(0>(c-a))`:
  	
    W = (atan((d-b)/(c-a)))+PI;
     FILE * fP2;
 
	fP2 = fopen("uddata.txt", "w");
fprintf(fP2,"retningsvector of punkt A og B er  %f",W);
 
 break;
 case`(0<(c-a)&& 0>(d-b))`: 
  	
    W = (atan((d-b)/(c-a)))+(2*PI);
     FILE * fP2;
 
	fP2 = fopen("uddata.txt", "w");
fprintf(fP2,"retningsvector of punkt A og B er  %f",W);
}
}
[I
در ضمن من به زبان سی می خوام...
ممنون از کمک و راهنمایی شما... با عکس زیر شاید منظورم را بهتر متوجه بشوید.... بازم ممنون
bcoms200710714221.gif
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا