Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
- struct Tacka3d {
- double x,y,z;
- };
- int jesu_jednaki(double broj1, double broj2, double eps){
- return (fabs(broj1-broj2)<=eps*(broj1+broj2));
- }
- int preklapanje_tacaka(struct Tacka3d A, struct Tacka3d B){
- return (A.x==B.x) && (A.y==B.y) && (A.z==B.z);
- }
- double mjesoviti_proizvod(struct Tacka3d vec1, struct Tacka3d vec2, struct Tacka3d vec3){
- return vec1.x*vec2.y*vec3.z + vec1.y*vec2.z*vec3.x + vec1.z*vec2.x*vec3.y
- -(vec3.x*vec2.y*vec1.z + vec3.y*vec2.z*vec1.x + vec3.z*vec2.x*vec1.y);
- }
- struct Tacka3d daj_vector(struct Tacka3d t1, struct Tacka3d t2){
- return (struct Tacka3d){t2.x-t1.x,t2.y-t1.y,t2.z-t1.z};
- }
- int komplanarne_tacke( struct Tacka3d t1, struct Tacka3d t2, struct Tacka3d t3, struct Tacka3d t4){
- if(preklapanje_tacaka(t1,t2) && preklapanje_tacaka(t1,t3) && preklapanje_tacaka(t1,t4)) return 0;
- if(jesu_jednaki(mjesoviti_proizvod(daj_vector(t1,t2),daj_vector(t1,t3),daj_vector(t1,t4)),0.,0.000001))return 1;
- return -1;
- }
- int main(){
- struct Tacka3d t1={5,1,-5};
- struct Tacka3d t2={0,1,0};
- struct Tacka3d t3={1,0,0};
- struct Tacka3d t4={1,-2,2};
- printf("%d",komplanarne_tacke(t1,t2,t3,t4));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement