본문 바로가기

42cursus

fdf 깨달은점 2

코드 고쳤는데 역시 생각없이 막 갖다쓰기만 하면 안된다.

나는 그냥 두 점을 임의로 늘려서 잇는 거라서 한번 찍을거를 여러번 찍는 거기 때문에

그냥 늘린 수를 나눠 주면 되는건데 돌아다니는 mlx 코드는 왜인지? sqrt로 구한 두 점 사이의 거리를 나누길래?ㅋㅋ

아 거리를 반복문에 넣어서 거리 -- 하면서 픽셀을 넣는거였다.

헐 둘다 되는 방법인데 어쩜좋지.. 

아 거리를 나누는 것은.. 늘려진 각 dx dy에 거리를 나누고 거리 횟수만큼 더하면 총 길이는 dx dy가 되니까.. 고로 이것은 거리가 정수라는 조건이 있다.

비율만큼 찍는것은.. 원래는 (1,1), (2,2)인 두 점을 (10,10) (20, 20)을 잇는 것 처럼 보이게 하는것이다.

어차피 정수가 아닌 점은 정수로 변환이 될건데.. 

소름.. 

늘려서 잇는데 그 횟수를 더 늘리면 조금 더 부드러운 선이 나온다.

횟수를 줄이면 점선처럼 보인다. 꼭 늘린 만큼 딱 그만큼만 찍어야 되는 것이 아닌것..!

점에 50을 곱해서 늘리고

거리 나누는 방법으로 하면 40번을 더한다.

늘린 비율에서 1씩 --해서 그리면 당연히 50번을 더한다.

와.. 왜 길이로 해야되는지 변의 길이가 서로 다른 육면체를 그려보고 알았다.

지금 길이가 다 똑같은 정육면체를 그리고 있어서 그냥 다 균일하게 나온거였다. 

50을 곱해서 늘렸다고 다 똑같이 50번 찍으면 길이가 50보다 긴 변은 뚝뚝 끊어지고 짧은 변은 진해진다. 그래서 이상함.

바로 이렇게 이상함.

그리고 길이를 int로 하나 double로 하나 거의 똑같음 점 찍기 전에 반올림 해주면 좀 다를지도 모르겠는데 그냥 넣으면 캐스팅 되면서 소수점 버려진다.

반올림 하는거랑 안하는거 겹쳐서 그려봤는데 모양이 진짜 겹쳐서 봐야 알 정도로만 다른데 그래도 반올림 하는게 오차가 조금 적겠지..?

wow 어쨌든 늘린 비율만큼 찍는건 좋은 생각이 아니란걸 깨닫게 되어서 속이 후련하다~!

임의로 늘려서 잇는건 잇는거고 또 '어떻게' 이을지는 생각을 잘 해봐야 된다는 것!

직선 잇는 알고리듬 많으니까 함 보.... 기싫다 내키면 보도록 하겠음

'42cursus' 카테고리의 다른 글

[minitalk] SIGUSR1 예제  (0) 2022.03.13
[minitalk] sigaction 예제  (0) 2022.03.13
fdf 이상한점..  (0) 2022.01.25
fdf 해야할것 5  (0) 2022.01.24
fdf 깨달은점  (2) 2022.01.23