۱۲-اردیبهشت-۱۳۹۰, ۲۳:۴۹:۲۰
۱۳-اردیبهشت-۱۳۹۰, ۱۰:۰۶:۲۶
این کد نقطه شروع و پایان خط اولیه رو میدین بعد درجه چرخش رو تعیین میکنین که پیش فرض در این کد 90 deg هست و در انتها نقطه شروع و پایان خط با اون درجه رو میده که شما میتونین از اون برای رسم خطتون استفاده کنین
کد:
$ cat rotate.c
#include <stdio.h>
#include <math.h>
static const double deg90InRad = -3.14159265358979324 / 2;
int main(int argc, char *argv[]) {
double startX = 10.0, startY = 10.0;
double endX = 15.0, endY = 15.0;
double x, y;
// This code rotates the line by 90 degrees clockwise about the point start
// We want (x,y) to be the location of the end endpoint, and start to be moved to the origin
// First, set (x,y) to the end
x = endX;
y = endY;
// Now translate by (-startX, -startY)
x -= startX;
y -= startY;
// Next perform the rotation (you seem to have not copied the formulae correctly, I got this from the Wikipedia page, more or less)
endX = (x * cos(deg90InRad)) - (y * sin(deg90InRad));
endY = (x * sin(deg90InRad)) + (y * cos(deg90InRad));
// Now translate back, by (startX, startY)
endX += startX;
endY += startY;
printf("New line is from (%f,%f) to (%f,%f)\n", startX, startY, endX, endY);
return 0;
}
$ gcc -W -Wall -g rotate.c -o rotate -lm
rotate.c: In function ‘main’:
rotate.c:6: warning: unused parameter ‘argc’
rotate.c:6: warning: unused parameter ‘argv’
$ ./rotate
New line is from (10.000000,10.000000) to (15.000000,5.000000)
$
۱۳-اردیبهشت-۱۳۹۰, ۱۲:۲۷:۳۲
با تشکر از lord_viper
این مال C هستش
من تو ++C میخواستم
این مال C هستش
من تو ++C میخواستم
۱۶-اردیبهشت-۱۳۹۰, ۲۲:۳۶:۰۰
از دوستام ممنون میشم کسی راهنماییم کنه
مشکلم هنوز حل نشده
مشکلم هنوز حل نشده