코드 고쳤는데 역시 생각없이 막 갖다쓰기만 하면 안된다.
나는 그냥 두 점을 임의로 늘려서 잇는 거라서 한번 찍을거를 여러번 찍는 거기 때문에
그냥 늘린 수를 나눠 주면 되는건데 돌아다니는 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 |