#1
by tui » 6年前
P´(t)=-3(1-t)²(1,2)+3t(1-t)(1-3t)(2,3)+3t(2-3t)(3,1)+3t²(5,1)
上の式について0.1から1の範囲でtの値を変化させて|P´(t)|を求めたいです
が値が全くでないです。
どのようにしたらいいですか?
コード:
#include<iostream>
#include<math.h>
double a1, b1, c1, d1, t, a2, b2, c2, d2, x;
int Qx[4] = { 1,2,3,5 };
int Qy[4] = { 2,3,1,1 };
int main()
{
t = 0;
a1 = -3 * (1 - t) * (1 - t) * Qx[0]; a2 = -3 * (1 - t) * (1 - t) * Qy[0];
b1 = 3 * t * (1 - t) * (1 - 3 * t) * Qx[1]; b2 = 3 * t * (1 - t) * (1 - 3 * t) * Qy[1];
c1 = 3 * t * (2 - 3 * t) * Qx[2]; c2 = 3 * t * (2 - 3 * t) * Qy[2];
d1 = 3 * t * t * Qx[3]; d2 = 3 * t * t * Qy[3];
for (t = 0; t < 1.0; t = t + 0.1)
{
double x = (a1*a1 + b1*b1 + 2 * (a1*c1 + a1*b1 + c1*d1 + b1*c1 + a1*d1 + b1*d1) + c1*c1 + d1*d1 + a2*a2 + b2*b2 + 2 * (a2*c2 + a2*b2 + c2*d2 + b2*c2 + a2*d2 + b2*d2) + c2*c2 + d2*d2);
std::cout << sqrt(x) << std::endl;
}
return 0;
}
P´(t)=-3(1-t)²(1,2)+3t(1-t)(1-3t)(2,3)+3t(2-3t)(3,1)+3t²(5,1)
上の式について0.1から1の範囲でtの値を変化させて|P´(t)|を求めたいです
が値が全くでないです。
どのようにしたらいいですか?
[code]
#include<iostream>
#include<math.h>
double a1, b1, c1, d1, t, a2, b2, c2, d2, x;
int Qx[4] = { 1,2,3,5 };
int Qy[4] = { 2,3,1,1 };
int main()
{
t = 0;
a1 = -3 * (1 - t) * (1 - t) * Qx[0]; a2 = -3 * (1 - t) * (1 - t) * Qy[0];
b1 = 3 * t * (1 - t) * (1 - 3 * t) * Qx[1]; b2 = 3 * t * (1 - t) * (1 - 3 * t) * Qy[1];
c1 = 3 * t * (2 - 3 * t) * Qx[2]; c2 = 3 * t * (2 - 3 * t) * Qy[2];
d1 = 3 * t * t * Qx[3]; d2 = 3 * t * t * Qy[3];
for (t = 0; t < 1.0; t = t + 0.1)
{
double x = (a1*a1 + b1*b1 + 2 * (a1*c1 + a1*b1 + c1*d1 + b1*c1 + a1*d1 + b1*d1) + c1*c1 + d1*d1 + a2*a2 + b2*b2 + 2 * (a2*c2 + a2*b2 + c2*d2 + b2*c2 + a2*d2 + b2*d2) + c2*c2 + d2*d2);
std::cout << sqrt(x) << std::endl;
}
return 0;
}
[/code]